Infrastructure as Code
Templates CloudFormation, opérations sur les stacks, dépannage des déploiements, l'AWS CDK et Terraform avec Git.
Ce sujet est le cœur du domaine déploiement du SOA-C03. Vous partez d'un fichier qui décrit une infrastructure et vous allez jusqu'aux gestes qui font vivre cette infrastructure : modifier une stack en marche sans casser la base de production, comprendre pourquoi un déploiement a échoué à 3 heures du matin, et savoir quoi répondre quand l'organisation utilise Terraform plutôt que CloudFormation. L'examen ne demande presque jamais ce qu'est CloudFormation ; il vous donne une stack coincée dans un statut précis et vous demande le coup suivant.
Ce que couvre ce sujet
- L'anatomie d'un template CloudFormation : sections, parameters avec contraintes, fonctions intrinsèques, mappings et conditions, outputs et références inter-stacks
- Le graphe de dépendances déduit des références, et le seul cas qui exige
DependsOn - Les dynamic references pour garder mots de passe et identifiants hors du fichier, et ce que
NoEchone protège pas - Les trois comportements de mise à jour, les change sets, les stack policies, les signaux
CreationPolicyet les mises à jour progressives d'Auto Scaling group - Les options de rollback, les rollback triggers, la drift detection et ses limites, les nested stacks et l'import de ressources existantes
- Une méthode de dépannage : lire le statut, puis la première défaillance, puis classer l'échec en permissions, capacité, signaux, stabilisation ou nettoyage
- L'AWS CDK : niveaux de constructs, bootstrap, cycle synth-diff-deploy, et le piège du renommage d'un ID de construct
- Terraform : le state et son verrouillage sur un backend S3, le cycle write-plan-apply, les modules, l'import, et le workflow Git qui encadre les trois outils
Pourquoi c'est important
Une infrastructure décrite dans un fichier survit à une migration de compte, à une panne de Region et au départ de la personne qui l'a montée. Une infrastructure qui n'existe que sous forme d'état dans la console ne survit à aucune des trois. C'est la raison pour laquelle l'exam guide nomme explicitement CloudFormation, l'AWS CDK, Terraform et Git dans le domaine 3, et pourquoi il consacre une compétence entière au diagnostic des échecs de déploiement.
Sur le terrain, la différence se joue le jour où une mise à jour de routine remplace une base de données au lieu de la modifier. Cette leçon est apprise soit par un change set lu dix secondes avant l'exécution, soit par une restauration à partir d'un snapshot.
