Intégrer l'IaC dans les pipelines CI/CD

Automatiser les déploiements sur AWS

Dunieski Otano

Amazon Web Services Solutions Architect

D'abord le code, l'infrastructure ensuite

code-first

  • Code déployé via CodePipeline ; infra mise à jour à la main
  • Les devs scalent Lambda ; les ops redimensionnent la file SQS
  • Dérive entre code et infra : pannes
  • Relier CloudFormation au même pipeline
Automatiser les déploiements sur AWS

CloudFormation comme action du pipeline

pipeline-action

  • CodePipeline prend en charge une action de déploiement CloudFormation
  • Le pipeline transmet un artefact de modèle à l'action
  • Modes : CREATE_UPDATE, DELETE_ONLY, REPLACE_ON_FAILURE, CHANGE_SET_REPLACE / EXECUTE
  • À exécuter avec les actions source, build et déploiement appli
Automatiser les déploiements sur AWS

Un pipeline de bout en bout typique

typical

  • Source : un push Git déclenche le pipeline
  • Build : produire un modèle + artefact appli
  • Déploiement infra : CloudFormation crée/met à jour la pile
  • Déploiement appli : CodeDeploy livre la nouvelle version
Automatiser les déploiements sur AWS

Rétablissement automatique en cas d'échec de pile

  • Les mises à jour en échec rétablissent automatiquement le dernier état sain
  • L'étape du pipeline échoue et bloque les suivantes
  • Les alertes d'échec du Chapitre 1 se déclenchent automatiquement

automatic

Automatiser les déploiements sur AWS

Piles imbriquées pour des modèles modulaires

  • Une pile imbriquée est du type AWS::CloudFormation::Stack
  • Découper un modèle de 2 000 lignes en modules réutilisables
  • La pile parente passe des paramètres et lit les sorties
  • Chaque module se déploie indépendamment dans la parente

nested

Automatiser les déploiements sur AWS

StackSets pour multi‑comptes, multi‑régions

  • Un StackSet déploie un modèle sur de nombreux comptes et régions
  • Utile pour socles de sécurité, garde-fous, infra partagée
  • Ajouter/retirer des instances de pile sans réécrire le modèle
  • Géré de façon centrale, déployé localement

stackset

Automatiser les déploiements sur AWS

Choisir la bonne forme

right-shape

  • Pile unique : petite appli, un environnement
  • Piles imbriquées : grand modèle, composants modulaires
  • StackSets : même modèle, nombreux comptes et régions
  • Les trois s'intègrent bien avec CodePipeline
Automatiser les déploiements sur AWS

Passons à la pratique !

Automatiser les déploiements sur AWS

Preparing Video For Download...