Snapshot, Enkripsi, dan RAID EBS
Buat dan otomatisasikan snapshot EBS untuk pencadangan pada titik waktu tertentu, enkripsikan volume dengan KMS, lalu pahami perbedaan RAID 0 dan RAID 1 pada EC2.
Snapshot, Enkripsi, dan RAID EBS adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 2 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.
Snapshot EBS: Cadangan pada Titik Waktu Tertentu
Snapshot EBS adalah cadangan volume EBS pada titik waktu tertentu yang disimpan secara tahan lama di Amazon S3 (meskipun dikelola oleh EBS, snapshot tidak dapat diakses langsung melalui konsol S3). Snapshot pertama merupakan salinan penuh; snapshot berikutnya bersifat inkremental — hanya blok yang berubah sejak snapshot terakhir yang disimpan. Meskipun penyimpanannya inkremental, Anda dapat memulihkan setiap snapshot tunggal menjadi volume penuh. Snapshot adalah mekanisme utama untuk pencadangan, migrasi, dan pemulihan bencana volume EBS.
# Create a snapshot of an EBS volume with a description
aws ec2 create-snapshot \
--volume-id vol-0abc1234def567890 \
--description 'Production DB backup 2024-01-01' \
--tag-specifications 'ResourceType=snapshot,Tags=[{Key=Environment,Value=Production},{Key=Backup,Value=Daily}]'
# Monitor snapshot completion
aws ec2 describe-snapshots \
--snapshot-ids snap-0abc1234def567890 \
--query 'Snapshots[].{State:State,Progress:Progress}'Biaya dan Siklus Hidup Snapshot
Anda ditagih berdasarkan penyimpanan aktual yang digunakan oleh blok snapshot inkremental di seluruh snapshot suatu volume — bukan berdasarkan ukuran volume. Jika Anda menghapus snapshot perantara, S3 mengonsolidasikan data sehingga snapshot yang tersisa tetap menjadi titik pemulihan lengkap. Untuk mengelola biaya dalam skala besar, gunakan Amazon Data Lifecycle Manager (DLM) untuk membuat jadwal snapshot dan kebijakan retensi — misalnya, buat snapshot harian, pertahankan 7 snapshot harian terakhir + 4 mingguan + 12 bulanan, lalu hapus snapshot yang lebih lama secara otomatis.
# Create a DLM lifecycle policy for daily snapshots with 7-day retention
aws dlm create-lifecycle-policy \
--description 'Daily DB snapshots' \
--state ENABLED \
--execution-role-arn arn:aws:iam::111122223333:role/AWSDataLifecycleManagerDefaultRole \
--policy-details '{
"PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
"ResourceTypes": ["VOLUME"],
"TargetTags": [{"Key": "Backup", "Value": "Daily"}],
"Schedules": [{
"Name": "DailySnapshots",
"CreateRule": {"Interval": 24, "IntervalUnit": "HOURS", "Times": ["03:00"]},
"RetainRule": {"Count": 7}
}]
}'Salinan Snapshot Lintas-Region dan Lintas-Akun
Snapshot dapat disalin lintas Region untuk pemulihan bencana dan distribusi geografis. Anda juga dapat membagikan snapshot dengan akun AWS tertentu (atau menjadikannya publik) untuk memindahkan data EBS lintas akun tanpa menggunakan jaringan. Saat menyalin snapshot, Anda dapat mengubah kunci enkripsi — begitulah cara memindahkan data dari volume yang tidak terenkripsi ke volume terenkripsi, atau dari kunci di satu akun ke kunci di akun lain.
# Copy a snapshot to another region with a new KMS key
aws ec2 copy-snapshot \
--source-region us-east-1 \
--source-snapshot-id snap-0abc1234def567890 \
--destination-region eu-west-1 \
--description 'DR copy' \
--encrypted \
--kms-key-id arn:aws:kms:eu-west-1:111122223333:key/KEY_ID \
--region eu-west-1
# Share a snapshot with another account
aws ec2 modify-snapshot-attribute \
--snapshot-id snap-0abc1234def567890 \
--attribute createVolumePermission \
--operation-type add \
--user-ids '999888777666'Memulihkan Volume dari Snapshot
Membuat volume dari snapshot sangat mudah, tetapi ada pertimbangan performa: volume yang dipulihkan dari snapshot memulai dengan semua blok tersimpan di S3 dan dimuat secara malas saat pertama kali diakses. Hal ini dapat menyebabkan latensi lebih tinggi untuk blok yang belum dimuat ke dalam volume. Untuk basis data produksi, gunakan Fast Snapshot Restore (FSR) — fitur berbayar yang melakukan pra-pemanasan snapshot sehingga volume langsung beroperasi pada performa penuh. Sebagai alternatif, lakukan pra-pemanasan dengan membaca semua blok menggunakan dd atau fio setelah pemulihan.
# Enable Fast Snapshot Restore for instant full-performance volumes
aws ec2 enable-fast-snapshot-restores \
--availability-zones us-east-1a us-east-1b \
--source-snapshot-ids snap-0abc1234def567890
# Create a volume from the snapshot (FSR enabled = full performance immediately)
aws ec2 create-volume \
--snapshot-id snap-0abc1234def567890 \
--volume-type gp3 \
--availability-zone us-east-1aEnkripsi EBS: Cara Kerjanya
Enkripsi EBS menggunakan AES-256 untuk mengenkripsi data saat tidak aktif (di volume), saat transit antara volume dan instans EC2, serta di dalam snapshot. Enkripsi ditangani secara transparan oleh hipervisor EC2 — aplikasi Anda tidak melihat perbedaan apa pun. Enkripsi menggunakan kunci AWS KMS: Anda dapat menggunakan kunci yang dikelola AWS (aws/ebs) atau kunci yang dikelola pelanggan (CMK). Setelah volume dienkripsi, semua data yang ditulis ke dalamnya dan semua snapshot yang dibuat darinya juga dienkripsi.
# Create an encrypted gp3 volume with a customer-managed key
aws ec2 create-volume \
--volume-type gp3 \
--size 100 \
--encrypted \
--kms-key-id arn:aws:kms:us-east-1:111122223333:key/KEY_ID \
--availability-zone us-east-1a
# Enable encryption by default for all new volumes in a region
aws ec2 enable-ebs-encryption-by-default
aws ec2 get-ebs-encryption-by-default
# { "EbsEncryptionByDefault": true }Mengenkripsi Volume Tidak Terenkripsi yang Sudah Ada
Anda tidak dapat mengenkripsi volume EBS yang sudah ada dan tidak terenkripsi secara langsung. Solusinya adalah proses beberapa langkah: (1) buat snapshot dari volume yang tidak terenkripsi, (2) salin snapshot dengan --encrypted untuk membuat snapshot terenkripsi, (3) buat volume terenkripsi baru dari snapshot terenkripsi, (4) hentikan instans, lepaskan volume lama, pasang volume terenkripsi baru, lalu mulai ulang. Proses ini dapat dibuat dalam skrip dan diujikan dalam ujian SAA-C03 sebagai skenario migrasi.
# Step-by-step: encrypt an existing unencrypted volume
# 1. Snapshot the unencrypted volume
aws ec2 create-snapshot --volume-id vol-UNENCRYPTED --description 'Pre-encryption backup'
# 2. Copy snapshot with encryption
aws ec2 copy-snapshot \
--source-region us-east-1 \
--source-snapshot-id snap-UNENCRYPTED \
--region us-east-1 \
--encrypted \
--kms-key-id alias/aws/ebs
# 3. Create encrypted volume from the encrypted snapshot
aws ec2 create-volume \
--snapshot-id snap-ENCRYPTED \
--volume-type gp3 \
--availability-zone us-east-1aRAID 0: Striping untuk Performa
RAID 0 (striping) mendistribusikan data ke beberapa volume EBS untuk menggabungkan IOPS dan throughput-nya. Dua volume gp3 dengan 16.000 IOPS dalam RAID 0 menyediakan sekitar 32.000 IOPS. Konsekuensinya, jika salah satu volume gagal, Anda kehilangan semua data — tidak ada redundansi. RAID 0 sesuai untuk data sementara atau data yang dapat dibuat ulang dengan mudah ketika throughput maksimum menjadi prioritas: lapisan tembolok, antrean pemrosesan, atau ruang kerja sementara. Snapshot EBS dari seluruh larik RAID memerlukan koordinasi konsistensi.
# Set up RAID 0 across two EBS volumes on Linux
# (After creating and attaching two gp3 volumes)
# Install mdadm
sudo yum install -y mdadm
# Create a RAID 0 array across /dev/xvdf and /dev/xvdg
sudo mdadm --create /dev/md0 \
--level=0 \
--raid-devices=2 \
/dev/xvdf /dev/xvdg
# Format and mount
sudo mkfs.xfs /dev/md0
sudo mkdir /mnt/raid0
sudo mount /dev/md0 /mnt/raid0RAID 1: Pencerminan untuk Redundansi
RAID 1 (pencerminan) menulis data identik ke dua volume EBS secara bersamaan. Jika salah satu volume gagal, volume lainnya memiliki salinan lengkap. RAID 1 menyediakan redundansi dua volume dengan kapasitas hanya sebesar satu volume. Namun, untuk volume EBS, hal ini umumnya berlebihan karena replikasi bawaan EBS pada tingkat AZ. AWS merekomendasikan penggunaan arsitektur EBS Multi-AZ (melalui Multi-AZ RDS atau ASG di beberapa AZ), bukan RAID 1 pada EBS, karena EBS sudah melakukan replikasi di dalam satu AZ. RAID 1 pada EBS jarang digunakan dalam arsitektur modern.
# RAID 1 example (mirroring) — rarely needed with EBS
sudo mdadm --create /dev/md1 \
--level=1 \
--raid-devices=2 \
/dev/xvdh /dev/xvdi
# RAID 1 performance:
# Read: up to 2x (both disks can serve reads)
# Write: same as a single volume (data written to both)
# Fault tolerance: survives single volume failureAMI dan Snapshot EBS
Amazon Machine Image (AMI) adalah cetak biru untuk meluncurkan instans EC2, dan didukung oleh satu atau beberapa snapshot EBS — satu snapshot untuk setiap volume yang disertakan AMI (biasanya satu untuk volume root). Saat Anda membuat AMI khusus dari instans yang sedang berjalan, AWS menghentikan instans (atau menggunakan VSS di Windows), membuat snapshot semua volume EBS yang terpasang, lalu mencatat pemetaannya di AMI. Membatalkan pendaftaran AMI tidak otomatis menghapus snapshot pendukungnya — Anda harus menghapus snapshot tersebut secara terpisah agar tidak terus dikenai biaya.
# Create an AMI from a running EC2 instance
aws ec2 create-image \
--instance-id i-0abc1234def567890 \
--name 'MyApp-v2.0-2024-01-01' \
--description 'Application server AMI with v2.0 release' \
--no-reboot
# List snapshots backing an AMI
aws ec2 describe-images \
--image-ids ami-0abc1234def567890 \
--query 'Images[].BlockDeviceMappings[].Ebs.SnapshotId'
# Deregister AMI then delete its snapshots separately
aws ec2 deregister-image --image-id ami-0abc1234def567890
aws ec2 delete-snapshot --snapshot-id snap-0abc1234def567890Praktik Terbaik Snapshot
Praktik terbaik snapshot untuk beban kerja produksi: bekukan atau tenangkan sistem berkas sebelum membuat snapshot basis data untuk memastikan konsistensi (sebagian besar basis data terkelola seperti RDS melakukan hal ini secara otomatis). Beri tag pada snapshot dengan lingkungan, ID volume, dan tanggal agar pengelolaan siklus hidup serta alokasi biaya menjadi mudah. Uji prosedur pemulihan secara berkala — snapshot yang belum pernah Anda pulihkan bukanlah cadangan. Simpan salinan lintas-Region untuk pemulihan bencana. Gunakan AWS Backup untuk pengelolaan kebijakan terpusat di seluruh EBS, RDS, DynamoDB, dan layanan lainnya.
# Freeze filesystem on Linux before snapshotting
# (Example for ext4 filesystem)
sudo fsfreeze -f /mnt/data # Freeze writes
aws ec2 create-snapshot --volume-id vol-0abc1234 --description 'Consistent snapshot'
sudo fsfreeze -u /mnt/data # Unfreeze
# AWS Backup policy for EBS volumes
aws backup create-backup-plan \
--backup-plan '{
"BackupPlanName": "EBSDaily",
"Rules": [{
"RuleName": "DailyRule",
"TargetBackupVaultName": "Default",
"ScheduleExpression": "cron(0 3 * * ? *)",
"DeleteAfterDays": 30
}]
}'EBS Snapshot Recycle Bin
EBS Snapshot Recycle Bin melindungi snapshot dan AMI dari penghapusan yang tidak disengaja. Jika diaktifkan dengan aturan retensi, snapshot yang dihapus akan dipindahkan ke Recycle Bin, bukan dimusnahkan secara permanen. Anda dapat memulihkannya selama periode retensi (1 hari hingga 1 tahun). Fitur ini sangat penting terutama dalam skenario kepatuhan ketika Anda harus dapat memulihkan data akibat penghapusan tidak sengaja oleh administrator atau skrip otomasi yang berjalan tanpa kendali, tanpa memulihkan dari tingkat cadangan yang lebih lama.
# Create a Recycle Bin retention rule for EBS snapshots
aws rbin create-rule \
--retention-period RetentionPeriodValue=30,RetentionPeriodUnit=DAYS \
--resource-type EBS_SNAPSHOT \
--description '30-day retention for all EBS snapshots'
# List snapshots currently in the Recycle Bin
aws rbin list-resources \
--resource-type EBS_SNAPSHOT \
--query 'Resources[].{SnapshotId:ResourceId,DeleteDate:DeleteScheduledAt}'Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa: snapshot EBS bersifat inkremental dan disimpan di S3, dengan DLM untuk pengelolaan siklus hidup otomatis, enkripsi memerlukan alur kerja penyalinan snapshot untuk mengonversi volume yang tidak terenkripsi, dan RAID 0 melakukan striping volume untuk menggabungkan performa, sedangkan RAID 1 melakukan pencerminan untuk redundansi (meskipun EBS sudah melakukan replikasi di dalam satu AZ). Selanjutnya kita akan membahas EFS untuk penyimpanan berkas Linux bersama.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Snapshot, Enkripsi, dan RAID EBS” gratis?
Ya — teks lengkap “Snapshot, Enkripsi, dan RAID EBS” 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 “Snapshot, Enkripsi, dan RAID EBS”?
Buat dan otomatisasikan snapshot EBS untuk pencadangan pada titik waktu tertentu, enkripsikan volume dengan KMS, lalu pahami perbedaan RAID 0 dan RAID 1 pada EC2. 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 2 dari 4.
Berapa lama pelajaran “Snapshot, Enkripsi, dan RAID EBS” 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
- Jenis Volume EBS: gp3, io2, st1, sc1
- Snapshot, Enkripsi, dan RAID EBS
- EFS: Penyimpanan Berkas Bersama untuk Linux
- FSx: Server Berkas Windows dan Lustre