Etkilemeden DR Testi
Kurtarma planını uçtan uca doğrulamak için yalıtılmış bir ağa test amaçlı yük devretmesi gerçekleştirin, gerçek RTO’yu ölçün ve giderilmesi gereken eksikleri belgeleyin.
Etkilemeden DR Testi, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.
DR Testi Neden Vazgeçilmezdir
Hiç test edilmemiş bir olağanüstü durum kurtarma planı yalnızca bir varsayımdır. Gerçek dünya deneyimleri, DR planlarının genellikle yalnızca test koşullarında ortaya çıkan boşlukları — configuration kayması, eksik otomasyon, güncel olmayan runbook'lar veya beklenenden uzun başlatma süreleri — açığa çıkardığını gösterir. Planınızın en çok ihtiyaç duyduğunuz anda çalışacağından emin olmanın tek yolu düzenli DR testidir.
Test Devretmesi Özelliği
Test Failover, üretimi kesintiye uğratmadan ikincil bölgeye devretmeyi simüle etmenizi sağlayan yerleşik bir Azure Site Recovery özelliğidir. Bir test devretmesi sırasında ASR, çoğaltılmış VM'lerin kopyalarını ikincil bölgede yalıtılmış bir sanal ağda oluşturur. Üretim VM'leri birincil bölgede normal şekilde çalışmaya devam eder; bu nedenle canlı kullanıcılar açısından risk oluşmaz.
# Trigger a test failover for a recovery plan:
az site-recovery recovery-plan test-failover \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--failover-direction PrimaryToRecovery \
--network-id '/subscriptions/.../virtualNetworks/testFailoverVNet'Test Ortamını Yalıtma
Yalıtılmış test VNet'i üretim sistemleriyle bağlantıya sahip olmamalıdır. Bu, test VM'lerinin yanlışlıkla üretim veritabanına yazmasını, gerçek müşterilere e-posta göndermesini veya ödeme işlemlerini tetiklemesini önler. Üretim VNet'leriyle eşlemesi ve internet erişimi olmayan özel bir test failover VNet oluşturun ve bunu yalnızca DR tatbikatları için kullanın.
# Create an isolated test VNet for DR drills:
az network vnet create \
--resource-group drRG \
--name testFailoverVNet \
--address-prefix 10.99.0.0/16 \
--subnet-name testSubnet \
--subnet-prefix 10.99.1.0/24
# NOTE: Do NOT peer this VNet to any production VNetBir DR Testi Sırasında Doğrulanacaklar
Bir DR testi belirli bir ölçüt kümesini doğrulamalıdır:
- Önyükleme süresi — tüm VM'ler beklenen zaman aralığında başlıyor mu?
- Uygulama başlangıcı — uygulama, kurtarılan veritabanına bağlandığında doğru şekilde başlatılıyor mu?
- Veri bütünlüğü — kurtarma noktasındaki veriler tutarlı ve eksiksiz mi?
- Gerçek RTO — devretme tetikleyicisinden uygulamanın isteklere yanıt vermeye başlamasına kadar geçen toplam süreyi ölçün
- Runbook yürütmesi — tüm otomasyon betikleri başarıyla tamamlandı mı?
Gerçek RTO'yu Ölçme
Test sırasında, test devretmesini tetiklediğiniz anda bir zamanlayıcı başlatın. Uygulamanın sağlıklı olduğu doğrulandığında (yük dengeleyicinin durum denetimi 200 OK döndürdüğünde) zamanlayıcıyı durdurun. Bu değer gerçek RTO'nuzdur. Bunu hedef RTO'nuzla karşılaştırın. Gerçek değer hedefi aşıyorsa darboğazları — yavaş VM başlatma, uzun veritabanı başlatma süresi, DNS yayılım gecikmesi — belirleyip giderin.
# During DR test, record timestamps:
# T0: Test failover triggered
# T1: All VMs in group 1 (database) running
# T2: All VMs in group 2 (app tier) running
# T3: All VMs in group 3 (web tier) running
# T4: Health probe returns 200 OK on all instances
# Actual RTO = T4 - T0
# Compare to target RTO, document any gapsKurtarma Noktasındaki Verileri Denetleme
Test devretmesi tamamlandıktan sonra kurtarılan veritabanına bağlanıp verileri doğrulayın. Çoğaltma kesintisinden önce tamamlanan işlemlerin mevcut olduğunu ve kısmen tamamlanan işlemlerin doğru şekilde ele alındığını (geri alındığını veya tamamlandığını) denetleyin. point-in-time restore (PITR) kullanan veritabanlarında belirli bir timestamp'e geri yüklemeyi test edin ve beklenen veri durumunu doğrulayın.
# Example data verification after test failover:
# 1. Connect to recovered database
# 2. Run: SELECT COUNT(*) FROM orders WHERE created_at > DATEADD(hour, -1, GETUTCDATE())
# 3. Compare count to production database count for the same window
# 4. Check for any orphaned records or constraint violationsTest Devretmesinden Sonra Temizleme
Test tamamlandığında test devretmesi kaynaklarını temizlemeniz gerekir — ikincil bölgedeki test VM'leri, bunların diskleri ve ağ arabirimleri. Azure Site Recovery, tüm test kaynaklarını otomatik olarak kaldıran 'Cleanup test failover' eylemini portalda sunar. Temizlemeyi unutmak maliyetleri artırır ve ikincil bölgeyi eski kaynaklarla doldurur.
# Trigger cleanup after test failover:
az site-recovery recovery-plan test-failover-cleanup \
--resource-group myRG \
--vault-name myRecoveryVault \
--name myRecoveryPlan \
--notes 'Test completed. RTO = 22 minutes. All checks passed.'DR Testi Sonuçlarını Belgeleme
Her DR testinden sonra şunları içeren bir test raporu yazın: testin tarihi ve kapsamı, elde edilen gerçek RTO ve RPO, geçer/kaldı durumlarını içeren doğrulama öğeleri listesi, gözlemlenen boşluklar veya hatalar ve planlanan düzeltici eylemler. Bu rapor, uyumluluk denetimleri (ISO 27001, SOC 2, HIPAA) ve DR olgunluğundaki gelişimi zaman içinde izlemek için değerlidir.
DR Testi Sıklığı
Sektördeki en iyi uygulamalar ve uyumluluk çerçeveleri genellikle DR testlerinin en az yılda bir yapılmasını gerektirir; ancak birçok kuruluş Tier 1 iş yükleri için üç ayda bir, hatta ayda bir test yapar. Daha sık test yapmak configuration kaymasını daha erken yakalar, ayrıca ekibin güvenini ve uygulamalı deneyimini geliştirir. Sık testlerin gerektirdiği çabayı azaltmak için test kurulumu ve doğrulamasının mümkün olduğunca çoğunu otomatikleştirin.
Dayanıklılık Testi İçin Azure Chaos Studio
Azure Chaos Studio, uygulama dayanıklılığını test etmek amacıyla Azure kaynaklarına kontrollü arızalar enjekte etmenizi sağlayan yönetilen bir kaos mühendisliği hizmetidir. VM'leri kapatabilir, bölgeleri devre dışı bırakabilir, CPU'yu kısıtlayabilir veya uygulamanızın davranışını gözlemlemek için ağ gecikmesi ekleyebilirsiniz. Standart bir DR tatbikatından farklı olarak kaos mühendisliği, uygulamanızın kısmi arıza koşullarında zarifçe performans düşürüp düşürmediğini test eder.
# Chaos Studio experiment: shut down a VM zone
# 1. Create a chaos experiment in the portal
# 2. Select fault: 'VM Shutdown'
# 3. Target: VMs in Zone 1
# 4. Duration: 10 minutes
# 5. Observe: Does Traffic Manager reroute to Zone 2?
# 6. Check: Application health during and after the faultSürekli DR İyileştirme Döngüsü
DR testi, sürekli iyileştirme döngüsünün bir parçası olarak en değerlidir: Planla → Yürüt → Ölç → Düzelt → Tekrarla. Her testten sonra bulunan boşlukları giderin, runbook'ları ve belgeleri güncelleyin, ardından yeniden test edin. Zamanla, belirttiğiniz RTO/RPO hedefleri ile gerçekte elde ettiğiniz değerler arasındaki fark, tolerans dahilinde her testi tutarlı biçimde geçene kadar küçülmelidir.
Hızlı Kontrol
Bu dersteki Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: test devretmesi, yalıtılmış bir VNet'te VM kopyaları oluşturarak üretimi kesintiye uğratmadan bir DR olayını simüle etmenizi sağlar; test sırasında gerçek RTO'yu ölçmeniz ve veri bütünlüğünü doğrulamanız gerekir; her tatbikattan sonra test kaynaklarını temizlemeli ve sonuçları belgelemelisiniz. Sırada Azure SQL Database gibi PaaS hizmetleri için özel olarak olağanüstü durum kurtarmayı inceleyeceğiz.
Sıkça Sorulan Sorular
“Etkilemeden DR Testi” dersi ücretsiz mi?
Evet — “Etkilemeden DR Testi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.
“Etkilemeden DR Testi” dersinde ne öğreneceğim?
Kurtarma planını uçtan uca doğrulamak için yalıtılmış bir ağa test amaçlı yük devretmesi gerçekleştirin, gerçek RTO’yu ölçün ve giderilmesi gereken eksikleri belgeleyin. Azure Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Etkilemeden DR Testi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Azure Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- RTO, RPO ve Kurtarma Katmanlarını Tanımlama
- Kurtarma Planları ve Otomatik Geçiş
- Etkilemeden DR Testi
- PaaS Hizmetleri için DR