PeakLab
Retour au glossaire

CloudFormation

Service AWS d'Infrastructure as Code permettant de provisionner et gérer des ressources cloud via des templates déclaratifs en JSON ou YAML.

Mis à jour le 23 avril 2026

AWS CloudFormation est un service d'Infrastructure as Code (IaC) qui permet de modéliser, provisionner et gérer l'ensemble de votre infrastructure AWS de manière automatisée. En définissant vos ressources dans des fichiers templates versionnés, vous transformez la gestion d'infrastructure en code reproductible, testable et auditable. CloudFormation traite ces templates pour créer des stacks – collections de ressources AWS gérées comme une seule unité.

Fondements de CloudFormation

  • Templates déclaratifs définissant l'état souhaité de l'infrastructure plutôt que les étapes de création
  • Stacks représentant des ensembles de ressources AWS provisionnées et gérées collectivement
  • Change sets permettant de prévisualiser les modifications avant application
  • Gestion automatique des dépendances entre ressources et orchestration de leur création dans l'ordre approprié

Avantages stratégiques

  • Reproductibilité parfaite des environnements (dev, staging, production) éliminant les écarts de configuration
  • Réduction drastique des erreurs humaines grâce à l'automatisation complète du provisionnement
  • Contrôle de version de l'infrastructure permettant rollback et audit complet des changements
  • Coût d'utilisation nul – vous payez uniquement les ressources AWS provisionnées
  • Intégration native avec tous les services AWS et gestion automatique des mises à jour

Exemple concret de template

vpc-infrastructure.yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Infrastructure VPC avec subnets publics et privés'

Parameters:
  EnvironmentName:
    Type: String
    Default: production
    AllowedValues: [development, staging, production]
    Description: Nom de l'environnement

  VpcCIDR:
    Type: String
    Default: 10.0.0.0/16
    Description: CIDR block du VPC

Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: !Ref VpcCIDR
      EnableDnsHostnames: true
      EnableDnsSupport: true
      Tags:
        - Key: Name
          Value: !Sub '${EnvironmentName}-vpc'

  InternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: !Sub '${EnvironmentName}-igw'

  AttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref VPC
      InternetGatewayId: !Ref InternetGateway

  PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: !Select [0, !GetAZs '']
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub '${EnvironmentName}-public-subnet'

Outputs:
  VPCId:
    Description: ID du VPC créé
    Value: !Ref VPC
    Export:
      Name: !Sub '${EnvironmentName}-VPC-ID'

  PublicSubnetId:
    Description: ID du subnet public
    Value: !Ref PublicSubnet
    Export:
      Name: !Sub '${EnvironmentName}-PublicSubnet-ID'

Mise en œuvre d'une stack CloudFormation

  1. Créer un template YAML/JSON définissant les ressources, paramètres et outputs nécessaires
  2. Valider la syntaxe avec la commande AWS CLI : aws cloudformation validate-template
  3. Déployer la stack via la console AWS, CLI ou intégration CI/CD
  4. Surveiller les événements de création dans l'onglet Events pour diagnostiquer les erreurs
  5. Utiliser les change sets pour prévisualiser les modifications avant mise à jour de stacks existantes
  6. Implémenter des rollback automatiques en cas d'échec de déploiement
  7. Exporter les outputs pour référencement croisé entre stacks (cross-stack references)

Conseil d'architecture

Décomposez votre infrastructure en stacks multiples plutôt qu'un template monolithique. Créez des stacks de base (réseau, sécurité) exportant des valeurs via Outputs, puis des stacks applicatives les important via !ImportValue. Cette approche facilite les mises à jour isolées et réduit les risques de perturbation en cascade.

Outils et extensions CloudFormation

  • AWS SAM (Serverless Application Model) – extension simplifiant le déploiement d'applications serverless
  • CloudFormation Registry – bibliothèque de types de ressources personnalisés et extensions tierces
  • cfn-lint – outil de validation et linting pour détecter erreurs et anti-patterns
  • rain – CLI moderne améliorant l'expérience développeur avec formatage et visualisation
  • CloudFormation Guard – outil de policy-as-code pour valider la conformité des templates
  • StackSets – gestion de stacks identiques sur plusieurs comptes et régions AWS

CloudFormation constitue la pierre angulaire d'une stratégie DevOps mature sur AWS, transformant la gestion d'infrastructure en code versionné et auditable. Son approche déclarative élimine la complexité opérationnelle tout en garantissant cohérence et reproductibilité des environnements. Pour les organisations cherchant à industrialiser leurs déploiements cloud, CloudFormation offre un ROI immédiat par la réduction des erreurs, l'accélération des mises en production et la facilitation de la gouvernance des ressources AWS.

Parlons de votre projet

Besoin d'expertise sur le sujet ?

Nos experts vous accompagnent de la stratégie à la mise en production. Échangeons 30 min sur votre projet.

L'argent est déjà sur la table.

En 1 heure, découvrez exactement combien vous perdez et comment le récupérer.

Agence de développement web, automatisation & IA

[email protected]
Newsletter

Recevez nos conseils tech et business directement dans votre boîte mail.

Suivez-nous
Crédit d'Impôt Innovation - PeakLab agréé CII