ÖZET VE TEKNİK CEVAP
AWS, aynı bölgedeki Kullanılabilirlik Alanları (Availability Zones - AZ) arasında aktarılan veriler için her iki yönde GB başına $0,01 (gidiş-dönüş toplam $0,02/GB) ücret tahsil eder. Yüksek hacimli mikroservis ve servis ağı (Kubernetes/Istio/Linkerd) yapılarında, rastgele pod yerleşimi ve round-robin yük dengeleme nedeniyle 3-AZ'li bir kümede servisler arası RPC çağrılarının yaklaşık %66'sı AZ sınırlarını aşar. Ayda 500 TB dahili RPC ve veritabanı trafiği üreten bir kümede bu durum ayda $10.000 - $20.000 saf ağ israfına yol açar. Kubernetes Topology-Aware Routing ve Envoy Zone-Aware yönlendirme uygulanması bu maliyeti %70-85 oranında düşürür.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
3 AZ'li bir Kubernetes kümesinde, Servis A'dan Servis B'ye giden bir isteğin aynı AZ'de kalma olasılığı 1/3 (%33,3), AZ sınırını aşma olasılığı ise 2/3'tür (%66,7). Servis B ardından Servis C'yi ve bir veritabanını çağırdığında her adımda bu olasılık katlanır. Kubernetes `TopologyAwareRouting` (`service.kubernetes.io/topology-mode: Auto`), trafiği öncelikle çağrıyı yapan pod ile aynı AZ'deki pod'lara yönlendirir. Envoy ve Istio servis ağları ise `LocalityPrioritizedLoadBalancing` kullanarak sağlıklı trafiğin %100'ünü yerel AZ içinde tutar ve yalnızca yerel bölge çöktüğünde diğer AZ'lere taşır.
2. Doğru Kullanım Senaryosu
AWS üzerinde (EKS, ECS, EC2) çoklu kullanılabilirlik alanına yayılmış yüksek hacimli mikroservis sistemleri (gRPC, REST, Kafka üretici/tüketicileri, Elasticsearch/Redis kümeleri). Aylık dahili veri transferi 50 TB'ı aşan tüm altyapılarda uygulanması zorunludur.
3. Prodüksiyon Arıza Modları
AZ'ler arasında dengesiz dağılmış pod'lara sahip servislerde (örneğin AZ-a'da 10 pod, AZ-b'de 1 pod) topology-aware routing açılması sonucu AZ-b'deki tek pod'un aşırı yüklenerek kilitlenmesi (OOM/CPU throttling); Kafka tüketicilerinin rack-awareness (`client.rack`) olmadan uzak AZ'deki broker'lardan veri çekerek cross-AZ faturasını şişirmesi.
4. Teşhis ve Telemetri Sinyalleri
AWS Cost Explorer'da `AWS Data Transfer - InterZone-In` ve `InterZone-Out` kalemlerinde devasa harcamalar; Kubernetes ağ metriklerinde yoğun bölgeler arası soket bağlantıları; mikroservis RPC çağrılarında dalgalı gecikme (latency) süreleri.
5. Önleme ve Mimari Bariyerler
Pod'ların AZ'ler arasında eşit dağılması için Kubernetes `topologySpreadConstraints` (`maxSkew: 1`) tanımlayın; tüm dahili ClusterIP servislerinde `service.kubernetes.io/topology-mode: Auto` bayrağını aktifleştirin; Kafka tüketicilerinde `client.rack` tanımlayarak en yakın replikadan okuma (KIP-392) özelliğini açın; sık haberleşen servisleri pod affinity ile aynı alana yerleştirin.
6. Mimari Ödünleşimler (Trade-offs)
Topology-aware routing on binlerce dolar ağ tasarrufu sağlar ve medyan RPC gecikmesini düşürür; ancak trafik dalgalanmalarında tek bir bölgenin aşırı yüklenmesini önlemek için AZ başına simetrik pod ölçeklemesi gerektirir.
Vaka İncelemesi (TinyCTO Örneği)
AWS EKS üzerinde 3 AZ'de 80 mikroservis çalıştıran bir fintech şirketi, servisler arası gRPC trafiği nedeniyle ayda 1,2 Petabayt veri transferi üretiyor ve ayda $24.000 Cross-AZ veri transfer ücreti ödüyordu. Tüm servislere `topologySpreadConstraints` (maxSkew: 1) ve Topology-Aware Routing uygulandıktan sonra RPC çağrılarının %82'si aynı AZ içinde kaldı ve aylık transfer faturası $4.500'ın altına inerek yılda $234.000 tasarruf sağlandı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaAynı bölge içindeki AWS Cross-AZ veri transferinin birim maliyeti nedir?
Yerellik yönlendirmesi olmayan 3-AZ'li bir Kubernetes kümesinde servisler arası çağrıların yüzde kaçı AZ sınırlarını aşar?
Kubernetes ve Servis Ağlarında Kullanılabilirlik Alanı (Cross-AZ) Veri Transfer Vergisi — Sıkça Sorulan Sorular
Kubernetes Servis kaynaklarında Topology-Aware Routing'i hangi annotasyon aktifleştirir?
Kubernetes 1.27+ sürümlerinde `service.kubernetes.io/topology-mode: Auto`, eski sürümlerde `service.kubernetes.io/topology-aware-hints: auto`.
Apache Kafka tüketiciler (consumers) için cross-AZ veri transfer maliyetini nasıl düşürür?
KIP-392 (En Yakın Replikadan Okuma) özelliğiyle: `client.rack` değeri tüketicinin AZ'sine eşitlendiğinde tüketici uzak lider yerine yerel AZ'deki eşzamanlı replikadan veri okur.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸AWS Cross-AZ data transfer costs $0.01/GB ingress + $0.01/GB egress ($0.02/GB total).
- ▸Unconfigured 3-AZ microservices send ~67% of RPC traffic across AZ boundaries.
- ▸Kubernetes Topology-Aware Routing and Envoy Zone-Aware Routing keep traffic in the local AZ.
- ▸Even pod distribution via topologySpreadConstraints is mandatory to prevent single-zone pod overload.
Yaygın Yanılgılar
- ✗Yanılgı: Data transfer between EC2 instances in the same VPC is always free (Gerçek: Inter-AZ traffic incurs $0.02/GB; only intra-AZ traffic is free).
- ✗Yanılgı: Enabling topology-aware routing eliminates multi-AZ high availability (Gerçek: Remote AZs are still used as immediate failovers if local pods become unhealthy).
Karar Kılavuzu & Önceliklendirme
Enable Topology-Aware Routing on all high-throughput internal Kubernetes services. Configure Kafka consumers with rack-awareness to avoid cross-zone topic consumption.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Amazon EC2 On-Demand Data Transfer Pricing— AWS Networking Documentation
