Amazon SOA-C02: Implementatie, Provisioning en Automatisering — Studiegids
Onderdeel van de AWS SysOps Administrator Associate SOA-C02 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.
Dit domein behandelt de methoden en tooling die worden gebruikt om AWS-infrastructuur en applicatie-deployments betrouwbaar en herhaalbaar te provisioneren, updaten en beheren. Het legt de nadruk op declaratieve, idempotente provisioning, geautomatiseerde pipelines voor releases en operationele automatisering die handmatig werk vermindert, terwijl auditeerbaarheid en beveiliging behouden blijven. Operators moeten een balans vinden tussen veiligheid (rollbacks, wijzigingsbeleid) en snelheid (immutable images, geautomatiseerd patchen), en patronen kiezen die compliance en herstelbaarheid ondersteunen.
CloudFormation en Infrastructure as Code-patronen
Gebruik CloudFormation (of CDK/Terraform) om infrastructuur als code te declareren zodat stacks idempotent zijn: een template beschrijft de gewenste staat en de engine convergeert de resources. Geef de voorkeur aan declaratieve resources en parameters boven imperatieve scripts. Typische CLI-patronen:
- Een change set aanmaken en inspecteren: aws cloudformation create-change-set –stack-name my-stack –template-body file://template.yaml –parameters ParameterKey=Env,ParameterValue=prod –change-set-name cs1
- Beoordelen en uitvoeren: aws cloudformation describe-change-set –change-set-name cs1 && aws cloudformation execute-change-set –change-set-name cs1
- Gemak bij het deployen: aws cloudformation deploy –template-file template.yaml –stack-name my-stack –parameter-overrides Key=Value –capabilities CAPABILITY_NAMED_IAM
Ontwerpbeslissingen:
- Gebruik nested stacks of modules voor hergebruik en limieten; verplaats veranderlijke secrets en grote binaire bestanden uit templates (SSM Parameter Store / Secrets Manager).
- Gebruik stack policies, termination protection en rollback triggers voor veiligheid; activeer drift detection met aws cloudformation detect-stack-drift en aws cloudformation describe-stack-drift-detection-status.
- Geef de CloudFormation service role een IAM-policy met beperkte scope om resources aan te maken; vermijd het geven van brede administratorrechten aan CloudFormation.
Bij het vergelijken van IaC-benaderingen:
- CloudFormation/CDK: native, geïntegreerd met AWS change sets en drift detection, vereist CAPABILITY_NAMED_IAM voor IAM-resources.
- Terraform: provider-agnostic, beheer van state files is vereist, goed voor mixed-cloud omgevingen.
- Imperatieve scripts (CLI/SDK): geschikt voor eenmalige operaties, maar niet idempotent en moeilijker te auditen.
CI/CD en deployment automation-praktijken
Implementeer herhaalbare pipeline stages: source -> build -> test -> deploy. Gebruik AWS CodePipeline met integratie van CodeBuild, CodeDeploy of tools van derden (Jenkins, GitHub Actions). Belangrijke configuraties:
- CodeBuild: definieer buildspec.yml voor fases en artifacts; geef de project role de minst mogelijke privileges (s3:GetObject voor inputs, s3:PutObject voor artifacts).
- CodeDeploy: gebruik deployment groups en AppSpec.yml; kies het deployment type—in-place of blue/green. Voor EC2/ASG, geef de voorkeur aan blue/green om risico’s te verminderen.
- ECR + ECS/EKS: push images vanuit CI, tag ze onveranderlijk (semantisch of met build ID), en refereer aan de image tag of digest in task definitions.
Beslissingscriteria voor deploymentstrategieën:
- Gebruik blue/green of canary met traffic shifting wanneer je nagenoeg geen downtime en een veilige rollback nodig hebt; gewichtsverschuivingen in de Application Load Balancer (ALB) ondersteunen dit.
- Gebruik rolling of in-place updates voor kleinere, stateless fleets waar de capaciteit tijdens de update verminderd kan worden.
- Zorg ervoor dat pipeline roles een beperkte scope hebben: de pipeline execution role, CodeBuild service role en deployment role (instance profile) elk met minimale permissies.
Beheer secrets en parameters veilig: sla parameters op in SSM Parameter Store (SecureString) of AWS Secrets Manager; geef pipeline roles kms:Decrypt en ssm:GetParameter of secretsmanager:GetSecretValue naar behoefte.
AMI baking, immutable images en AMI-beheer
Immutable infrastructure betekent het creëren van een nieuwe AMI waarin alle OS- en applicatiepatches zijn ingebakken, en vervolgens instances vervangen in plaats van ze aan te passen. Gebruik EC2 Image Builder of Packer in CI om automatisch AMI’s te produceren:
- EC2 Image Builder pipelines kunnen op een schema draaien, packages installeren, tests uitvoeren en AMI’s produceren met versie-gebaseerde naamgevingsconventies en tags.
- Packer integreert in CI (CodeBuild/Jenkins) om build-scripts uit te voeren en AMI ID’s te outputten; sla de nieuwste AMI op in SSM Parameter Store (bijv. /ami/app-prod) ter referentie.
Beheer de AMI-levenscyclus:
- Tag images met build-metadata en een vervaldatum; automatiseer de deregistratie en het verwijderen van snapshots na de retentieperiode.
- Gebruik Launch Templates/ASG met een versie-update om nieuwe AMI’s uit te rollen; voor immutable deployments, maak een nieuwe ASG die verwijst naar de nieuwe Launch Template-versie en wissel van target groups.
Vergelijk mutable vs. immutable:
- Immutable (nieuwe AMI/nieuwe ASG): veiliger, makkelijkere rollback door over te schakelen naar de vorige ASG of AMI, consistente levenscyclus.
- Mutable (patch in place): sneller om kleine fixes toe te passen, maar meer kans op drift en moeilijker te reproduceren; gebruik alleen wanneer beperkingen dit vereisen.
AWS Systems Manager-automatisering, Run Command en patching
Systems Manager (SSM) centraliseert operationele taken: Run Command voor ad-hoc commando’s, State Manager voor de gewenste staat (desired state), Patch Manager voor gepland OS-patchen en Automation voor complexe workflows. Veelvoorkomende CLI-patronen:
- Ad-hoc versturen: aws ssm send-command –instance-ids i-0123456789abcdef0 –document-name “AWS-RunShellScript” –parameters commands=’[“yum update -y”]'
- Vooraf gedefinieerde automatisering starten: aws ssm start-automation-execution –document-name “AWS-ApplyPatchBaseline” –parameters “InstanceIds=[‘i-…’]”
- Gebruik State Manager-associaties om configuratie af te dwingen (bijv. SSM Agent-configuratie, cron jobs) en Patch Manager-baselines voor goedkeuringsregels en compliance-scans.
Configuratiedetails en beslispunten:
- Gebruik Patch Manager met Baselines en Maintenance Windows voor voorspelbaar, compliant patchen; kies dagen voor automatische goedkeuring en weiger niet-goedgekeurde AMI’s als je een immutable strategie gebruikt.
- Voor instances zonder SSM-agent of met beperkte netwerktoegang, overweeg Session Manager met VPC-eindpunten om het openen van SSH-poorten te vermijden.
- Vereis altijd een instance profile met de AmazonSSMManagedInstanceCore-policy voor SSM-toegang; scope aanvullende permissies zo beperkt mogelijk (least privilege).
Change management, drift-detectie en rollback
Implementeer change control dat pipeline runs, tags en goedkeuringen integreert. Gebruik CloudFormation change sets voor het previewen van verschillen (diffs) en stack policies om destructieve updates af te wijzen. CLI-patronen:
- Drift detecteren: aws cloudformation detect-stack-drift –stack-name my-stack en aws cloudformation describe-stack-resource-drifts –stack-name my-stack
- Gebruik een stack policy om kritieke resources te beschermen tijdens updates en stel RollbackConfiguration in met rollback triggers om te notificeren bij mislukte updates.
Rollback-strategieën:
- Voor CloudFormation: automatische rollback bij een fout is de standaardinstelling; gebruik rollback triggers en behoud resources (retain) wanneer dat nodig is.
- Voor applicaties: geef de voorkeur aan blue/green of canary met traffic shifting om een onmiddellijke rollback mogelijk te maken door de weging in ALB/Route53 aan te passen of eerdere task sets te herstellen.
- Beheer onveranderlijke (immutable) artefacten (AMI ID’s, container images) en bewaar vorige versies in registries/SSM zodat rollbacks deterministisch zijn.
Beslissingscriteria:
- Als er stateful datamigraties bij betrokken zijn, neem dan omkeerbare migratiescripts op of gebruik feature flags om de code release te scheiden van de schemamigratie.
- Gebruik deployment health checks en geautomatiseerde smoke tests als poortwachter (gating) in de pipeline om rollbacks vroegtijdig te triggeren.
Veelvoorkomende valkuilen en beslissingscriteria
- Handmatige, out-of-band wijzigingen in de console maken die de IaC-staat laten afwijken (drift): dwing drift-detectie af (aws cloudformation detect-stack-drift) en vereis dat fixes worden toegepast via IaC-templates; gebruik IAM-controles om console-aanpassingen te beperken.
- Geen veilig rollback-plan voor releases: pas blue/green- of canary-deployments toe en houd eerdere artefacten/AMI’s beschikbaar om onmiddellijk terug te kunnen draaien.
- Te ruime IAM-permissies voor pipelines en rollen: pas het principe van least privilege toe; splits rollen op (pipeline service role, build role, instance profile) en verleen alleen de noodzakelijke ssm:GetParameter, secretsmanager:GetSecretValue, kms:Decrypt en s3-toegang.
- Secrets direct in templates of als platte tekst opslaan: verplaats secrets naar Secrets Manager of SecureString SSM Parameter Store en refereer ernaar tijdens de deployment met de juiste decryptiepermissies.
- Productie in-place patchen zonder te testen: ‘bak’ AMI’s in CI met bijgewerkte packages en smoke tests, en rol vervolgens de immutable images uit via ASG- of blue/green-pipelines.
- Negeren van drift en bescherming van stateful resources: gebruik stack policies en detecteer regelmatig drift; vereis voor stateful resources handmatige goedkeuring en snapshots vóór destructieve wijzigingen.
Praktijkprobleem: Use-Case Scenario
Acme Payments moet een PCI-conforme API-service implementeren, maandelijks OS-patches toepassen en snel een rollback kunnen uitvoeren als een deployment tijdens kantooruren fouten veroorzaakt.
- Implementeer een immutable pipeline: gebruik CodePipeline/CodeBuild om AMI’s te ‘bakken’ met EC2 Image Builder (of Packer), tag de AMI’s en publiceer de AMI ID naar SSM Parameter Store.
- Deploy via CloudFormation-templates die refereren naar de SSM-parameter voor de AMI en maak een nieuwe ASG + Launch Template-versie voor elke release; gebruik change sets voor een pre-flight review.
- Gebruik CodeDeploy of ALB target-group blue/green traffic shifting met health checks en geautomatiseerde smoke tests; configureer automatische rollback bij het falen van een health check.
- Plan Patch Manager in via Systems Manager Maintenance Windows voor het toepassen van patches buiten piekuren; voer een ‘bake-and-deploy’ uit voor gepatchte images om in-place patchen van productie te vermijden.
- Dwing least-privilege IAM af voor pipeline-rollen, sla secrets op in Secrets Manager en schakel CloudFormation drift-detectie en stack policies in voor kritieke resources.
Rationale: Het ‘bakken’ van images en immutable deployments scheiden de ‘build’- en ‘run’-processen, wat zorgt voor reproduceerbare artefacten en veilige rollback-paden; geautomatiseerd patchen via SSM in combinatie met immutable deploys minimaliseert risico’s en ondersteunt compliance, terwijl de herstelbaarheid behouden blijft.
← Hoge Beschikbaarheid · Alle domeinen · Beveiliging →
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 →