Amazon ANS-C01: Konteyner ve Sunucusuz Ağ — Çalışma kılavuzu

Şunun bir parçası: AWS Advanced Networking Specialty ANS-C01 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Amazon sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.

EKS ağ iletişimi (CNI, pod ağ iletişimi)

Amazon EKS’teki pod ağ iletişimi, büyük ölçüde her pod’a VPC’den bir IP adresi veren ve pod trafiğini doğrudan VPC ağına yerleştiren Amazon VPC CNI eklentisi (amazon-vpc-cni-k8s) tarafından yönetilir. Bu tasarım, öngörülebilir VPC düzeyinde güvenlik kontrolü (güvenlik grupları, NACL’ler) ve düşük gecikmeli yönlendirme sağlar, ancak ENI başına ikincil IPv4 adresi sayısı ve örnek türü başına ENI sayısı donanım sınırlı olduğundan, dikkatli bir IP adresi ve ENI kapasite planlaması gerektirir. aws-node daemonset’i IP atama ve takma/çıkarma işlemlerini yürütür; davranışı ayarlamak için ConfigMap’i kubectl ile düzenlenir (örneğin, WARM_IP_TARGET, WARM_ENI_TARGET veya ENABLE_PREFIX_DELEGATION ayarlanır). Ön ek delegasyonu (prefix delegation) ve pod ENI modları, bir düğümün bir ENI’ye bütün /28 ön eklerini atamasına izin vererek (ENABLE_PREFIX_DELEGATION=true) veya her pod’a özel bir ENI atayarak (yüksek güvenlikli izolasyon için kullanışlıdır) düğüm başına IP tükenmesini azaltır.

Cilium (eBPF) veya Calico gibi Amazon VPC CNI alternatifleri farklı avantaj ve dezavantajlar sunabilir. Cilium, kube-proxy’nin yerini alabilir ve eBPF kullanarak yüksek performanslı L3/L4 iletimi uygulayabilir, düğümler arasında şeffaf şifrelemeyi (WireGuard veya IPsec) etkinleştirebilir ve overlay (yer paylaşımı) veya masquerading (maskeleme) yaklaşımlarını kullanarak düğüm düzeyindeki IP baskısını azaltabilir. Cilium ile yine de egress ve ingress için VPC yönlendirmesiyle entegre olursunuz, ancak sık ENI takma/çıkarma işlemlerinden kaçınırsınız; bu, yüksek pod değişim oranlarında (churn rates) önemlidir. Çok yüksek bağlantı sayıları ve katı L7 davranışı için, kube-proxy modunu (IPVS) ayarlamayı ve düğüm çekirdek ayarlarını da göz önünde bulundurmalısınız: conntrack_max, tcp_tw_recycle/tcp_tw_reuse ve ip_local_port_range’i ayarlayın ve binlerce eş zamanlı uzun ömürlü gRPC bağlantısı altında geçici (ephemeral) port tükenmesini önlemek için bunları kubelet veya daemonset init betikleri aracılığıyla kullanıma sunun.

ECS ağ modları ve Lambda VPC entegrasyonu

ECS görev (task) ağ iletişiminin üç ana modu vardır: bridge, host ve awsvpc. awsvpc modu, her göreve (veya görev grubuna) bir ENI takması ve doğrudan göreve özel bir IP ve güvenlik grupları ataması nedeniyle Kubernetes pod ağ iletişimine en çok benzeyen moddur. awsvpc’yi, RunTask veya CreateService API çağrılarında subnets ve securityGroups ile awsvpcConfiguration belirterek yapılandırın. Fargate, awsvpc modunu zorunlu kılar ve bu nedenle görev düzeyinde ağ izolasyonu sağlar ve hizmet keşfi için AWS Cloud Map ile entegre olur. Görev başına güvenlik grubu tabanlı trafik filtrelemeye veya standart VPC yönlendirmesini ve metriklerini kullanıma sunmaya ihtiyacınız olduğunda awsvpc’yi kullanın.

VPC erişimine ihtiyaç duyan Lambda fonksiyonları, fonksiyonun yapılandırılmış alt ağları ve güvenlik gruplarındaki ENI’ler aracılığıyla VPC’ye bağlanır. Bu ENI’ler Lambda kontrol düzlemi tarafından oluşturulur ve yönetilir, ancak ENI sağlama işlemi soğuk başlatma (cold-start) gecikmesi ekleyebilir ve geçmişte, provisioned concurrency (sağlanmış eşzamanlılık) ile veya VPC uç noktaları (AWS PrivateLink) ve dikkatle tasarlanmış bir alt ağ mimarisi kullanılarak azaltılmadığı sürece hızlı ölçeklenmeyi sınırlamıştır. Bir VPC’ye çok sayıda Lambda fonksiyonu yerleştirirken, alt ağlarda kullanılabilir IP’ler olduğundan emin olun, gerektiğinde egress için NAT Gateway veya NAT örnekleri kullanın ve mümkün olan yerlerde egress trafiğini internet üzerinden yönlendirmekten kaçınmak için VPC uç noktalarını (AWS::EC2::VPCEndpoint aracılığıyla com.amazonaws.* uç noktaları) tercih edin. Ölçeklenme davranışını gözlemlemek ve eşzamanlılıkla ilgili kısıtlamaları (throttling) gidermek için CloudWatch Logs ve VPC Flow Logs kullanarak ENI takma/çıkarma işlemlerini izleyin.

App Mesh ve hizmet keşfi

AWS App Mesh, veri düzlemi (data plane) olarak Envoy sepetlerini (sidecar) kullanır ve L3–L7 gözlemlenebilirlik, trafik şekillendirme, yeniden denemeler ve TLS başlatma/sonlandırma (origination/termination) kontrolleri sağlar. Mesh’leri, sanal düğümleri (virtual nodes) ve sanal hizmetleri (virtual services) App Mesh API’si (CreateMesh, CreateVirtualNode, CreateVirtualService) veya Kubernetes için App Mesh denetleyicisi (controller) aracılığıyla tanımlayın. App Mesh, bir VirtualNode dinleyicisinin TLS bloğunu clientPolicy ve bir sertifika yetkilisi (certificate authority) ile yapılandırarak mTLS’i destekler ve sertifika dağıtımı için AWS Certificate Manager (ACM) veya SDS ile entegre olabilirsiniz. Ancak, App Mesh sepetlerinin tasarımı gereği trafiği sonlandırıp yeniden şifrelediğini unutmayın; eğer bir gereksinim, uygulama trafiğinin istemci ile uygulama podu arasında uçtan uca şifreli kalmasını (ağ proxy’sinde şifre çözme olmamasını) zorunlu kılıyorsa, TLS’nin yalnızca pod’da sonlandırıldığından emin olmalı ve mesh ingress’inde veya yük dengeleyicide sonlandırmaktan kaçınmalısınız.

Hizmet keşfi (Service discovery) genellikle EKS için Kubernetes Services ve CoreDNS ile, platformlar arası çözümler için Cloud Map (CreateService, RegisterInstance) ile ve DNS tabanlı arama için Route 53 özel barındırılan bölgeler (private hosted zones) ile yapılır. AWS Cloud Map, doğrudan ECS ve App Mesh ile entegre olarak SRV veya A kayıtlarını ve API güdümlü sağlık kontrollerini etkinleştirir. Örneklerin hızla ölçeklendiği dinamik ortamlar için, eski (stale) çözümlemelerden kaçınmak amacıyla kısa DNS TTL’lerini ve Cloud Map sağlık kontrollerini birleştirin; anında tutarlılığa ihtiyacınız varsa, DNS önbelleğine güvenmek yerine uç noktaları getirmek için bir hizmet mesh’i kontrol düzlemi API’si kullanın.

Tasarım desenleri ve ödünleşimler

mTLS ile TLS üzerinden büyük ölçekli gRPC için tasarım yaparken, TLS’in nerede sonlandırılacağına karar vermelisiniz. TLS’i yük dengeleyicide (ALB) sonlandırmak, sertifikaların ACM’ye yükünü devretmeye olanak tanır ve sertifika rotasyonunu basitleştirir, ancak uçtan uca şifrelemeyi bozar ve arka uç (backend) istemci sertifika bilgisi iletilerek TLS’i yeniden kurmadıkça arka uç pod’larına karşılıklı TLS (mTLS) sağlayamaz. Uygulama uç noktalarının (endpoint) istemcileri doğrudan doğruladığı gerçek uçtan uca mTLS için, Network Load Balancer gibi bir L4 geçiş (passthrough) ağ geçidi kullanın ve TLS/mTLS’i pod/uygulamanın yönetmesine izin verin. Pod IP’lerini doğrudan kaydetmek için NLB’nin target-type ip özelliğini AWS Load Balancer Controller’ın service.beta.kubernetes.io/aws-load-balancer-target-type: "ip" anotasyonu ile birleştirin; bu desen iyi ölçeklenir çünkü NLB milyonlarca bağlantı için tasarlanmıştır ve TLS’i sonlandırmadan uzun ömürlü TCP/gRPC oturumlarını destekler.

HTTPS sonlandırması ile ingress ve yol tabanlı (path-based) yönlendirme için Application Load Balancer daha uygundur çünkü host/path kurallarını, yönlendirmeleri (redirects) ve WAF ile entegrasyonu destekler. ALB, TLS’i sonlandırdığında istemci IP’lerini korumak için X-Forwarded-For başlıklarına (header) güvenin; arka uç web sunucuları X-Forwarded-For‘u işlemeli ve loglamalıdır ve doğrulama için ALB erişim loglarını (access logs) etkinleştirmelisiniz. Sunucu katmanında (eski yazılımlar için) gerçek istemci soket adresine ihtiyacınız varsa, proxy protocol v2 ile NLB kullanın ve arka uç servislerinin proxy protocol’ü desteklediğinden emin olun.

Birden çok AWS hesabı ve VPC arasındaki servis bağlantısı, desene bağlı olarak farklı şekilde ölçeklenir. VPC peering basittir ancak yönetim açısından N^2 karmaşıklığındadır; Transit Gateway yönlendirmeyi merkezileştirir ve rota tablosu (route table) ayrımı ile çok sayıda VPC için daha iyi ölçeklenir; AWS PrivateLink (Interface VPC Endpoints), servis başına en ayrıntılı, kimlik duyarlı erişim modelini sağlar çünkü bir endpoint servisini NLB aracılığıyla sunarsınız ve tüketiciler kendi VPC’lerinde arayüz uç noktaları (interface endpoints) oluşturur. Katı erişim kontrolü ve ölçeklenebilir katılım (onboarding) gerektiren çoklu hesap paylaşılan servisler için PrivateLink’i tercih edin, çünkü yönlendirmeyi izole eder (tüketici VPC’lerinde rota tablosu değişikliği olmaz) ve ayrıntılı kontroller için güvenlik gruplarını (security groups) kullanır.

Sık karşılaşılan tuzaklar ve karar kriterleri

Tekrarlanan bir tuzak, aynı ağ modelinin tüm iş yüklerine uyduğunu varsaymaktır. Durum bilgisi olan (stateful) veya uzun ömürlü bağlantı iş yükleri (gRPC, veritabanları), proxy kaynaklı gecikmeyi önlemek için pod düzeyinde TLS sonlandırması veya hostPort/hostNetwork desenleri ile L4 geçişini (NLB) tercih eder; yol tabanlı yönlendirme (path-based routing), WAF veya WebSocket sonlandırması gerektiren HTTP mikro hizmetleri ise ALB ve App Mesh özelliklerinden faydalanır. Başka bir hata, awsvpc modunda EKS düğümlerini veya ECS görevlerini ölçeklendirirken ENI/IP limitlerini hesaba katmamaktır: yüksek pod yoğunluğuna ihtiyaç duyduğunuzda daima EC2 örnek tipi ENI ve ENI başına IP tablosuna başvurun ve ön ek delegasyonu (prefix delegation) veya Cilium katmanlarını (overlays) kullanın.

İzleme ve hata ayıklama birden fazla kaynak gerektirir: trafik çıkışını/girişini (egress/ingress) görmek için VPC Akış Günlükleri (Flow Logs) ve ENI metrikleri, AWS Load Balancer’lar için CloudWatch metrikleri (ActiveFlowCount, ProcessedBytes) ve Envoy/App Mesh veya AWS X-Ray ajanından gelen uygulama düzeyinde telemetri. Lambda ve Fargate için, ENI işlemlerine bağlı soğuk başlatmaların (cold start), sağlanan eş zamanlılık (provisioned concurrency) ile veya fonksiyonların geniş kapsamlı çıkışa (egress) ihtiyaç duymaması için VPC uç noktalarını (endpoints) ve PrivateLink’i kullanacak şekilde erişim desenlerini yeniden tasarlayarak azaltılabileceğini unutmayın.

Pratik Problem: Kullanım Senaryosu

Şirket adı: Acme Payments Inc. Zorluk: Acme Payments, Amazon EKS üzerinde, TCP 443 portunda binlerce eş zamanlı TLS bağlantısını desteklemesi, istemci sertifikasının arka uç (backend) hizmeti tarafından doğrulanması için karşılıklı TLS (mTLS) kullanması ve EKS kümesinin bağlantıyı kesmeden veya yük dengeleyicide TLS sonlandırması gerektirmeden Cluster Autoscaler ve HPA aracılığıyla otomatik ölçeklenmesine olanak tanıması gereken bir gRPC hizmeti çalıştırmaktadır.

Numaralandırılmış yaklaşım:

  1. Hizmeti, uygulamada veya harici istemciler için uçtan uca TLS’i sonlandırmayan bir sidecar’da uygulanan pod düzeyinde TLS ve karşılıklı kimlik doğrulama ile dağıtın. Sunucu/istemci sertifikalarını AWS Secrets Manager’da saklayın ve Kubernetes CSI secrets store aracılığıyla bağlayın (mount) veya pod yaşam döngüsüyle çalışan bir sertifika dağıtım mekanizması kullanın.
  2. Service’i ek açıklama (annotate) ile işaretleyerek (service.beta.kubernetes.io/aws-load-balancer-type: “nlb”) bir Network Load Balancer oluşturmak için AWS Load Balancer Controller’ı kullanın ve hedef türünü (target type) IP olarak ayarlayın (service.beta.kubernetes.io/aws-load-balancer-target-type: “ip”), ardından 443 portunda bir TCP dinleyicisi (listener) oluşturun. Bu, NLB’nin L4 geçişi (passthrough) yapmasını ve TLS’i sonlandırmamasını sağlar.
  3. NLB hedef grubunu (target group) TCP protokolü ile yapılandırın ve pod IP’lerini dinamik olarak kaydedin (Load Balancer Controller, CreateTargetGroup ve RegisterTargets’ı çağıracaktır). Otomatik ölçeklendirme sırasında hedeflerin hızla sağlıklı olarak işaretlenmesi için sağlık kontrollerinin (health checks) TCP’ye veya kısa aralıklı özel bir TCP tabanlı sağlık denetimine (probe) ayarlandığından emin olun (aws elbv2 create-target-group –protocol TCP –port 443 –target-type ip; aws elbv2 create-listener –protocol TCP –port 443 …).
  4. Yüksek pod yoğunluğunu desteklemek ve ENI değişimini (churn) azaltmak için Amazon VPC CNI’ı ayarlayın: destekleniyorsa ön ek delegasyonunu (prefix delegation) etkinleştirin (aws-node ConfigMap’inde ENABLE_PREFIX_DELEGATION=true olarak ayarlayın), yedek adresleri korumak için WARM_IP_TARGET’ı yapılandırın ve aws-node metriklerini (kube-system daemonset günlükleri ve CloudWatch özel metrikleri) izleyin. Düğüm düzeyindeki IP limitleri bir endişe kaynağıysa, daha yüksek pod yoğunluğu ve azaltılmış ENI işlemleri için eBPF ile Cilium kullanmayı düşünün.
  5. Kümeyi güvenli bir şekilde ölçeklendirin: Cluster Autoscaler’ın uygun düğüm grubu etiketlerine (tags) ve IAM izinlerine sahip olduğundan emin olun, PodDisruptionBudgets’ı ayarlayın ve küçülme (scale-down) sırasında uzun ömürlü gRPC bağlantılarının düşmesini önlemek için hedef grubu sağlık kontrollerinin ve NLB bağlantı boşaltmanın (connection draining) yapılandırıldığını doğrulayın.
  6. Sertifika rotasyonunu ve güvenini güvence altına alın: ACM Private CA veya Secrets Manager ile sertifika rotasyonunu otomatikleştirin ve pod’ların NLB’nin yeniden yapılandırılmasını gerektirmeden güncellenmiş güven paketlerini (trust bundles) almasını sağlayın. mTLS el sıkışma (handshake) hazırlığını yansıtan Kubernetes readiness/liveness denetimlerini (probes) kullanın.

AWS gerekçesi: IP hedef modundaki bir Network Load Balancer, pod’a kadar TLS’i korur (gerçek uçtan uca şifreleme) ve milyonlarca kalıcı TCP bağlantısını destekler, bu da onu binlerce eş zamanlı gRPC oturumu için uygun hale getirir. Pod IP’lerini doğrudan kaydetmek, düğüm başına hostPort veya örnek hedefi (instance target) kaydı karmaşıklığını ortadan kaldırır ve Cluster Autoscaler/HPA ile sorunsuz çalışır, çünkü AWS Load Balancer Controller pod’lar ölçeklendikçe pod IP’lerini kaydedecek ve kaydını silecektir. VPC CNI’ı ayarlamak veya eBPF tabanlı bir veri düzlemi (data plane) benimsemek, IP tükenmesini önler ve ENI ekleme/ayırma (attach/detach) gecikmesini azaltır; bu da hızlı otomatik ölçeklendirme ve yüksek bağlantılı iş yükleri için çok önemlidir. mTLS yapılarının (artifacts) Secrets Manager veya bir CSI sağlayıcısı aracılığıyla saklanması ve dağıtılması, yük dengeleyiciye dokunmadan sertifika yaşam döngüsünü yönetilebilir kılar.


Otomasyon · Tüm alanlar

Bu soruları çözün → · ExamRoll.io’da süreli pratik →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Sınavınızı geçin →

Amazon'a göz atın →

Related guides

Hepsi bir arada erişim

Tek abonelik. Her sınav.

Her plan, sınırsız cevap aramayı, pratik testlerini, AI açıklamalarını ve tam kaynak kütüphanesini — 20'den fazla dilde — açar.

Aylık
24.87
Just €0.83/day
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

En iyi değer
12 ay
179.87
Just €0.49/daySave 40%
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

✓ Ücretsiz plan dahil · ✓ İstediğiniz zaman iptal edin · ✓ Tüm planlar tam ürünü açar