Penerapan Versi, Penghapusan dengan MFA, dan Replikasi
Aktifkan penerapan versi untuk melindungi dari penghapusan yang tidak disengaja, konfigurasikan replikasi lintas-Region, dan tambahkan Penghapusan dengan MFA.
Penerapan Versi, Penghapusan dengan MFA, dan Replikasi adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Pembuatan Versi S3: Mengapa Penting
Pembuatan versi S3 memungkinkan Anda mempertahankan, mengambil, dan memulihkan setiap versi dari setiap objek yang disimpan dalam bucket. Saat pembuatan versi diaktifkan, setiap PUT membuat versi baru dengan ID versi yang unik; versi lama dipertahankan, bukan ditimpa. Jika objek dihapus, S3 menambahkan penanda penghapusan sebagai versi saat ini, tetapi tetap menyimpan semua versi sebelumnya. Hal ini melindungi dari penimpaan yang tidak disengaja, penghapusan yang tidak disengaja, dan kerusakan data pada tingkat aplikasi yang tidak diinginkan—skenario kehilangan data yang paling umum dalam produksi.
# Enable versioning on a bucket
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled
# List all versions of an object
aws s3api list-object-versions \
--bucket my-important-bucket \
--prefix my-document.pdfStatus dan Peralihan Pembuatan Versi
Bucket S3 dapat berada dalam salah satu dari tiga status pembuatan versi: Tanpa versi (default, tanpa ID versi), Pembuatan versi diaktifkan (semua objek baru mendapatkan ID versi unik, dan semua penimpaan membuat versi baru), atau Pembuatan versi ditangguhkan (objek baru mendapatkan ID versi null, tetapi versi yang sudah ada tetap dipertahankan). Anda tidak dapat menghapus pembuatan versi setelah diaktifkan—Anda hanya dapat menangguhkannya. Objek yang dibuat sebelum pembuatan versi diaktifkan memiliki ID versi null dan tidak terpengaruh sampai ditimpa atau dihapus.
Memulihkan Versi Sebelumnya
Untuk memulihkan versi objek yang lebih lama dan memiliki versi, Anda memiliki dua opsi. Opsi 1: salin ID versi yang lebih lama kembali ke kunci yang sama—tindakan ini membuat versi baru yang merupakan salinan konten lama dan menjadikannya versi saat ini. Opsi 2: hapus versi saat ini atau penanda penghapusan agar versi sebelumnya menjadi versi saat ini. Saat Anda 'menghapus' objek dalam bucket yang memiliki versi melalui konsol tanpa menentukan ID versi, S3 menambahkan penanda penghapusan—objek tersebut tampak terhapus bagi permintaan tanpa versi, tetapi semua versinya masih ada.
# Restore a specific version by copying it back to the same key
aws s3api copy-object \
--bucket my-important-bucket \
--copy-source 'my-important-bucket/my-document.pdf?versionId=abc123'\
--key my-document.pdfMFA Delete: Perlindungan Tambahan
MFA Delete menambahkan lapisan perlindungan kedua untuk bucket yang memiliki versi. Saat diaktifkan, penghapusan permanen versi tertentu atau perubahan status pembuatan versi (diaktifkan → ditangguhkan) memerlukan kredensial MFA yang valid dalam permintaan API. Hal ini melindungi dari: penyerang yang telah menyusupi kredensial AWS Anda dan menghapus versi penting secara permanen; penghapusan versi objek yang ditetapkan secara tidak sengaja atau otomatis; serta ancaman dari orang dalam yang mencoba menghancurkan jejak audit. MFA Delete hanya dapat diaktifkan dan dinonaktifkan oleh pengguna root melalui CLI.
# Enable MFA Delete (must be done as root user)
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled,MFADelete=Enabled \
--mfa 'arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456'S3 Object Lock
S3 Object Lock menerapkan model tulis-sekali-baca-banyak (WORM) untuk kepatuhan terhadap peraturan. Objek yang dikunci dengan Object Lock tidak dapat dihapus atau ditimpa selama periode retensi yang ditentukan—bahkan oleh pengguna root akun. Terdapat dua mode: Mode tata kelola (pengguna dengan izin khusus dapat mengesampingkan atau menghapus kunci), dan Mode kepatuhan (tidak seorang pun, bahkan AWS, dapat menghapus objek selama periode retensi—perlindungan terkuat). Object Lock harus diaktifkan saat bucket dibuat dan memerlukan pembuatan versi.
# Apply a retention rule to an object
aws s3api put-object-retention \
--bucket my-compliance-bucket \
--key audit-log-2024.csv \
--version-id abc123 \
--retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2027-01-01T00:00:00Z"}'Replikasi Lintas Wilayah S3 (CRR)
Cross-Region Replication (CRR) secara otomatis mereplikasi objek baru dan pembaruan dari bucket sumber di satu Wilayah ke bucket tujuan di Wilayah yang berbeda. Kasus penggunaan: kepatuhan (menyimpan salinan data di negara tertentu), pemulihan bencana (mengurangi RPO untuk data penting dengan menyimpan salinan di Wilayah kedua), dan pengurangan latensi (menyajikan objek dari Wilayah yang paling dekat dengan pengguna). CRR memerlukan pembuatan versi yang diaktifkan pada bucket sumber dan tujuan, serta peran IAM dengan izin replikasi yang diperlukan.
# Apply a replication configuration
aws s3api put-bucket-replication \
--bucket source-bucket-us-east-1 \
--replication-configuration file://replication-config.json
# Config specifies Role ARN, destination bucket ARN, and filter rulesReplikasi Dalam Wilayah yang Sama (SRR)
Same-Region Replication (SRR) mereplikasi objek dalam Wilayah yang sama. Kasus penggunaan: agregasi log (mereplikasi log dari beberapa bucket sumber ke satu bucket pusat), sinkronisasi lingkungan pengujian (menyimpan salinan data produksi dalam bucket pengembangan di Wilayah yang sama), dan kepatuhan terhadap kedaulatan data dalam satu negara yang memiliki beberapa AZ AWS. Seperti CRR, SRR memerlukan pembuatan versi pada kedua bucket dan sebuah peran IAM. Hanya objek baru yang dibuat setelah replikasi diaktifkan yang direplikasi secara otomatis—gunakan S3 Batch Replication untuk mereplikasi objek yang sudah ada.
Replikasi: Apa yang Direplikasi dan Tidak Direplikasi
Replikasi S3 mereplikasi: objek baru, metadata, tag, ACL, dan status enkripsi. Secara default, replikasi tidak mereplikasi: objek yang sudah ada sebelum replikasi diaktifkan (gunakan S3 Batch Replication untuk objek tersebut), penanda penghapusan (kecuali Anda mengaktifkan Delete Marker Replication), objek di Glacier (tidak dapat direplikasi—pulihkan terlebih dahulu), dan objek yang sudah direplikasi (tidak ada replikasi berantai di antara tiga bucket). Memahami batasan ini penting untuk merancang strategi DR yang lengkap, karena data historis dan peristiwa penghapusan juga perlu direplikasi.
S3 Replication Time Control (RTC)
Replication Time Control (RTC) adalah tambahan opsional untuk CRR yang menyediakan Perjanjian Tingkat Layanan: 99,99% objek direplikasi dalam 15 menit, disertai metrik replikasi dan notifikasi di CloudWatch. Tanpa RTC, replikasi tidak memiliki jaminan waktu—sebagian besar objek direplikasi dengan cepat, tetapi beberapa objek dapat memerlukan waktu berjam-jam. RTC sangat penting ketika persyaratan DR atau kepatuhan Anda menentukan Recovery Point Objective (RPO) maksimum untuk data di S3. RTC menambahkan biaya replikasi per GB selain biaya transfer data replikasi standar.
Dampak Pembuatan Versi dan Biaya Penyimpanan
Mengaktifkan pembuatan versi meningkatkan biaya penyimpanan karena S3 mempertahankan setiap versi dari setiap objek hingga dihapus secara eksplisit. Sebuah file berukuran 100 MB yang ditimpa 10 kali kini menggunakan penyimpanan sebesar 1.000 MB. Atasi hal ini dengan aturan siklus hidup yang secara otomatis menghapus versi yang bukan versi terbaru setelah jumlah hari tertentu (misalnya, menghapus versi yang bukan versi terbaru dan berusia lebih dari 30 hari), atau memindahkan versi yang bukan versi terbaru ke kelas penyimpanan yang lebih murah seperti Glacier. Selalu gunakan pembuatan versi bersama aturan siklus hidup untuk mengendalikan biaya penyimpanan di lingkungan produksi.
# Lifecycle rule to expire non-current versions after 30 days
aws s3api put-bucket-lifecycle-configuration \
--bucket my-important-bucket \
--lifecycle-configuration '{"Rules":[{"ID":"expire-old-versions","Status":"Enabled","NoncurrentVersionExpiration":{"NoncurrentDays":30}}]}'Perlindungan terhadap Ransomware
Pembuatan versi S3 yang dipadukan dengan Object Lock (mode Compliance) memberikan perlindungan kuat terhadap ransomware. Jika penyerang mengenkripsi atau menghapus objek Anda, pembuatan versi memastikan versi sebelumnya tetap dipertahankan (kecuali penyerang menghapusnya secara permanen—itulah alasan Object Lock mencegah penghapusan permanen selama periode retensi). Untuk perlindungan maksimal: aktifkan pembuatan versi, aktifkan MFA Delete, terapkan Object Lock dalam mode Compliance untuk data penting, dan replikasi ke Region kedua dengan kredensial IAM terpisah untuk menghilangkan kemungkinan satu akun yang disusupi menghancurkan semua salinan.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa: pembuatan versi mempertahankan semua versi setiap objek dan melindungi dari penghapusan yang tidak disengaja, MFA Delete dan Object Lock memberikan ketidakberubahan tambahan untuk kepatuhan dan perlindungan terhadap ransomware, serta CRR dan SRR mereplikasi objek ke bucket lain untuk memenuhi persyaratan DR dan kepatuhan. Selanjutnya kita akan membahas kelas penyimpanan S3 dan kebijakan siklus hidup untuk mengoptimalkan biaya.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penerapan Versi, Penghapusan dengan MFA, dan Replikasi” gratis?
Ya — teks lengkap “Penerapan Versi, Penghapusan dengan MFA, dan Replikasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penerapan Versi, Penghapusan dengan MFA, dan Replikasi”?
Aktifkan penerapan versi untuk melindungi dari penghapusan yang tidak disengaja, konfigurasikan replikasi lintas-Region, dan tambahkan Penghapusan dengan MFA. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?
Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Penerapan Versi, Penghapusan dengan MFA, dan Replikasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Bucket, Objek, dan Region
- Kontrol Akses S3: Kebijakan Bucket dan ACL
- Penerapan Versi, Penghapusan dengan MFA, dan Replikasi
- Kelas Penyimpanan dan Kebijakan Siklus Hidup