Amazon ANS-C01: Automatisering, IaC en Netwerkoperaties — Studiegids
Onderdeel van de AWS Advanced Networking Specialty ANS-C01 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.
Kernconcept
Infrastructure as Code voor netwerken op AWS zet netwerktopologie, beveiligingsbeleid en routing om in declaratieve templates en deterministische lifecycle-operaties. CloudFormation-templates (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) coderen de gewenste staat, terwijl CloudFormation API’s—CreateStack, UpdateStack, DeleteStack, DescribeStacks en ChangeSet-operaties—wijzigingen atomisch toepassen. Gebruik geneste stacks en modulaire templates om netwerkdomeinen (gedeelde services, applicatie-VPC’s per account, ingress/egress-zones) te isoleren en StackSets om consistente netwerkstacks te propageren over AWS Organizations. Drift detection (DetectStackDrift) en change sets bieden ‘guardrails’ zodat automatisering out-of-band netwerkwijzigingen kan detecteren en menselijke beoordeling kan vereisen.
Automatisering moet ook de onderdelen van het netwerk dekken die CloudFormation niet native kan uitdrukken of die lifecycle hooks vereisen: het delen van resources tussen accounts, on-prem integraties en runtime-configuratie op hosts. CloudFormation custom resources (ondersteund door Lambda) of CloudFormation-modules kunnen API’s aanroepen zoals CreateResourceShare (AWS RAM) om een Transit Gateway of subnet te delen, of Systems Manager (SSM) SendCommand aanroepen om certificaten of routeringsbeleid in instances te injecteren. Voor Kubernetes in EKS wordt de AWS Load Balancer Controller geïnstalleerd via Helm en beheerd via Service-annotaties; CloudFormation kan de IAM-rol, OIDC-provider en HelmRelease-objecten provisioneren via AWS::EKS::Cluster en custom resources, maar de runtime-mapping van pod-IP’s naar NLB-doelgroepen wordt afgehandeld door de controller.
Belangrijkste services en configuratie
Er zijn primaire AWS-services en API’s die u herhaaldelijk zult gebruiken bij het automatiseren van netwerkoperaties: 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), en AWS Config (PutEvaluations, StartConfigurationRecorder). Deze services vormen een typische automatiseringsstack voor veilige, auditeerbare netwerken.
Let bij het ontwerpen van templates en automatisering op specifieke resource-attributen en controller-annotaties. Kies voor load balancers het juiste type en de juiste attributen: een NLB met TCP-listeners behoudt het bron-IP en ondersteunt Proxy Protocol v2 via de CreateLoadBalancer/ModifyTargetGroupAttributes en het instellen van “proxy_protocol_v2.enabled” op doelgroepen; een ALB (Application Load Balancer) termineert TLS en voegt X-Forwarded-For-headers in voor client-IP’s en ondersteunt gRPC/HTTP2 wanneer geconfigureerd met HTTPS-listeners. Voor EKS gebruikt u annotaties zoals service.beta.kubernetes.io/aws-load-balancer-type: “nlb” of de Ingress/Service-annotaties van de AWS Load Balancer Controller om TLS-passthrough versus terminatie te regelen en om het doeltype in te stellen op ‘ip’ voor directe pod-targeting. Voor het delen tussen accounts en voor multi-account netwerken gebruikt u AWS RAM om Transit Gateways te delen, en CloudFormation StackSets in combinatie met gedelegeerde beheerdersrollen om attachments en toegang te creëren in consumer-accounts.
Ontwerppatronen en afwegingen
Twee veelvoorkomende, contrasterende patronen zijn hub-and-spoke met Transit Gateway en een gedeelde VPC via AWS RAM. Hub-and-spoke met een Transit Gateway centraliseert routing, inspectie en inter-VPC-connectiviteit; het schaalt omdat attachments en route tables segmentatie mogelijk maken, en u kunt de TGW delen met RAM zodat verschillende accounts attachments kunnen aanmaken zonder het volledige eigendom over te dragen. De afweging (’trade-off’) is route-propagatie en de limieten van route tables: de route tables en attachment-limieten van Transit Gateway vereisen planning en kunnen ‘single points’ creëren waar beleid moet worden afgedwongen (gebruik meerdere route tables en AWS Network Firewall om verkeer te isoleren). Gedeelde VPC (VPC delen met AWS RAM) plaatst subnets in een host-account en laat consumer-accounts resources lanceren in die subnets, wat centrale beveiligingscontroles voor connectiviteit vereenvoudigt, maar de autonomie op accountniveau vermindert en de netwerkisolatie per businessunit bemoeilijkt, omdat het eigendom van security groups en IAM-grenzen zorgvuldig moeten worden beheerd.
Voor ingress en TLS-terminatie moet u de behoefte aan end-to-end-encryptie afwegen tegen schaalbaarheid en het behoud van het client-IP. Als u TLS-terminatie op de load balancer vereist (voor WAF, centralisatie van certificaten en HTTP-routing), is ALB het juiste hulpmiddel; het voegt X-Forwarded-For toe zodat applicatielogging client-IP’s kan vastleggen, en ALB ondersteunt path- en host-based routing naar meerdere doelgroepen. Als u echte end-to-end TLS of mTLS vereist waarbij de load balancer het verkeer niet mag ontsleutelen, gebruik dan een NLB in TCP-modus om TLS door te geven aan backend-eindpunten (pod of instance) en configureer het doeltype ‘ip’ en ’externalTrafficPolicy: Local’ op Kubernetes om het bron-IP te behouden. Voor duizenden gelijktijdige, bidirectionele gRPC-verbindingen met mTLS, biedt een NLB die ruwe TLS doorstuurt naar pod-poorten, in combinatie met pods die mTLS termineren, schaalbaarheid en echte end-to-end-encryptie, terwijl u de annotaties van de AWS Load Balancer Controller gebruikt om de juiste NLB-listeners en doelgroepen te creëren.
Veelvoorkomende valkuilen en beslissingscriteria
Een veelvoorkomende valkuil is het verwarren van de locatie van TLS-beëindiging met de vereisten voor het client-IP-adres: ALB levert X-Forwarded-For wanneer het TLS beëindigt, maar het behoudt niet het bron-IP-adres naar de target zoals NLB dat wel doet. Als u zowel ALB-functies (host/path routing, WAF) als het originele bron-IP-adres op de backend nodig heeft, overweeg dan om ALB te gebruiken voor HTTP-beëindiging en het doorsturen naar reverse proxies of sidecars die de bron-IP’s reconstrueren uit X-Forwarded-For, of gebruik een architectuur waarbij een NLB TLS doorgeeft (passthrough) aan services die mTLS doen en de HTTP-routing offloaden naar in-cluster proxies. Een andere valkuil is het verkeerd configureren van cross-account permissies: wanneer u een Transit Gateway of een andere netwerkresource deelt met RAM, zorg er dan voor dat u een expliciete resource share en de juiste IAM-rol en RAM-principal gebruikt; als u dit niet doet, levert dit onduidelijke “permission denied”-fouten op.
Wat betreft compliance-automatisering, sla private keys of CA-materiaal niet ongeëncrypteerd op in platte tekst. Gebruik SSM Parameter Store SecureString met een KMS-sleutel die een minimale key policy heeft die alleen toegang verleent aan de rollen en principals die dit vereisen. Gebruik door AWS Config beheerde regels (bijvoorbeeld vpc-flow-logs-enabled, restricted-common-ports, security-group-rule-check) en waar beheerde regels niet aan uw criteria voldoen, implementeer dan Lambda-backed Config-regels die PutEvaluations aanroepen. Herstel (remediation) moet worden geautomatiseerd via SSM Automation-documenten of Systems Manager Run Command die de Config-remediation-actie kan aanroepen, maar zorg altijd voor een waarschuwings- en goedkeuringspad voor risicovolle wijzigingen.
Praktijkprobleem: Gebruiksscenario
Bedrijf: ApexTelemetrics — uitdaging: een wereldwijd bereikbare, op EKS gehoste gRPC-service bieden die echte end-to-end mutual TLS vereist (client en server authenticeren met mTLS), duizenden gelijktijdige, langdurige verbindingen via TCP 443 ondersteunt, pods automatisch moet kunnen schalen, en moet garanderen dat de distributie en rotatie van certificaten geautomatiseerd en auditeerbaar is.
Aanpak:
- Netwerk en load balancer provisioneren met CloudFormation: creëer een NLB via
undefined
, geconfigureerd met een TCP-listener op poort 443 en target groups met targetType ingesteld op “ip” en health checks op TCP. Gebruik CloudFormation
undefined
en modulaire geneste stacks voor de VPC, subnets en NLB. Gebruik AWS Load Balancer Controller-annotaties op de EKS Service (
undefined
,
undefined
) zodat elke Service de NLB target group rechtstreeks naar de pods aanmaakt. 2) Zorg voor TLS-passthrough en mTLS-beëindiging op de pods: configureer de EKS Service om TCP 443 rechtstreeks door te sturen naar de pod-poorten; implementeer een sidecar of envoy-proxy binnen elke pod die de mTLS-beëindiging met de client uitvoert en wederzijdse authenticatie afdwingt. Stel
undefined
in op de Service zodat het bron-IP-adres indien nodig behouden blijft, en gebruik autoscaling op pod-niveau (Horizontal Pod Autoscaler) met Cluster Autoscaler om nodes en pods samen te schalen. 3) Automatiseer de levenscyclus en distributie van certificaten: sla de private keys van de CA en servercertificaten op in SSM Parameter Store SecureString, versleuteld met een KMS-sleutel. Creëer een door AWS Lambda ondersteunde custom resource in CloudFormation om SSM-parameters aan te maken tijdens het creëren van de stack (
undefined
met de juiste IAM-rol, en vervolgens een CloudFormation custom resource om
undefined
aan te roepen). Gebruik SSM Run Command of een immutable DaemonSet die secrets ophaalt uit SSM via een IAM-rol die aan de pod is gekoppeld (via IRSA) om certificaten in de sidecar te injecteren. Plan voor rotatie Lambda-functies (
undefined
- EventBridge-regel) in om nieuwe certificaten te genereren,
undefined
uit te voeren, en gebruik SSM of Kubernetes Jobs om rolling restarts uit te voeren. 4) Compliance en audit: activeer AWS Config-regels (beheerde regels zoals
undefined
en custom Lambda-backed regels die
undefined
gebruiken) om te verifiëren dat de NLB-listeners TCP zijn en dat geen enkele ALB TLS beëindigt voor deze service. Configureer Config-remediation om SSM Automation-documenten aan te roepen als er een misconfiguratie wordt gedetecteerd en stuur bevindingen naar AWS Security Hub en CloudWatch Events. AWS-redenering: NLB in TCP-modus biedt de echte TLS-passthrough die nodig is voor end-to-end mTLS en schaalt naar duizenden gelijktijdige verbindingen met een kleine CPU-voetafdruk per verbinding op de load balancer. Het targeten van pods via
undefined
verwijdert een extra hop en houdt autoscaling responsief. Het opslaan en roteren van sleutels in SSM Parameter Store, beveiligd door KMS, biedt gecentraliseerd, auditeerbaar beheer van secrets met IAM-controles, en het gebruik van CloudFormation plus Lambda custom resources en EventBridge zorgt ervoor dat de gehele levenscyclus is vastgelegd in code (codified), herhaalbaar en observeerbaar is.
← Netwerkprestaties en Monitoring · Alle domeinen · Container en Serverless Networking →
Oefen deze vragen → · Getimede oefening op ExamRoll.io →
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.
Slaag voor je examen →