0Pricing
AWS Solutions Architect · Ders

Çok Bölgeli Etkin-Etkin ve Etkin-Pasif

Route 53 gecikme yönlendirmesiyle trafiği aynı anda birden çok Bölgeye yönlendirin veya durum denetimli yük devretmeyle sıcak bekleme ortamına geçin.

Çok Bölgeli Etkin-Etkin ve Etkin-Pasif, CoddyKit'te ücretsiz bir AWS Solutions Architect 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, AWS Solutions Architect öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

Multi-Region Mimarisi Neden Kullanılır?

Multi-AZ, tek bir AZ'nin başarısız olmasına karşı koruma sağlar; ancak büyük ölçekli felaketler, önemli kesintiler veya mevzuat gereklilikleri sırasında bir AWS Region'ının tamamı kullanılamaz hâle gelebilir. Multi-region mimarileri, iş yüklerini coğrafi olarak ayrılmış iki veya daha fazla Region'da çalıştırarak bu duruma çözüm getirir. İki temel model vardır: active-passive (bir Region trafiği sunarken diğeri Standby durumunda bekler) ve active-active (her iki Region aynı anda trafik sunar).

Active-Passive: Warm Standby Modeli

active-passive multi-region kurulumunda tüm üretim trafiğini Primary Region yönetir. Secondary Region, küçültülmüş ancak işlevsel bir kopyayı çalışır ve hazır durumda tutar. Veriler Primary'den Secondary'ye sürekli olarak çoğaltılır. Primary başarısız olduğunda Route 53 Failover yönlendirmesini kullanarak Secondary'yi Active konumuna yükseltirsiniz. Bu model, active-active'e göre daha düşük maliyetlidir; ancak daha yüksek RTO'ya sahiptir (Standby'ı yükseltip ölçeklendirmek için gereken süre).

# Route 53 failover routing configuration
# Primary record: us-east-1 ALB (primary)
# Secondary record: us-west-2 ALB (failover)

aws route53 change-resource-record-sets \
  --hosted-zone-id Z123 \
  --change-batch '{
    "Changes": [{
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "app.example.com",
        "Type": "A",
        "Failover": "PRIMARY",
        "HealthCheckId": "hc-primary"
      }
    }]
  }'

Active-Active: Her İki Region'da Trafik

active-active kurulumunda her iki Region da aynı anda üretim trafiği sunar. gecikme tabanlı yönlendirme veya ağırlıklı yönlendirme kullanan Route 53, kullanıcıları en yakın ya da en uygun Region'a dağıtır. Bir Region başarısız olduğunda Route 53 Health Check'leri hatayı algılar ve tüm trafiği sağlıklı Region'a yönlendirir. Active-active, en iyi RTO'yu (sıfıra yakın) sağlar, dünya genelinde dağılmış kullanıcılar için gecikmeyi azaltır ve yükü Region'lar arasında dağıtarak aktarım kapasitesini artırır.

# Route 53 latency-based routing for active-active
aws route53 change-resource-record-sets \
  --hosted-zone-id Z123 \
  --change-batch '{
    "Changes": [
      {
        "Action": "CREATE",
        "ResourceRecordSet": {
          "Name": "app.example.com",
          "Type": "A",
          "Region": "us-east-1",
          "SetIdentifier": "us-east-1",
          "HealthCheckId": "hc-use1",
          "AliasTarget": {"DNSName": "alb-use1.amazonaws.com"}
        }
      }
    ]
  }'

Region'lar Arasında Veri Çoğaltma

Multi-region mimarisinin en zor kısmı, verileri Region'lar arasında tutarlı tutmaktır. Temel araçlar şunlardır: S3 Cross-Region Replication (CRR), S3 nesnelerini Asynchronous olarak başka bir Region'daki Bucket'a çoğaltır. DynamoDB Global Tables, eventual consistency ile multi-master, multi-region çoğaltma sağlar. Aurora Global Database, bir Primary Region'dan en fazla beş Secondary Region'a, 1 saniyenin altında gecikmeyle çoğaltma yapar. Her çoğaltma mekanizmasının tutarlılık garantileri ve gecikme özellikleri farklıdır.

# Enable S3 Cross-Region Replication
aws s3api put-bucket-replication \
  --bucket source-bucket-us-east-1 \
  --replication-configuration '{
    "Role": "arn:aws:iam::123:role/replication-role",
    "Rules": [{
      "Status": "Enabled",
      "Destination": {
        "Bucket": "arn:aws:s3:::dest-bucket-us-west-2"
      }
    }]
  }'

Active-Active için DynamoDB Global Tables

DynamoDB Global Tables, gerçek active-active, multi-region ve multi-master çoğaltmayı mümkün kılar. Uygulamanız herhangi bir Region'daki DynamoDB'ye yazabilir ve değişiklikler genellikle 1 saniye içinde diğer tüm Region'lara çoğaltılır. Çakışma çözümünde zaman damgalarına dayalı son yazan kazanır yaklaşımı kullanılır. Bu özellik, düşük gecikmeli yerel okuma ve yazma işlemlerinin kritik olduğu oyun skor tabloları, kullanıcı profilleri ve oturum depoları gibi küresel ölçekte dağıtılmış uygulamalar için Global Tables'ı ideal hâle getirir.

# Create DynamoDB Global Table
aws dynamodb create-global-table \
  --global-table-name UserProfiles \
  --replication-group \
    RegionName=us-east-1 \
    RegionName=eu-west-1 \
    RegionName=ap-southeast-1

# Applications in each region write to local DynamoDB
# Replication is automatic and bi-directional

Aurora Global Database

Aurora Global Database, birden çok AWS Region'ına yayılır; tek bir Primary Region yazma işlemlerini, en fazla beş Secondary Region ise 1 saniyenin altında çoğaltma gecikmesiyle okuma işlemlerini yönetir. DR için bir Secondary Region'ı 1 dakikadan kısa sürede Primary konumuna yükseltebilirsiniz; bu da onu iddialı RTO gerektiren active-passive yapılar için uygun kılar. Secondary Region'lar düşük gecikmeli okuma trafiği de sunabilir; böylece okumalarda active-active, yazmalarda active-passive olan hibrit bir model elde edilir.

# Create Aurora Global Database
aws rds create-global-cluster \
  --global-cluster-identifier my-global-db \
  --engine aurora-postgresql \
  --engine-version 14.5

# Add secondary region
aws rds create-db-cluster \
  --db-cluster-identifier secondary-cluster \
  --global-cluster-identifier my-global-db \
  --engine aurora-postgresql \
  --region eu-west-1

Failover için Route 53 Health Check'leri

Multi-region Failover, bölgesel hataları algılamak için Route 53 Health Check'lerine dayanır. Health Check'ler bir Endpoint'i (HTTP/HTTPS/TCP), bir CloudWatch alarmını izleyebilir veya diğer Health Check'lerden hesaplanabilir. Route 53, Endpoint'lerinizi dünya genelindeki birden çok konumdan sürekli olarak yoklar. Bir kontrol başarısız olduğunda Route 53, o Region'ın kayıtlarını döndürmeyi otomatik olarak durdurur ve DNS TTL süresi içinde trafiği sağlıklı Region'lara yönlendirir.

# Create Route 53 health check
aws route53 create-health-check \
  --caller-reference unique-ref-001 \
  --health-check-config '{
    "Type": "HTTPS",
    "FullyQualifiedDomainName": "app.us-east-1.example.com",
    "Port": 443,
    "ResourcePath": "/health",
    "RequestInterval": 30,
    "FailureThreshold": 3
  }'

Active-Active için Global Accelerator

AWS Global Accelerator, trafiği AWS'nin küresel ağı üzerinden en uygun Endpoint'e yönlendiren iki statik Anycast IP adresi sağlar. Route 53 DNS Failover işleminden farklı olarak (TTL'ye bağlıdır), Global Accelerator Endpoint hatalarını 1-3 saniye içinde algılar ve trafiği anında yeniden yönlendirir; bu, DNS yayılımından çok daha hızlıdır. Saniyenin altında Failover, beyaz listeye alma için sabit IP'ler gerektiğinde veya DNS TTL tabanlı yönlendirme RTO'nuz için çok yavaş kaldığında Global Accelerator kullanın.

# Create Global Accelerator
aws globalaccelerator create-accelerator \
  --name my-accelerator \
  --ip-address-type IPV4

# Add endpoints in multiple regions
aws globalaccelerator create-endpoint-group \
  --listener-arn arn:aws:globalaccelerator::123:accelerator/xxx/listener/yyy \
  --endpoint-group-region us-east-1 \
  --endpoint-configurations EndpointId=alb-us-east-1-arn,Weight=100

Active-Active'de Çakışma Çözümleme

Active-active multi-region mimarileri temel bir zorlukla karşılaşır: yazma çakışmaları. İki Region aynı kaydı aynı anda güncellerse hangi güncelleme kazanır? DynamoDB Global Tables, son yazanın kazanması yaklaşımını kullanır. Uygulama düzeyindeki çakışma çözümleme stratejileri şunları içerir: olay kaynaklandırma (CRDT birleştirmeli, yalnızca ekleme yapılan günlükler), sürümleme (geçersiz sürüm numaraları içeren yazmaları reddetme) veya bölümlenmiş yazmalar (her Region bir veri parçasının sahibi olur ve yalnızca kendi parçasına yazar). Region'lar arası yazma çakışmalarını en aza indirecek şekilde veri modelinizi tasarlayın.

# DynamoDB conditional write to prevent conflicts
aws dynamodb update-item \
  --table-name Orders \
  --key '{"orderId":{"S":"ord-123"}}' \
  --update-expression 'SET #s = :newStatus' \
  --condition-expression '#v = :expectedVersion' \
  --expression-attribute-names '{"#s":"status","#v":"version"}' \
  --expression-attribute-values '{":newStatus":{"S":"shipped"},":expectedVersion":{"N":"1"}}'

Maliyetler ve Operasyonel Karmaşıklık

Multi-region mimarileri maliyeti ve karmaşıklığı önemli ölçüde artırır. Birden çok Region'daki kaynaklar, veri çoğaltma maliyetleri (Region'lar arası veri aktarımı), Health Check maliyetleri ve çoğu zaman her Region'da yinelenen operasyon araçları için ödeme yaparsınız. Active-passive, Standby'ın azaltılmış kapasitede çalışması nedeniyle daha ekonomiktir. Active-active en yüksek maliyete sahiptir; ancak en iyi kullanıcı deneyimini ve RTO'yu sağlar. Ek bölgesel dayanıklılığın iş değerini maliyetiyle her zaman karşılaştırın.

# Key costs in multi-region architecture:
# - EC2/RDS in each region: full compute costs
# - Cross-region data transfer: ~$0.02/GB
# - Route 53 health checks: ~$0.50/check/month
# - Global Accelerator: $0.025/hour + data transfer
# - DynamoDB Global Table replication: per-write charges per region
# - Aurora Global Database: storage replicated to all regions

Doğru Multi-Region Modelini Seçme

Multi-region modelinizi iş gereksinimlerinize göre seçin: RTO 1 saatten uzunsa ve öncelik maliyetse, başka bir Region'a Backup ve Restore kullanın. RTO dakikalar düzeyindeyse Warm Standby ile active-passive kullanın. RTO 1 dakikadan kısaysa ve kullanıcılar küresel olarak dağılmışsa active-active kullanın. Mevzuat gerekliliklerini göz önünde bulundurun; bazı sektörler verilerin belirli Region'larda kalmasını zorunlu kılar ve bu durum çoğaltma seçeneklerinizi sınırlayabilir. Mimari kararınızı, ödünleri açıkça belirterek belgeleyin.

# Decision matrix:
# RTO > 1 hour, RPO > 1 hour:  Backup & Restore
# RTO ~minutes, RPO ~minutes:   Active-Passive (Warm Standby)
# RTO < 1 minute, RPO ~0:       Active-Active

# Key services for each:
# Backup & Restore: AWS Backup + S3 CRR
# Active-Passive:   Aurora Global DB + Route 53 failover
# Active-Active:    DynamoDB Global Tables + Global Accelerator

Kısa Kontrol

Bu dersteki AWS Çözüm Mimarı (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: active-passive, bir Standby Region çalıştırır ve hata durumunda etkinleşir, active-active, aynı anda birden çok Region'dan trafik sunar ve DynamoDB Global Tables ile Aurora Global Database, multi-region veri çoğaltması için temel hizmetlerdir. Route 53 Health Check'leri ve Global Accelerator trafik yönlendirme kararlarını yönetir. Sırada Health Check'leri, devre kesicileri ve yeniden deneme mantığını inceleyeceğiz.

Sıkça Sorulan Sorular

“Çok Bölgeli Etkin-Etkin ve Etkin-Pasif” dersi ücretsiz mi?

Evet — “Çok Bölgeli Etkin-Etkin ve Etkin-Pasif” 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 AWS Solutions Architect kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

“Çok Bölgeli Etkin-Etkin ve Etkin-Pasif” dersinde ne öğreneceğim?

Route 53 gecikme yönlendirmesiyle trafiği aynı anda birden çok Bölgeye yönlendirin veya durum denetimli yük devretmeyle sıcak bekleme ortamına geçin. AWS Solutions Architect 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.

AWS Solutions Architect öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AWS Solutions Architect, 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.

“Çok Bölgeli Etkin-Etkin ve Etkin-Pasif” 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 AWS Solutions Architect dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AWS Solutions Architect 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

  1. HA ve Hata Toleransı: Tanımlar ve Ödünleşimler
  2. Durum Bilgili Hizmetler için Çoklu AZ Örüntüleri
  3. Çok Bölgeli Etkin-Etkin ve Etkin-Pasif
  4. Durum Denetimleri, Devre Kesiciler ve Yeniden Deneme Mantığı
← AWS Solutions Architect Sayfasına Dön