Introduction
AWS CloudFormation permet de décrire votre infrastructure sous forme de code. Au lieu de cliquer dans la console, vous définissez des ressources dans un fichier YAML ou JSON. Cela rend vos déploiements reproductibles, versionnables et sûrs. En 2026, cette approche IaC est indispensable pour tout projet sérieux sur AWS. Ce tutoriel vous guide pas à pas pour créer une stack simple contenant un bucket S3, depuis la rédaction du template jusqu'au déploiement via CLI.
Prérequis
- Compte AWS avec droits IAM suffisants
- AWS CLI installé et configuré (aws configure)
- Connaissances de base en YAML
- Node.js non requis pour ce tutoriel débutant
Template CloudFormation de base
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Bucket S3 simple pour débutants'
Resources:
MonBucketS3:
Type: AWS::S3::Bucket
Properties:
BucketName: mon-bucket-tutoriel-2026
AccessControl: Private
Tags:
- Key: Environment
Value: TutorialCe template minimal crée un bucket S3 privé. Le nom doit être unique globalement. Les tags facilitent l'identification et la facturation.
Ajout de paramètres
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Bucket S3 avec paramètres'
Parameters:
BucketNameParam:
Type: String
Default: mon-bucket-tutoriel-2026
Description: Nom unique du bucket S3
Resources:
MonBucketS3:
Type: AWS::S3::Bucket
Properties:
BucketName: !Ref BucketNameParam
AccessControl: PrivateLes paramètres rendent le template réutilisable. !Ref permet de référencer la valeur fournie lors du déploiement.
Validation du template
aws cloudformation validate-template --template-body file://s3-bucket-params.yamlCette commande vérifie la syntaxe et les erreurs courantes avant tout déploiement. Elle évite les échecs coûteux.
Déploiement de la stack
aws cloudformation create-stack \
--stack-name TutorielS3 \
--template-body file://s3-bucket-params.yaml \
--parameters ParameterKey=BucketNameParam,ParameterValue=mon-bucket-unique-2026create-stack lance la création des ressources. Le nom de stack doit être unique dans la région.
Mise à jour et suppression
aws cloudformation update-stack --stack-name TutorielS3 --template-body file://s3-bucket-params.yaml --parameters ParameterKey=BucketNameParam,ParameterValue=mon-bucket-unique-2026
aws cloudformation delete-stack --stack-name TutorielS3update-stack applique les modifications. delete-stack supprime toutes les ressources créées par la stack.
Bonnes pratiques
- Toujours utiliser des paramètres pour les valeurs variables
- Ajouter des tags systématiquement pour le suivi des coûts
- Versionner vos templates dans Git
- Tester avec validate-template avant chaque déploiement
- Préférer des stacks petites et focalisées plutôt que monolithiques
Erreurs courantes à éviter
- Nom de bucket non unique (erreur 409)
- Oublier de configurer la région AWS CLI
- Ne pas utiliser --capabilities pour les ressources IAM
- Supprimer manuellement des ressources gérées par CloudFormation
Pour aller plus loin
Découvrez nos formations avancées sur AWS et l'IaC : https://learni-group.com/formations