This article is available in French.
1. Pourquoi l'infrastructure as code #
Reproductible, revue, versionnée.
Avantages #
- Environnements identiques (recette, production) et recréables en minutes.
- Revue des changements comme du code, historique Git.
- Détection des dérives entre le code et la réalité.
2. Les outils #
CloudFormation, CDK, Terraform.
Comparaison #
| Outil | Langage | Points forts |
|---|---|---|
| CloudFormation | YAML / JSON | Natif, état géré par AWS, change sets, StackSets multi-comptes |
| AWS CDK | TypeScript, Python, Java… | Abstractions de haut niveau, génère du CloudFormation |
| Terraform | HCL | Multi-fournisseurs, très répandu, vaste écosystème de modules |
CloudFormation en pratique #
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
Environnement: { Type: String, AllowedValues: [recette, prod] }
Resources:
Rapports:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration: { Status: Enabled }
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
Outputs:
NomBucket: { Value: !Ref Rapports }aws cloudformation deploy --template-file rapports.yaml --stack-name rapports-recette \
--parameter-overrides Environnement=recette
aws cloudformation describe-stack-events --stack-name rapports-recette --max-items 10
aws cloudformation detect-stack-drift --stack-name rapports-recette3. Well-Architected #
Concevoir correctement.
Les six piliers #
Pour aller plus loin : La formation Terraform du site détaille l'outil multi-cloud ; ce chapitre se concentre sur ce qui est propre à AWS.
My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Les bases de données sur AWS : RDS, Aurora, DynamoDB et ElastiCache
Choisir une base de données managée sur AWS : RDS et Aurora pour le relationnel (multi-AZ, réplic...
Superviser et sécuriser AWS : CloudWatch, CloudTrail, Config, KMS et GuardDuty
Exploiter et protéger un environnement AWS : métriques, logs et alarmes CloudWatch, journal des a...
Préparer la certification AWS Certified Solutions Architect – Associate (SAA-C03)
Guide de préparation à l'AWS Solutions Architect Associate : format, quatre domaines (sécurité, r...
Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes
Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...
Infrastructure as Code sur Azure : Bicep, Terraform, Cost Management et Well-Architected
Décrire et déployer Azure en code avec Bicep (modules, paramètres, what-if, déploiements par pipe...
Terraform en CI/CD : pipelines, revue du plan, OIDC et GitOps
Automatiser Terraform : pipeline plan sur demande de fusion et apply après approbation, publicati...
Infrastructure avancée avec Datadog : réseau, cloud, conteneurs et bases de données
Superviser l'infrastructure au-delà des hôtes : Network Performance Monitoring, intégrations AWS,...
Terraform : principes, architecture et flux de travail
Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état...
L'état Terraform : backends distants, verrouillage, import et refactorisation
Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurer...