Kursus
Penyimpanan data yang efektif merupakan komponen kritis bagi keberhasilan operasional bisnis di semua sektor. Semakin banyak data yang dikumpulkan, semakin penting kebutuhan akan solusi penyimpanan yang dapat diskalakan, andal, dan hemat biaya.
Memilih penyimpanan data yang tepat bisa menantang karena banyaknya opsi, baik di cloud maupun on-premises, masing-masing dengan kelebihan dan keterbatasannya.
Artikel ini tidak bermaksud membahas semua opsi yang mungkin, melainkan berfokus pada layanan yang dapat diskalakan, andal, dan hemat biaya: Amazon Simple Storage Service (Amazon S3) dan Amazon Elastic File System (EFS).
Kita akan mulai dengan menjelaskan mengapa bisnis perlu mengadopsi layanan penyimpanan dan dilanjutkan dengan dasar-dasar layanan penyimpanan. Setelah itu, kami memberikan panduan untuk mengintegrasikan layanan penyimpanan ke dalam proses operasional. Bagian terakhir merupakan pembahasan mendalam tentang konsep lanjutan, khususnya terkait optimasi kinerja dan biaya.
Jika Anda mencari sumber pengantar yang komprehensif mengenai Amazon Web Services (AWS), lihat kursus Introduction to AWS ini.
Mengapa AWS untuk Penyimpanan File?
Dengan banyaknya opsi penyimpanan di luar sana, penting untuk menjelaskan alasan mengapa bisnis sebaiknya menggunakan AWS untuk penyimpanan file, dan itulah tujuan bagian ini.
Kita mulai dengan melakukan analisis perbandingan antara layanan penyimpanan AWS dan layanan tradisional, beserta contoh singkat penerapan di dunia nyata. Harapannya, ini memperkuat relevansi AWS S3 dan EFS dalam berbagai skenario.
Membandingkan opsi penyimpanan
Layanan penyimpanan tradisional dan layanan penyimpanan AWS menawarkan serangkaian fitur dan manfaat yang berbeda. Kami melakukan analisis perbandingan pada tabel di bawah:
|
Fitur |
Penyimpanan tradisional |
AWS S3 & EFS |
|
Biaya |
Belanja modal untuk perangkat keras dan biaya berkelanjutan untuk pemeliharaan—dapat tidak terduga seiring waktu. |
Model harga pay-as-you-go mengurangi biaya awal dan membantu pengelolaan biaya yang lebih baik berdasarkan penggunaan. |
|
Kepatuhan |
Dicapai melalui kontrol internal dan audit, serta mungkin memerlukan sumber daya tambahan untuk mempertahankan standar. |
AWS mematuhi berbagai standar industri seperti HIPAA dan GDPR, sehingga menyederhanakan kepatuhan pengguna. |
|
Aksesibilitas data |
Utamanya diakses dari lokasi atau jaringan tertentu. Akses jarak jauh bisa kurang aman dan lebih kompleks. |
Dapat diakses secara global melalui internet, dengan ketersediaan tinggi dan redundansi data. |
|
Keawetan data |
Rentan terhadap kerusakan fisik, pencurian, atau bencana alam. |
Menawarkan keawetan 99.99999999999% (11 nine) dengan mereplikasi data secara otomatis di beberapa Availability Zone. |
|
Pengelolaan & pemeliharaan |
Memerlukan tim khusus untuk pemeliharaan perangkat keras, pembaruan perangkat lunak, dan pemecahan masalah. |
Ditangani oleh AWS. Ini mengurangi beban administrasi pada pengguna. |
|
Kinerja |
Tergantung pada perangkat keras dan infrastruktur jaringan tertentu. Pembaruan juga bisa mahal. |
Menyediakan opsi kinerja yang dapat dikustomisasi. S3 menyediakan kelas penyimpanan dan fitur akselerasi, sementara EFS mendukung beban kerja bursting dan model throughput. |
|
Skalabilitas |
Dibatasi oleh infrastruktur fisik dan memerlukan intervensi manual untuk melakukan skala. |
Sangat dapat diskalakan, memungkinkan penyesuaian penyimpanan dengan mudah tanpa provisi di awal. |
|
Keamanan |
Bergantung pada langkah-langkah keamanan lokal. Ini memerlukan upaya signifikan untuk memastikan keamanan data dan kepatuhan. |
Menawarkan kontrol keamanan yang komprehensif, termasuk enkripsi data (saat disimpan dan saat transit), manajemen akses, dan sertifikasi kepatuhan. |
Baik S3 maupun EFS memiliki spektrum aplikasi yang luas di berbagai industri. Di bawah ini beberapa contoh kasus penggunaan nyata untuk kedua layanan tersebut, menyoroti relevansi dan kegunaannya dalam berbagai skenario.
Kasus penggunaan Amazon S3
Mari terlebih dahulu meninjau kasus penggunaan Amazon Simple Storage Service (S3):
- Hosting situs web: S3 meng-host situs web statis seperti blog, situs pemasaran, dan portofolio. Jangkauan global dan keawetan tinggi memastikan konten situs web disajikan dengan cepat dan andal di seluruh dunia.
- Cadangan dan pemulihan bencana: S3 dapat digunakan untuk pencadangan, pengarsipan data, dan pemulihan bencana karena keawetan dan ketersediaannya yang tinggi.
- Data lake untuk analitik: Perusahaan dapat mengagregasikan sejumlah besar data terstruktur dan tidak terstruktur menggunakan S3 untuk analitik big data.
- Distribusi dan penyampaian konten: Perusahaan media menggunakan S3 untuk menyimpan dan mendistribusikan file video, audio, dan gambar berukuran besar untuk tujuan analitik lebih lanjut. Saat digunakan bersama CloudFront dan layanan Content Delivery Network, S3 dapat menyajikan konten ke pengguna secara efisien dengan latensi rendah.
Kasus penggunaan EFS
Sekarang mari tinjau kasus penggunaan Amazon Elastic File System (EFS):
- Penyimpanan file bersama untuk instance EC2: EFS berfungsi sebagai penyimpanan file yang sangat tersedia dan dapat diskalakan untuk instance EC2. Aplikasi yang berjalan di beberapa instance dapat berbagi data melalui EFS, ideal untuk beban kerja yang memerlukan fitur sistem file seperti penyimpanan hierarkis, navigasi direktori, dan penguncian file.
- Penyimpanan untuk kontainer: EFS dapat digunakan dengan aplikasi berbasis kontainer, termasuk yang diorkestrasi oleh Amazon ECS dan Kubernetes di AWS. EFS menawarkan lapisan penyimpanan persisten untuk kontainer, sehingga data tetap ada melampaui masa hidup satu instance kontainer.
- Big data dan analitik: EFS sesuai untuk aplikasi Big Data Analytics yang memerlukan penyimpanan file bersama. EFS dapat mendukung beban kerja analitik kompleks dengan menyediakan throughput, IOPS, dan latensi rendah yang diperlukan untuk memproses dataset besar.
Dasar-dasar Penyimpanan AWS
Dengan semua wawasan tentang layanan penyimpanan S3 dan EFS ini, penting untuk mengetahui kapan harus menggunakan layanan yang mana, dan itulah tujuan bagian ini. Kita akan memperkenalkan penyimpanan blok, file, dan objek, lalu membahas perbandingan S3 dan EFS.
Pengantar penyimpanan blok, file, dan objek
Penyimpanan blok, penyimpanan file, dan penyimpanan objek adalah tiga jenis sistem penyimpanan data yang mendasar. Masing-masing melayani tujuan berbeda dalam komputasi awan dan manajemen data.
Penyimpanan blok
Penyimpanan blok membagi data menjadi blok-blok, masing-masing dengan pengenal unik, sehingga memungkinkan pengelolaan data yang fleksibel dan efisien. Amazon Elastic Block Store (EBS) dan Instance Store Volumes adalah contoh penyimpanan blok di ekosistem AWS.
Instance Store menyediakan penyimpanan sementara yang terpasang langsung ke komputer host, ideal untuk data sementara. Sebaliknya, EBS menawarkan penyimpanan tingkat blok yang persisten, cocok untuk database, aplikasi, dan sistem file yang memerlukan daya tahan serta pencadangan inkremental melalui snapshot.
Penyimpanan file
Penyimpanan file mengatur data ke dalam struktur hierarkis berupa file dan folder, mirip sistem file tradisional pada komputer. Metode intuitif ini menyederhanakan akses dan pengelolaan data di berbagai aplikasi dan layanan.
Amazon Elastic File System (EFS) adalah contoh penyimpanan file di cloud. EFS menyediakan sistem file bersama yang secara otomatis diskalakan dan mendukung akses simultan dari banyak instance.
EFS sangat bermanfaat untuk aplikasi yang memerlukan akses bersama ke file atau untuk menyajikan konten yang perlu diakses dan diedit oleh beberapa pengguna atau sistem.
Penyimpanan objek
Penyimpanan objek, seperti Amazon S3, dirancang untuk menyimpan sejumlah besar data tidak terstruktur. Berbeda dengan penyimpanan blok dan file, penyimpanan objek mengelola data sebagai objek di dalam bucket.
Setiap objek mencakup data, metadata, dan pengenal unik, yang memungkinkan pengambilan dan pengelolaan data secara efisien pada skala apa pun. S3 serbaguna, mendukung berbagai kasus penggunaan mulai dari hosting situs web statis hingga pengarsipan data dengan berbagai kelas penyimpanan seperti Standard, Standard-Infrequent Access (IA), Glacier Flexible Retrieval, dan Glacier Deep Archive.
S3 vs. EFS
Memilih antara Amazon S3 dan Amazon Elastic File System (EFS) bergantung pada kebutuhan spesifik aplikasi atau beban kerja Anda. Mari lihat perbedaan masing-masing:
|
Fitur |
Amazon S3 |
Amazon EFS |
|
Jenis data |
Data tidak terstruktur seperti gambar, video, log, dan cadangan. |
File bersama yang perlu diakses beberapa instance EC2 secara bersamaan. |
|
Skala penyimpanan |
Dirancang untuk jumlah data yang sangat besar, dapat diskalakan hingga exabyte. |
Berskala otomatis sesuai kebutuhan penyimpanan Anda tanpa intervensi manual. |
|
Pola akses |
Ideal untuk data dengan pola akses bervariasi, dari sering diakses hingga arsip. |
Cocok untuk data yang memerlukan akses konsisten dan simultan oleh banyak aplikasi. |
|
Integrasi |
Terintegrasi dengan layanan AWS untuk pemrosesan data, analitik, dan penyampaian konten. |
Mendukung aplikasi yang memerlukan antarmuka sistem file tradisional. |
|
Kelas penyimpanan |
Banyak kelas penyimpanan. |
Tidak berlaku. |
|
Pertimbangan biaya |
Biaya penyimpanan bervariasi menurut kelas, dengan opsi akses tidak sering untuk mengurangi biaya. |
Biaya berdasarkan kapasitas penyimpanan yang digunakan tanpa biaya di muka dan penskalaan otomatis. |
|
Skalabilitas dan fleksibilitas |
Sangat dapat diskalakan untuk kapasitas penyimpanan dan kinerja. |
Fleksibilitas dalam penskalaan tanpa perlu memprovisikan penyimpanan, mudah menangani lonjakan beban. |
Mulai Menggunakan Amazon S3
Sekarang kita sudah memahami konsep penyimpanan file dengan lebih baik, saatnya praktik dengan implementasi teknis.
Bagian ini membahas proses pengelolaan data dengan Amazon S3. Secara khusus, kita akan belajar cara membuat bucket untuk penyimpanan, mengatur data ke dalam folder, mengunggah file, menyesuaikan izin untuk akses publik bila diperlukan, menerapkan metadata untuk pengelolaan, dan akhirnya menghapus bucket beserta isinya untuk membersihkan sumber daya dan menghindari biaya tambahan.
Prasyarat utama untuk menyelesaikan bagian ini adalah memiliki akun AWS, yang dapat dibuat dari situs web AWS.
Membuat bucket
Titik awal bagian ini adalah Amazon Web Services Management Console, seperti ditunjukkan di bawah:

Konsol ini membantu mengelola semua sumber daya AWS, mulai dari instance komputasi seperti EC2 hingga layanan antrian pesan seperti SQS, termasuk manajemen keamanan.
Setelah berada di konsol, langkah pertama adalah membuat instance S3. Ini dapat dilakukan dengan langkah-langkah berikut (Anda dapat mengikuti nomor pada gambar di bawah):

Sekarang kita lanjutkan dengan beberapa langkah lagi:

Mari tambahkan beberapa catatan pada beberapa langkah yang telah kita lakukan:
- Langkah 4: Kita membuat bucket di wilayah US East (Ohio) us-east-2.
- Langkah 5: Nama bucket bersifat unik secara global, jadi penting untuk memilih nama yang belum digunakan. Dengan begitu, tidak ada orang lain, di mana pun lokasinya, yang dapat membuat bucket dengan nama yang sama.
- Langkah 6: Opsi ACLs enabled memungkinkan kita mengatur izin terperinci tentang siapa yang dapat mengakses file di bucket dan apa yang dapat mereka lakukan. Ini bermanfaat untuk mengelola akses pada tingkat file individual. Opsi ACLs disabled tidak memberi kemungkinan untuk mengatur izin pada file individual.
- Langkah 8: Opsi Bucket owner preferred memastikan kita memiliki semua file yang diunggah ke bucket, siapa pun pengunggahnya. Ini memudahkan pengelolaan izin dan akses.
Mari buat bucket dengan tiga langkah lagi:


Mengunggah data ke dalam bucket
Setelah membuat bucket, kita dapat melihat detailnya di bawah. Bucket adalah kontainer yang dapat menampung sumber daya. Mengunggah sumber daya dimulai dengan membuat folder. Mari mulai dengan dua langkah ini:

Sekarang mari buat foldernya:

Perhatikan bahwa folder telah dibuat!

Sekarang saatnya mengunggah data ke dalam folder. Mari coba mengunggah sebuah gambar:

Kita berhasil mengunggah gambar!

Mengonfigurasi kontrol akses
Secara default, semua file yang diunggah ke bucket bersifat privat dan dimiliki oleh pembuatnya, dan hanya pemilik yang dapat melihat, mengedit, atau mengunduhnya. Namun, kita mungkin perlu mengonfigurasi bucket agar siapa pun bisa mengakses file—ini berguna saat semua orang perlu melihat foto di situs web.
Kita dapat melakukan konfigurasi ini dengan mengizinkan semua akses publik ke gambar. Seharusnya ini memungkinkan kita mengakses URL Objek dengan akses publik, namun sayangnya, kita mendapatkan pesan Access Denied.

Untuk memperbaikinya, kita perlu menavigasi ke tab Permissions pada tingkat bucket dan mengedit Bucket Policy:
Sekarang mari edit pernyataannya:
Kini setelah kita melakukan perubahan ini, gambar akhirnya ditampilkan!

Logo AWS setelah konfigurasi kontrol akses
Pengenalan Amazon EFS
Bagian ini membahas pembuatan sistem file EFS, dengan penekanan pada pengaturan kinerja dan keamanan.
Membuat security group
Pertama, kita membuat security group dengan memilih opsi “Security Groups” di bawah tab Security pada banner kiri.

Lalu, kita:
- Pilih Create security group.
- Gunakan nama yang bermakna—MyDataCampEFSGroup dalam kasus kita.
- Tulis deskripsi singkat untuk security group.
- Biarkan VPC pada nilai default.

Kita tidak menambahkan inbound rules apa pun:

Jenis Outbound rule 1 harus All traffic:

Setelah selesai dengan konfigurasi, kita dapat mengeklik tombol Create security group.

Security group yang baru dibuat ditampilkan di bagian Security Groups.

Menyiapkan sistem file EFS pertama Anda
Selanjutnya, kita membuat sistem file EFS. Kita mulai dengan mencari dan memilih EFS:

Sekarang klik Create file system.

Kita menggunakan nama yang bermakna, biarkan bagian VPC apa adanya, lalu klik Customize.

Untuk mengakses halaman konfigurasi jaringan, klik Next.

Sekarang kita isi bagian security group di setiap availability zone dengan MyDataCampEFSGroup.

Setelah selesai, klik Next lagi.

Langkah terakhir memungkinkan kita meninjau seluruh konfigurasi. Setelah puas, klik Create.

Jika semua berhasil dieksekusi, kita akan melihat sistem file EFS yang baru dibuat di tab File systems.

Membuat instance EC2
Langkah berikutnya adalah membuat instance EC2, yang menyediakan lingkungan komputasi yang diperlukan untuk EFS dan secara bersamaan mengakses data yang sama.
Mari kita lakukan selangkah demi selangkah! Kita mulai dengan memilih instance EC2 dari konsol. Lalu, klik Launch instance. Kita akan memilih Amazon Linux 2, yang memenuhi syarat untuk free tier.

Sekarang kita membuat key pair untuk terhubung ke instance dengan aman. Key pair yang kita buat di bagian ini berekstensi .pem dengan nama efs_ec2_key_pair. File ini kemudian diunduh dan disimpan secara lokal untuk digunakan selanjutnya.

Kapasitas penyimpanan default adalah 8GiB, yang cukup untuk skenario kita, dan jumlah instance ditingkatkan menjadi 3. Langkah terakhir adalah meluncurkan instance dengan mengeklik tombol Launch instance, dan hasil akhirnya menampilkan instance yang baru dibuat.

Sebelum melanjutkan, mari pastikan kita bisa terhubung ke instance. Kita akan menggunakan perintah SSH (Secure Shell) berikut:
ssh -i [path_to_the_key] ec2-user@[Public IPv4 address]
Mari uraikan perintah ini langkah demi langkah:
ssh: Perintah untuk memulai koneksi SSH.-i [path_to_the_key]: Opsi untuk menentukan path ke file kunci SSH privat kita, yang diperlukan untuk autentikasi pada server jarak jauh.ec2-user: Nama pengguna default untuk instance Linux EC2. Kita dapat menggunakan nama pengguna lain jika dikonfigurasi.@: Simbol yang memisahkan nama pengguna dari alamat server.[Public IPv4 address]: Alamat IP publik instance EC2 kita. Alamat ini dapat ditemukan di AWS Management Console.
Mari lihat hasil koneksi ke masing-masing instance melalui SSH.
Hasil koneksi SSH untuk instance pertama.

Hasil koneksi SSH untuk instance kedua.

Hasil koneksi SSH untuk instance ketiga.
Mengonfigurasi EFS
Langkah terakhir ini memungkinkan proses mounting untuk instance EC2 yang dibuat di atas. Kita dapat melakukannya dari antarmuka umum EFS.
Demi kesederhanaan, proses mounting ditunjukkan hanya untuk satu instance, namun pendekatan yang sama berlaku untuk instance lainnya.
Kita mulai dengan memasang EFS mount helper pada setiap instance menggunakan perintah berikut:
sudo yum install -y amazon-efs-utils

Pemasangan utilitas Amazon EFS—log jejak.
Selanjutnya, kita membuat folder efs di root instance menggunakan sudo, pastikan menggunakan folder yang sama di semua instance.
sudo mkdir /efs

Setelah berhasil membuat folder, langkah berikutnya adalah melakukan mount. ID sistem file adalah ID EFS yang kita buat di bagian EFS, dan kita menggunakannya di dalam perintah sudo mount -t efs [file system ID]:/ /efs:
sudo mount -t efs fs-088faeea6372efa83:/ /efs

Timeout ini terjadi karena security group yang terpasang pada sistem EFS yang kita buat tidak mengizinkan trafik masuk apa pun dari instance EC2 kita. Kita dapat memperbaikinya dengan mengaktifkan security group untuk menerima koneksi masuk ini:

Sekarang kita membuat inbound rule baru:

Opsi yang lebih aman adalah membuat security group terpisah untuk instance EC2, dan hanya mengizinkan koneksi dari security group tersebut. Konfigurasi itu berada di luar cakupan artikel ini.
Setelah berhasil menyelesaikan proses ini pada setiap instance EC2, sistem EFS dapat menerima koneksi dari mana saja (termasuk instance EC2 kita). Kali ini kita tidak mendapatkan timeout:

Untuk memastikan proses mounting berhasil, kita harus dapat:
- Membuat folder di dalam folder efs bersama dari salah satu instance EC2
- Mengakses folder tersebut dari instance EC2 lainnya.
Ilustrasi di bawah menunjukkan bagaimana folder my_DataCamp_data dibuat dari instance EC2 pertama, beserta file README.txt. File README yang sama dapat dilihat di seluruh instance EC2 lainnya.

Berbagi file EFS.
Berkat kekuatan konfigurasi sistem EFS, file yang dibuat oleh satu instance dapat diakses oleh instance lainnya.
Untuk mendapatkan gambaran yang lebih luas tentang ekosistem AWS, lihat kursus AWS Cloud Technology and Services ini.
Strategi Penyimpanan Lanjutan
Strategi penyimpanan yang efektif penting untuk mengelola data secara efisien. Dua aspek kunci strategi ini adalah optimasi kinerja dan optimasi biaya.
Strategi ini sangat relevan untuk Amazon Simple Storage Service (S3) dan Elastic File System (EFS).
Optimasi kinerja di S3 dan EFS melibatkan pemilihan kelas penyimpanan dan mode throughput yang sesuai untuk meningkatkan kecepatan dan efisiensi.
Optimasi biaya melibatkan penggunaan tingkat penyimpanan yang berbeda berdasarkan frekuensi akses data dan memanfaatkan alat pemantauan AWS untuk manajemen biaya. Strategi ini membantu pengelolaan data yang efisien dan pengurangan biaya dalam penyimpanan cloud.
Kesimpulan
Selamat telah mencapai sejauh ini! Kami berharap pembahasan mendalam ini membekali Anda untuk mulai menggunakan penyimpanan AWS.
Salah satu cara efektif menguasai layanan AWS adalah menerapkannya pada skenario dunia nyata—bukan hanya secara terpisah namun juga dengan mengombinasikan beberapa layanan. Jika latihan semacam itu terdengar menarik bagi Anda, lihat kursus Streaming Data with AWS Kinesis and Lambda ini.
Jika Anda ingin berkarier di bidang AWS, pastikan untuk melihat sertifikasi AWS pada 2024 yang relevan. Selain itu, akan sangat membantu untuk mempelajari pertanyaan dan jawaban wawancara AWS teratas.
Seorang data scientist serbabisa yang senang berbagi pengetahuan dan memberi dampak bagi orang lain, Zoumana adalah pembuat konten di YouTube dan penulis teknologi teratas di Medium. Ia menikmati berbicara di depan umum, ngoding, dan mengajar. Zoumana meraih dua gelar magister: yang pertama di bidang ilmu komputer dengan fokus Machine Learning di Paris, Prancis, dan yang kedua di bidang Data Science dari Texas Tech University di AS. Kariernya dimulai sebagai Pengembang Perangkat Lunak di Groupe OPEN, Prancis, lalu bergabung dengan IBM sebagai Konsultan Machine Learning, di mana ia mengembangkan solusi AI end-to-end untuk perusahaan asuransi. Zoumana kemudian bergabung dengan Axionable, startup AI Berkelanjutan pertama yang berbasis di Paris dan Montreal. Di sana, ia berperan sebagai Data Scientist dan mengimplementasikan produk AI, terutama use case NLP, untuk klien dari Prancis, Montreal, Singapura, dan Swiss. Selain itu, 5% dari waktunya didedikasikan untuk Riset dan Pengembangan. Saat ini, ia bekerja sebagai Senior Data Scientist di IFC - World Bank Group.

