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
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
- Créer un template YAML/JSON définissant les ressources, paramètres et outputs nécessaires
- Valider la syntaxe avec la commande AWS CLI : aws cloudformation validate-template
- Déployer la stack via la console AWS, CLI ou intégration CI/CD
- Surveiller les événements de création dans l'onglet Events pour diagnostiquer les erreurs
- Utiliser les change sets pour prévisualiser les modifications avant mise à jour de stacks existantes
- Implémenter des rollback automatiques en cas d'échec de déploiement
- 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.

