Felaket kurtarma: RTO ve RPO'ya göre aktif-pasif senaryoyu nasıl kurgularım?
Soru
AWS Frankfurt (`eu-central-1`) tamamen erişilemez hale geldi. Şirket politikamız RTO 30 dakika (maksimum kesinti), RPO 5 dakika (maksimum veri kaybı). Bu hedeflere ulaşmak için veritabanı (cross-region replication), statik dosyalar ve DNS yönlendirme (Route 53 latency/failover) katmanlarını içeren aktif-pasif bir felaket kurtarma senaryosunu nasıl kurgularım?
Cevap
Kısa cevap: Mimariyi sen seçmiyorsun, RTO 30dk / RPO 5dk seçiyor. Bu iki sayı, hangi felaket kurtarma stratejisini kuracağını tek başına belirliyor.
Kısa cevap
Asıl mesele şu: RPO ve RTO soyut hedefler değil, doğrudan teknik kararlara çevrilen rakamlar. Sayıyı oku, mimariyi ona göre kur. Tek bir region içinde terfi kararının nasıl verilmesi gerektiğini split-brain ve quorum kaydında ele almıştım; burada aynı soru region ölçeğinde soruluyor.
Neden
-
RPO replikasyon sıklığını belirler. 5 dakikalık veri kaybı tavanı, gecelik dump’ı baştan eler; sürekli replikasyon şart.
-
RTO hazırlık seviyesini belirler. 30 dakikada sıfırdan altyapı kurulamaz; ikinci region’ın ayakta ve terfiye hazır beklemesi gerekir.
-
Aktif-aktif bu sayılar için fazla. İhtiyaç duyulmayan karmaşıklık, ödenmemesi gereken bir maliyettir.
Ne yapmalı
-
RPO 5dk için sürekli replikasyon kurun. Region’lar arası streaming replikasyon (ya da RDS cross-region read replica) + WAL/PITR’ı S3’e gönderin.
-
RTO 30dk için sıcak yedek (warm standby) tutun. İkinci region’da terfi edilmeye hazır, önceden ayağa kaldırılmış bir kopya bekletin.
-
Altyapıyı IaC ile önceden hazırlayın. İkinci region’ın ağ, sunucu ve yapılandırmasını Terraform ile kodla tanımlayın; felaket anında elle tıklamak RTO’yu patlatır.
-
Statik dosyaları ve DNS’i hazırlayın. S3 Cross-Region Replication ile varlıkları kopyalayın; Route 53 health-check / failover routing ile trafiği otomatik çevirin.
-
Failover’ı düzenli prova edin (game-day). Test edilmemiş bir felaket kurtarma planı, çalışacağına dair bir tahminden ibarettir.
Sonuç: Ben olsam cross-region replica + PITR + Route 53 failover kurar, yedeği IaC ile önceden hazırlardım. Aktif-pasif tam bu hedeflere oturuyor; ihtiyacın olmayan karmaşıklığı satın alma. Cloud mu kendi sunucun mu sorusunu sade.dev’de ayrıca tartışıyorum.
Yorumlar
Yorum yapmak için GitHub hesabınızla giriş yapmanız yeterli. Yorumlar GitHub Discussions üzerinde saklanır.