Hai!

Pada jurnal ini saya ingin membahas mengenai salah satu layanan dari AWS yang tergolong layanan lama. Yup. AWS S3 yang merupakan akronim dari Simple Storage Service.

AWS S3 merupakan layanan object storage yang digunakan untuk menyimpan file non-relational dan tidak berubah (sudah ter-encoded) berupa audio, video, gambar, dan lain-lain. Jadi kita tidak bisa menyimpan data seperti dari database karena ia relasional dan sangat cepat berubah.

AWS S3 merupakan layanan yang secure, durable, highly scalable object storage. Secure atau aman karena sudah secara default ter-enkripsi oleh AWS serta memiliki durabilitas dan skalabilitas yang tinggi. Penggunaanya sangat mudah dan dapat diakses darimana saja.

Object storage ini kebalikan dari block storage, dimana block storage digunakan untuk instalasi sistem operasi, sedangkan object storage digunakan untuk menyimpan file.

Kita tidak perlu menginstall dan hanya perlu menggunakan saja karena sudah ter-manaje oleh AWS. Penyimpanan unlimited dimana setiap file, ukuran maksimalnya adalah 5TB.

Banyak kemudahan dari AWS S3 yang bisa didapatkan, berdasarkan dokumentasinya di https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html , kelebihannya berupa:

  • Membuat bucket, dimana bucket ini ibarat folder yang digunakan untuk menyimpan file-file kita.
  • Menyimpan data
  • Mengunduh data
  • Pengaturan hak akses, jadi tidak semua orang bisa mengakses data kita. Hanya yang diperbolehkan saja.
  • Antarmuka standar, ini menggunakan REST dan SOAP yang dapat digunakan di semua internet-development toolkit.

Oke, mari kita lanjutkan untuk labnya, agar kita mendapatkan sedikit gambaran bagaimana cara menggunakan layanan AWS S3. Bisa dipraktikkan di akun AWS masing-masing ya!

Pertama, buka console AWS di https://console.aws.amazon.com/. Tampilannya seperti di bawah ini. Bisa search di kolom pencarian, ketik AWS S3 atau klik menu Services di samping logo AWS.

Scroll down, dan pada menu Storage, pilih S3.

Berikut ini tampilan dari dashboard AWS S3. Fitur-fitur/apa saja yang bisa kita lakukan berada di samping kiri dashboard. Terlihat saya belum memiliki bucket, jadi untuk membuatnya klik Create Bucket.

Isikan nama bucket. Ingat ya, nama bucket harus unik. Jadi di dunia hanya ada satu, dan tidak boleh sama:). Pilih AWS Region, misal saya di us-east-1.

Lalu scroll ke bawah. Uncheck bagian Block all public access, dan centang I acknowledge xxxx. Dalam lab ini, saya ingin agar file yang saya upload (saya akan upload gambar) dapat diakses oleh siapapun (public).

Scroll kebawah. Untuk bucket versioning biarkan default (akan dibahas di jurnal lain), tambahkan tags, misal Department – Operational, dan Default encryption saya biarkan default. Untuk enkripsi, secara default sudah diberikan oleh AWS, tapi untuk data yang butuh keamanan lebih biasanya ditambahkan enkripsi sendiri.

Untuk advanced setting, biarkan default. Lalu klik Create bucket.

Tunggu beberapa saat, dan bucket akan berhasil terbuat. Seperti di bawah ini.

Klik nama bucket untuk melihat detailnya. Disana ada tab Object (akan menampilkan data yang sudah kita upload), Properties (berisikan pengaturan terkait bucket kita), Permissions (berisikan pengaturan hak akses), Metrics, Management, dan Access Points.

Untuk mengunggah file, klik Upload.

Drag-drop file, atau upload file dengan klik Add files. Disini saya mengupload dua gambar ya. Scroll down, dan klik Upload.

Akan muncul notifikasi bahwa gambar kita berhasil diupload seperti di bawah ini.

Saya coba klik gambar google-eart-view-14004.jpg, dan klik Object URL untuk melihat gambar secara dari browser.

Dan munculnya adalah AccessDenied. Mengapa? karena pengaturan block all public acces yang kita uncheck saat membuat bucket hanya akan membuat file-file didalamnya dapat dibuat public, jadi belum public.

Untuk membuat public, kembali ke detail gambar, klik Object actions > Make public

Lalu akan diarahkan ke tampilan seperti di bawah ini, klik Make public.

Akan muncul notifikasi Make public status berhasil.

Lalu coba refresh gambar. Maka gambar akan berhasil terlihat.

Selain menggunakan cara di atas. Kita bisa menggunakan cara lain.

Saya coba buka gambar kedua dengan nama google-earth-view-6079.jpg lalu masuk ke tab Permissions.

Disana kita bisa mengatur hak akses siapa saja yang dapat mengakses bucket dan file-file yang kita upload. Klik Edit.

Centang Read pada bagian Everyone untuk Objects.

Scroll down dan centang I understand xxxxx. Lalu klik Save changes.

Akan muncul notifikasi bahwa perubahan yang kita lakukan berhasil. Lalu coba klik Object URL.

Hasilnya gambar juga akan berhasil diakses melalui browser.

Okay. Di atas merupakan penjelasan sedikit mengenai pengaturan files. Selanjutnya kita akan coba mengubah storage class.

Layanan AWS S3 menawarkan berbagai storage class atau kelas penyimpanan yang mana dapat disesuaikan dengan penggunaan. Tiga kelas penyimpanan utama adal AWS S3 Standard untuk penyimpanan umum dari data yang sering diakses, AWS S3 Standard-IA untuk data yang berumur panjang tetapi jarang diakses, dan AW S3 Glacier untuk arsip jangka panjang.

Lebih lengkapnya ada di tabel berikut:

Storage classDesigned forDurability (designed for)Availability (designed for)Availability ZonesMin storage durationMin billable object sizeOther considerations
S3 StandardFrequently accessed data99.999999999%99.99%>= 3NoneNoneNone
S3 Standard-IALong-lived, infrequently accessed data99.999999999%99.9%>= 330 days128 KBPer GB retrieval fees apply.
S3 Intelligent-TieringLong-lived data with changing or unknown access patterns99.999999999%99.9%>= 330 daysNoneMonitoring and automation fees per object apply. No retrieval fees.
S3 One Zone-IALong-lived, infrequently accessed, non-critical data99.999999999%99.5%130 days128 KBPer GB retrieval fees apply. Not resilient to the loss of the Availability Zone.
S3 GlacierLong-term data archiving with retrieval times ranging from minutes to hours99.999999999%99.99% (after you restore objects)>= 390 days40 KBPer GB retrieval fees apply. You must first restore archived objects before you can access them. For information, see Restoring an archived object.
S3 Glacier Deep ArchiveArchiving rarely accessed data with a default retrieval time of 12 hours99.999999999%99.99% (after you restore objects)>= 3180 days40 KBPer GB retrieval fees apply. You must first restore archived objects before you can access them. For information, see Restoring an archived object.
RRS (not recommended)Frequently accessed, non-critical data99.99%99.99%>= 3NoneNoneNone

Sumber: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html.

Secara default, storage class dari bucket dan file yang kita upload kita adalah S3 Standard. Untuk mengubah storage class nya salah satu object, coba klik file nya.

Klik Object Actions > Edit Storage class.

Atau bagian properties dari file ini bisa scroll down, bagian Storage clas, klik Edit.

Pilih tipe storage class barunya. Misal One Zone-IA. Lalu klik Save changes.

Notifikasinya akan muncul yang menandakan storage class dari object berhasil diubah.

Bisa verifikasi di bagian Properties object ya. Harusnya sudah berubah.

Okay. Pembahasan ketiga sekaligus terakhir dalam jurnal ini adalah fitur Transfer Acceleration pada AWS S3. Apa itu? pada dasarnya memungkinkan kita untuk transfer file yang mudah, aman, dan lebih cepat di AWS S3.

Bisa lebih cepat karena fitur transfer acceleration memanfaatkan layanan AWS CloudFront yang terdistribusi secara global. Sederhananya, misal kita berada di Indonesia dan bucket berada di us-east-1.

Dengan penggunaan transfer acceleration, kita tidak langsung mengunggah/mendownload file ke us-east-1 dari Indonesia. Tapi melalui edge-location, misal berada di Singapura.

Jadi alurnya adalah kita upload file dari Indonesia ke edge-location Singapura > lalu dari edge-location file akan diteruskan ke us-east-1 melalui backbone network AWS, yang menjadikannya lebih cepat.

Bagaimana cara mengkonfigurasinya? masuk ke bucket yang telah dibuat sebelumnya. Klik Properties.

Scroll down hingga sampai Transfer acceleration, klik Edit.

Enable dan klik Save changes.

Muncul notifikasi bahwa fitur transfer acceleration telah diaktifkan.

Sekian!