Amazon ANS-C01: Otomasyon, IaC ve Ağ Operasyonları — Ç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.

Temel kavram

AWS’te ağ oluşturma için Kod Olarak Altyapı (Infrastructure as Code), ağ topolojisini, güvenlik politikasını ve yönlendirmeyi bildirimsel şablonlara ve deterministik yaşam döngüsü operasyonlarına dönüştürür. CloudFormation şablonları (AWS::EC2::VPC, AWS::EC2::Subnet, AWS::EC2::RouteTable, AWS::EC2::TransitGateway, AWS::EC2::TransitGatewayAttachment, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::EC2::VPCEndpoint, AWS::EC2::NetworkAcl, AWS::EC2::SecurityGroup) istenen durumu kodlarken, CloudFormation API’leri—CreateStack, UpdateStack, DeleteStack, DescribeStacks ve ChangeSet operasyonları—değişiklikleri atomik olarak uygular. Ağ etki alanlarını (paylaşılan hizmetler, hesap başına uygulama VPC’leri, giriş/çıkış bölgeleri) izole etmek için iç içe yığınlar (nested stacks) ve modüler şablonlar, AWS Organizations genelinde tutarlı ağ yığınlarını yaymak için ise StackSets kullanın. Sapma tespiti (DetectStackDrift) ve değişiklik setleri (change sets), otomasyonun bant dışı ağ değişikliklerini tespit etmesi ve insan incelemesi gerektirmesi için koruma mekanizmaları sağlar.

Otomasyon, CloudFormation’ın yerel olarak ifade edemediği veya yaşam döngüsü kancaları (lifecycle hooks) gerektiren ağın kısımlarını da kapsamalıdır: hesaplar arası kaynak paylaşımı, şirket içi (on-prem) entegrasyonlar ve ana bilgisayarlarda (hosts) çalışma zamanı yapılandırması. CloudFormation özel kaynakları (custom resources) (Lambda tarafından desteklenen) veya CloudFormation modülleri, bir Transit Gateway veya alt ağı paylaşmak için CreateResourceShare (AWS RAM) gibi API’leri çağırabilir veya örneklere sertifika ya da yönlendirme politikaları enjekte etmek için Systems Manager (SSM) SendCommand’ı çağırabilir. EKS’deki Kubernetes için, AWS Load Balancer Controller, Helm aracılığıyla kurulur ve Service ek açıklamalarıyla (annotations) yönetilir; CloudFormation, IAM rolünü, OIDC sağlayıcısını ve HelmRelease nesnelerini AWS::EKS::Cluster ve özel kaynaklar aracılığıyla sağlayabilir, ancak pod IP’lerinin NLB hedef gruplarıyla çalışma zamanı eşleştirmesi denetleyici tarafından gerçekleştirilir.

Anahtar hizmetler ve yapılandırma

Ağ operasyonlarını otomatikleştirirken tekrar tekrar kullanacağınız başlıca AWS hizmetleri ve API’ler şunlardır: CloudFormation (CreateStack, UpdateStack, DetectStackDrift), AWS Resource Access Manager (CreateResourceShare, AssociateResourceShare), AWS Transit Gateway (CreateTransitGateway, CreateTransitGatewayAttachment, CreateTransitGatewayRoute), Elastic Load Balancing V2 (CreateLoadBalancer, CreateTargetGroup, ModifyTargetGroupAttributes), AWS Lambda (CreateFunction, AddPermission, Invoke), Systems Manager (PutParameter, SendCommand, CreateDocument) ve AWS Config (PutEvaluations, StartConfigurationRecorder). Bu hizmetler, güvenli ve denetlenebilir ağ oluşturma için tipik bir otomasyon yığını oluşturur.

Şablonları ve otomasyonu tasarlarken, belirli kaynak niteliklerine ve denetleyici ek açıklamalarına dikkat edin. Yük dengeleyiciler için doğru türü ve nitelikleri seçin: TCP dinleyicilerine sahip bir NLB, kaynak IP’yi korur ve CreateLoadBalancer/ModifyTargetGroupAttributes ile hedef gruplarında “proxy_protocol_v2.enabled” ayarlanarak Proxy Protocol v2’yi destekler; bir ALB (Application Load Balancer), TLS’i sonlandırır ve istemci IP’leri için X-Forwarded-For başlıkları ekler ve HTTPS dinleyicileriyle yapılandırıldığında gRPC/HTTP2’yi destekler. EKS için, TLS geçişini (passthrough) sonlandırmaya karşı kontrol etmek ve doğrudan pod hedeflemesi için hedef türünü ip olarak ayarlamak amacıyla service.beta.kubernetes.io/aws-load-balancer-type: "nlb" gibi ek açıklamaları veya AWS Load Balancer Controller’ın Ingress/Service ek açıklamalarını kullanırsınız. Hesaplar arası paylaşım ve çoklu hesap ağları için Transit Gateway’leri paylaşmak üzere AWS RAM’i ve tüketici hesaplarında eklentiler (attachments) ve erişim oluşturmak için delege edilmiş yönetici rolleriyle birleştirilmiş CloudFormation StackSets’i kullanacaksınız.

Tasarım desenleri ve ödünleşimler

İki yaygın ve zıt model, Transit Gateway ile hub-and-spoke ve AWS RAM aracılığıyla paylaşılan VPC’dir (shared-VPC). Transit Gateway ile hub-and-spoke, yönlendirmeyi, denetimi ve VPC’ler arası bağlantıyı merkezileştirir; eklentiler ve rota tabloları segmentasyona izin verdiği için ölçeklenir ve farklı hesapların tam sahipliği devretmeden eklentiler oluşturabilmesi için TGW’yi RAM kullanarak paylaşabilirsiniz. Bunun dezavantajı, rota yayılımı ve rota tablosu limitleridir: Transit Gateway rota tabloları ve eklenti limitleri planlama gerektirir ve politikanın uygulanması gereken tekil noktalar oluşturabilir (trafiği izole etmek için birden fazla rota tablosu ve AWS Network Firewall kullanın). Paylaşılan VPC (AWS RAM ile VPC paylaşımı), alt ağları bir ana hesaba yerleştirir ve tüketici hesaplarının bu alt ağlarda kaynak başlatmasına olanak tanır; bu, bağlantı için merkezi güvenlik kontrollerini basitleştirir ancak hesap düzeyinde özerkliği azaltır ve güvenlik grubu sahipliği ile IAM sınırlarının dikkatli bir şekilde yönetilmesi gerektiğinden iş birimi başına ağ izolasyonunu karmaşıklaştırır.

Giriş trafiği (ingress) ve TLS sonlandırma için, uçtan uca şifreleme ihtiyacını ölçek ve istemci IP’sinin korunmasıyla dengelemeniz gerekir. Yük dengeleyicide TLS sonlandırması gerekiyorsa (WAF, sertifika merkezileştirme ve HTTP yönlendirmesi için), ALB doğru araçtır; uygulama günlüklerinin istemci IP’lerini yakalayabilmesi için X-Forwarded-For ekler ve ALB, birden çok hedef gruba yol ve ana bilgisayar tabanlı yönlendirmeyi destekler. Yük dengeleyicinin trafiğin şifresini çözmemesi gereken gerçek uçtan uca TLS veya mTLS gerekiyorsa, TLS’yi arka uç noktalara (pod veya örnek) geçirmek için TCP modunda bir NLB kullanın ve kaynak IP’yi korumak için Kubernetes’te hedef türünü ip ve externalTrafficPolicy: Local olarak yapılandırın. mTLS ile binlerce eşzamanlı çift yönlü gRPC bağlantısı için, ham TLS’yi pod bağlantı noktalarına ileten bir NLB ile mTLS’yi sonlandıran podların birleşimi, ölçeklenebilirlik ve gerçek uçtan uca şifreleme sağlar; bu sırada uygun NLB dinleyicilerini ve hedef gruplarını oluşturmak için AWS Load Balancer Controller ek açıklamalarını kullanır.

Yaygın tuzaklar ve karar kriterleri

Sık karşılaşılan bir tuzak, TLS sonlandırma konumu ile istemci IP gereksinimlerini karıştırmaktır: ALB, TLS’i sonlandırdığında X-Forwarded-For sağlar, ancak NLB’nin yaptığı gibi kaynak IP’yi hedefe kadar korumaz. Hem ALB özelliklerine (ana bilgisayar/yol tabanlı yönlendirme, WAF) hem de arka uçta orijinal kaynak IP’ye ihtiyacınız varsa, HTTP sonlandırması için ALB kullanmayı ve kaynak IP’leri X-Forwarded-For’dan yeniden oluşturan ters proxy’lere veya sidecar’lara yönlendirmeyi düşünün ya da bir NLB’nin TLS’i mTLS yapan hizmetlere doğrudan ilettiği ve HTTP yönlendirmesini küme içi proxy’lere devrettiği bir mimari kullanın. Diğer bir tuzak, hesaplar arası izinleri yanlış yapılandırmaktır: Bir Transit Gateway veya başka bir ağ kaynağını RAM ile paylaşırken, açık bir kaynak paylaşımı ve doğru IAM rolü ile RAM principal’ını kullandığınızdan emin olun; bunu yapmamak, anlaşılması zor “permission denied” (izin reddedildi) hatalarına yol açar.

Uyumluluk otomasyonu konusunda, özel anahtarları veya CA materyallerini düz metin olarak şifrelenmemiş bir şekilde saklamayın. Yalnızca erişim gerektiren rollere ve principal’lara izin veren minimal bir anahtar politikasına sahip bir KMS anahtarı ile SSM Parameter Store SecureString kullanın. AWS Config tarafından yönetilen kuralları (örneğin, vpc-flow-logs-enabled, restricted-common-ports, security-group-rule-check) kullanın ve yönetilen kuralların kriterlerinizi karşılamadığı durumlarda, PutEvaluations’ı çağıran Lambda destekli Config kuralları uygulayın. Düzeltme, Config düzeltme eyleminin çağırabileceği SSM Automation belgeleri veya Systems Manager Run Command aracılığıyla otomatikleştirilmelidir, ancak yüksek riskli değişiklikler için her zaman bir uyarı ve onay yolu sağlayın.

Pratik Problem: Kullanım Senaryosu

Şirket: ApexTelemetrics — zorluk: gerçek uçtan uca karşılıklı TLS (istemci ve sunucu mTLS ile kimlik doğrular) gerektiren, TCP 443 üzerinden binlerce eş zamanlı uzun ömürlü bağlantıyı destekleyen, pod’ları otomatik olarak ölçeklendirmesi gereken ve sertifika dağıtımı ile rotasyonunun otomatik ve denetlenebilir olmasını sağlayan, küresel olarak erişilebilir, EKS üzerinde barındırılan bir gRPC hizmeti sağlamak.

Yaklaşım:

  1. Ağı ve yük dengeleyiciyi CloudFormation ile hazırlayın: 443 numaralı bağlantı noktasında TCP dinleyicisi ve targetType’ı “ip” olarak ayarlanmış hedef grupları ve TCP üzerinde sağlık kontrolleri ile yapılandırılmış bir NLB’yi AWS::ElasticLoadBalancingV2::LoadBalancer aracılığıyla oluşturun. VPC, alt ağlar ve NLB için CloudFormation CreateStack/UpdateStack ve modüler iç içe yığınlar kullanın. Her Service’in NLB hedef grubunu doğrudan pod’lara oluşturması için EKS Service üzerinde AWS Load Balancer Controller ek açıklamalarını (service.beta.kubernetes.io/aws-load-balancer-type: “nlb”, service.beta.kubernetes.io/aws-load-balancer-target-type: “ip”) kullanın.
  2. TLS doğrudan geçişini (passthrough) ve mTLS sonlandırmasını pod’larda sağlayın: EKS Service’i TCP 443’ü doğrudan pod bağlantı noktalarına yönlendirecek şekilde yapılandırın; her pod içinde istemciyle mTLS sonlandırması yapan ve karşılıklı kimlik doğrulamayı zorunlu kılan bir sidecar veya envoy proxy uygulayın. Gerekirse kaynak IP’nin korunması için Service üzerinde externalTrafficPolicy: Local ayarlayın ve düğümleri ile pod’ları birlikte ölçeklendirmek için Cluster Autoscaler ile Pod düzeyinde otomatik ölçeklendirme (Horizontal Pod Autoscaler) kullanın.
  3. Sertifika yaşam döngüsünü ve dağıtımını otomatikleştirin: CA ve sunucu sertifikası özel anahtarlarını, bir KMS anahtarı tarafından şifrelenmiş SSM Parameter Store SecureString’de saklayın. Yığın oluşturma sırasında SSM parametreleri oluşturmak için CloudFormation’da AWS Lambda destekli bir özel kaynak oluşturun (uygun IAM rolüyle CreateFunction, ardından PutParameter’ı çağırmak için CloudFormation özel kaynağı). Sertifikaları sidecar’a enjekte etmek için SSM Run Command veya pod’a bağlı IAM rolü aracılığıyla (IRSA ile) SSM’den gizli anahtarları çeken değişmez bir DaemonSet kullanın. Rotasyon için, yeni sertifikalar oluşturmak, PutParameter yapmak ve sıralı yeniden başlatmaları (rolling restarts) gerçekleştirmek için SSM veya Kubernetes Jobs kullanmak üzere Lambda işlevlerini (CreateFunction + EventBridge kuralı) zamanlayın.
  4. Uyumluluk ve denetim: NLB dinleyicilerinin TCP olduğunu ve bu hizmet için hiçbir ALB’nin TLS sonlandırmadığını doğrulamak için AWS Config kurallarını (vpc-flow-logs-enabled gibi yönetilen kurallar ve PutEvaluations kullanan özel Lambda destekli kurallar) etkinleştirin. Yanlış yapılandırma tespit edilirse SSM Automation belgelerini çağırmak ve bulguları AWS Security Hub ile CloudWatch Events’e göndermek için Config düzeltmesini yapılandırın. AWS gerekçesi: TCP modundaki NLB, uçtan uca mTLS için gereken gerçek TLS doğrudan geçişini (passthrough) sağlar ve yük dengeleyicide bağlantı başına düşük bir CPU ayak izi ile binlerce eş zamanlı bağlantıya ölçeklenir. Pod’ları targetType=ip ile hedeflemek, fazladan bir atlamayı (hop) ortadan kaldırır ve otomatik ölçeklendirmenin duyarlı kalmasını sağlar. Anahtarları KMS ile güvence altına alınmış SSM Parameter Store’da saklamak ve döndürmek, IAM kontrolleri ile merkezi, denetlenebilir bir gizli anahtar yönetimi sunar ve CloudFormation artı Lambda özel kaynakları ve EventBridge kullanmak, tüm yaşam döngüsünün kodlanmış, tekrarlanabilir ve gözlemlenebilir olmasını sağlar.

Ağ Performansı ve İzleme · Tüm alanlar · Konteyner ve Sunucusuz Ağ

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