Pola Multi-AZ untuk Layanan Stateful
Terapkan Multi-AZ pada RDS, ElastiCache, EFS, dan ELB untuk menghilangkan titik kegagalan tunggal dalam suatu Region.
Pola Multi-AZ untuk Layanan Stateful 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.
Mengapa Layanan Stateful Memerlukan Multi-AZ
Layanan stateful — basis data, cache, dan sistem berkas — adalah komponen yang paling sulit dibuat sangat tersedia karena menyimpan data yang harus tetap ada saat terjadi kegagalan. Jika basis data pada satu AZ gagal, seluruh aplikasi Anda kehilangan penyimpanan datanya. Jawaban AWS adalah deployment Multi-AZ, yaitu ketika layanan mempertahankan replika sinkron atau hampir sinkron di Availability Zone kedua yang dapat mengambil alih dengan cepat saat primer gagal.
RDS Multi-AZ: Siaga Sinkron
RDS Multi-AZ mempertahankan replika siaga sinkron di AZ yang berbeda. Setiap penulisan ke primer direplikasi secara sinkron sebelum keberhasilan dikonfirmasi — ini berarti tidak ada kehilangan data (RPO=0), tetapi latensi penulisan sedikit meningkat. Saat primer gagal, RDS secara otomatis memperbarui titik akhir DNS agar menunjuk ke siaga dalam 60–120 detik. Aplikasi Anda hanya perlu terhubung kembali ke titik akhir yang sama — tidak diperlukan perubahan kode.
# Enable Multi-AZ on existing RDS instance
aws rds modify-db-instance \
--db-instance-identifier mydb \
--multi-az \
--apply-immediately
# RDS endpoint stays the same after failover
# Application reconnects to same DNS nameArsitektur Multi-AZ Aurora
Amazon Aurora mengembangkan Multi-AZ lebih jauh dengan lapisan penyimpanan terdistribusi bersama yang secara otomatis mereplikasi data ke tiga AZ dalam enam salinan. Instans Aurora tidak menyimpan status — instans tersebut membaca dan menulis ke penyimpanan bersama ini. Ketika Aurora writer PRIMARY gagal, read replica di AZ lain dipromosikan menjadi writer dalam waktu kurang dari 30 detik. Proses ini lebih cepat daripada Failover RDS Multi-AZ, dan data selalu konsisten di seluruh AZ tanpa Replication standby eksplisit.
# Aurora cluster endpoint automatically handles failover
# Writer endpoint: mydb.cluster-xxx.us-east-1.rds.amazonaws.com
# Reader endpoint: mydb.cluster-ro-xxx.us-east-1.rds.amazonaws.com
# Failover time: typically under 30 secondsReplication Multi-AZ ElastiCache
ElastiCache for Redis mendukung Multi-AZ melalui kelompok Replication. Node PRIMARY menerima penulisan dan mereplikasi secara Asynchronous ke read replica di AZ lain. Ketika PRIMARY gagal, ElastiCache secara otomatis mempromosikan Replica menjadi PRIMARY. Untuk Redis dengan mode cluster yang diaktifkan, data dipecah ke beberapa kelompok node, yang masing-masing memiliki PRIMARY dan Replica sendiri di berbagai AZ — hal ini menyediakan HA sekaligus penskalaan horizontal.
# Create Redis replication group with Multi-AZ
aws elasticache create-replication-group \
--replication-group-id my-redis \
--replication-group-description 'Multi-AZ Redis' \
--num-cache-clusters 3 \
--cache-node-type cache.r6g.large \
--multi-az-enabled \
--automatic-failover-enabledEFS: Multi-AZ Bawaan
Amazon Elastic File System (EFS) secara bawaan merupakan Multi-AZ — layanan regional yang menyimpan data secara redundan di beberapa AZ dalam satu Region. Anda membuat target Mount di subnet setiap AZ, dan instans EC2 di AZ mana pun dapat memasang sistem file melalui target Mount lokalnya. Tidak diperlukan konfigurasi Multi-AZ manual. EFS menyediakan penyimpanan file POSIX bersama yang dapat diakses secara bersamaan oleh beberapa instans di berbagai AZ.
# Mount EFS from EC2 in any AZ
# Mount target is created per AZ automatically
sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
# Or use EFS mount helper
sudo mount -t efs fs-12345678 /mnt/efsCross-Zone Elastic Load Balancer
Elastic Load Balancer itu sendiri bersifat Multi-AZ — ALB dan NLB menerapkan node penyeimbang beban di setiap AZ yang Anda tentukan. Dengan penyeimbangan beban lintas zona yang diaktifkan (default untuk ALB), setiap node penyeimbang beban mendistribusikan lalu lintas secara merata ke semua target yang terdaftar di semua AZ, bukan hanya AZ-nya sendiri. Dengan demikian, meskipun semua instans di satu AZ gagal, penyeimbang beban tetap melayani lalu lintas melalui instans di AZ yang tersisa.
# ALB automatically created in multiple AZs
aws elbv2 create-load-balancer \
--name my-alb \
--subnets subnet-AZ1 subnet-AZ2 subnet-AZ3 \
--security-groups sg-12345
# Cross-zone load balancing is ON by default for ALBPola Multi-AZ NAT Gateway
Kesalahan umum adalah menerapkan satu NAT Gateway di satu AZ, sementara subnet privat di AZ lain merutekan lalu lintas melaluinya. Jika AZ tersebut gagal, semua instans privat kehilangan akses internet. Pola Multi-AZ yang benar adalah menerapkan satu NAT Gateway per AZ dan mengonfigurasi tabel rute privat setiap AZ agar merutekan 0.0.0.0/0 melalui NAT Gateway miliknya sendiri. Hal ini menghilangkan NAT Gateway sebagai SPOF lintas AZ dan mengurangi biaya transfer data lintas AZ.
# Create NAT Gateway in each AZ
aws ec2 create-nat-gateway \
--subnet-id subnet-public-AZ1 \
--allocation-id eipalloc-AZ1
aws ec2 create-nat-gateway \
--subnet-id subnet-public-AZ2 \
--allocation-id eipalloc-AZ2
# Each AZ's private route table points to its own NAT GWDynamoDB Multi-AZ secara Default
DynamoDB adalah layanan yang dikelola sepenuhnya dan secara otomatis mereplikasi data ke tiga AZ dalam satu Region — Anda tidak perlu mengonfigurasi Multi-AZ secara manual. Setiap penulisan disimpan secara tahan lama di ketiga AZ sebelum keberhasilan dikembalikan. DynamoDB secara efektif toleran terhadap kegagalan pada tingkat AZ sejak awal. Karena itu, DynamoDB sering menjadi pilihan Database yang direkomendasikan ketika soal ujian menekankan ketersediaan tinggi dengan beban operasional minimal.
RDS Proxy untuk Penanganan Connection yang Lebih Cepat
Selama Failover RDS Multi-AZ, aplikasi yang mempertahankan Connection Database persisten mungkin mengalami kegagalan saat Endpoint berubah. RDS Proxy berada di antara aplikasi dan RDS, serta mempertahankan kumpulan Connection ke Database. Selama Failover, RDS Proxy secara otomatis merutekan ulang ke PRIMARY yang baru — sehingga dampak Failover berkurang dari 60–120 detik menjadi kurang dari 30 detik bagi aplikasi yang menggunakan Endpoint Proxy. RDS Proxy juga membantu fungsi Lambda yang membuat banyak Connection berumur singkat.
# Application connects to RDS Proxy endpoint
# Proxy endpoint: myproxy.proxy-xxx.us-east-1.rds.amazonaws.com
# RDS Proxy handles:
# - Connection pooling
# - Failover routing
# - IAM authentication
# - Secrets Manager integrationMode Replication Data: Sync vs Async
Memahami mode Replication sangat penting untuk memilih pola Multi-AZ. Replication Synchronous (RDS Multi-AZ, EFS) memastikan RPO=0 karena setiap penulisan dikonfirmasi di kedua AZ sebelum keberhasilan. Konsekuensinya adalah latensi penulisan yang sedikit lebih tinggi. Replication Asynchronous (Replica Redis ElastiCache, Read Replica RDS) menawarkan latensi penulisan yang lebih rendah, tetapi menerima sedikit jeda Replication — artinya sebagian data dapat hilang jika PRIMARY gagal sebelum Replication selesai.
# Synchronous replication: RPO = 0, higher write latency
# Used by: RDS Multi-AZ, Aurora storage layer
# Asynchronous replication: RPO > 0 (replication lag)
# Used by: RDS Read Replicas, ElastiCache Redis replicas
# Replication lag can be monitored:
# aws cloudwatch get-metric-statistics \
# --namespace AWS/RDS --metric-name ReplicaLagMenguji Failover Multi-AZ
Anda sebaiknya menguji Failover Multi-AZ secara berkala untuk memvalidasi asumsi RTO Anda. Untuk RDS, Anda dapat memicu Failover menggunakan opsi Reboot with failover di konsol atau melalui CLI. Pantau CloudWatch untuk metrik FailedSQLServerAgentJobsCount dan periksa log aplikasi Anda untuk memastikan aplikasi berhasil terhubung kembali. Dokumentasikan durasi Failover yang sebenarnya — durasi tersebut dapat berbeda dari dokumentasi AWS, bergantung pada kelas instans dan beban kerja Anda.
# Trigger RDS Multi-AZ failover test
aws rds reboot-db-instance \
--db-instance-identifier mydb \
--force-failover
# Monitor failover in CloudWatch
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name DatabaseConnections \
--dimensions Name=DBInstanceIdentifier,Value=mydbPemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda telah mempelajari bahwa: RDS Multi-AZ menggunakan Replication Synchronous dengan Failover DNS otomatis, Aurora menggunakan lapisan penyimpanan bersama di tiga AZ untuk Failover yang lebih cepat, dan EFS serta DynamoDB secara bawaan merupakan Multi-AZ tanpa konfigurasi manual. Terapkan satu NAT Gateway per AZ untuk menghindari SPOF lintas AZ. Selanjutnya, kita akan membahas pola active-active dan active-passive lintas Region.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pola Multi-AZ untuk Layanan Stateful” gratis?
Ya — teks lengkap “Pola Multi-AZ untuk Layanan Stateful” 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 “Pola Multi-AZ untuk Layanan Stateful”?
Terapkan Multi-AZ pada RDS, ElastiCache, EFS, dan ELB untuk menghilangkan titik kegagalan tunggal dalam suatu Region. 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 “Pola Multi-AZ untuk Layanan Stateful” 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
- HA vs Toleransi Kesalahan: Definisi dan Pertukaran
- Pola Multi-AZ untuk Layanan Stateful
- Aktif-Aktif dan Aktif-Pasif Multi-Region
- Pemeriksaan Kesehatan, Pemutus Sirkuit, dan Logika Percobaan Ulang