AWS CloudFormation
- Infrastructure en tant que code (IaC) dans AWS
- Portabilité des piles sur plusieurs comptes et régions
- Épine dorsale du service Elastic Beanstalk
- Épine dorsale du service Service Catalog
- Épine dorsale du framework SAM (Serverless Application Model)
- Service incontournable en tant que développeur / sysops / devops
CloudFormation et du Groupe Auto Scaling(ASG)

- CloudFormation gère l’ASG, pas l’EC2 sous-jacent
- Vous pouvez définir des «conditions de réussite» pour le lancement de vos instances EC2 à l’aide d’une CreationPolicy
- Vous pouvez définir des “stratégies de mise à jour” pour la mise à jour de vos instances EC2 à l’aide d’une UpdatePolicy
- Pour mettre à jour l’EC2 sous-jacent dans un ASG, vous devez créer une nouvelle configuration de lancement / modèle de lancement et utiliser un UpdatePolicy
Conservation des données sur les suppressions
- Vous pouvez mettre une DeletionPolicy sur n’importe quelle ressource pour contrôler ce qui se passe lorsque le modèle CloudFormation est supprimé
- DeletionPolicy = Conserver:
- Spécifier les ressources à conserver / sauvegarder en cas de suppression de CloudFormation
- Pour conserver une ressource, spécifiez Retain (fonctionne pour n’importe quelle ressource / pile imbriquée)
- DeletionPolicy = Instantané:
- Volume EBS, cluster ElastiCache, groupe de réplication ElastiCache
- RDS DBInstance, RDS DBCluster, Redshift Cluster
- DeletePolicy = Supprimer (comportement par défaut):
- Remarque: pour les ressources AWS :: RDS :: DBCluster, la stratégie par défaut est Snapshot
- Remarque: pour supprimer un compartiment S3, vous devez d’abord vider le compartiment de son contenu
CloudFormation et Gestion des Identités et des Accès (IAM)
Lors du déploiement d’une pile CloudFormation:
- Il utilise les autorisations de notre propre principal IAM
- Ou attribuez un rôle IAM à la pile qui peut effectuer les actions
- • Si vous créez des ressources IAM, vous devez explicitement fournir une «capacité» à CloudFormation CAPABILITY_IAM et CAPABILITY_NAMED_IAM
Ressources Personnalisées CloudFormation (Lambda)

- Vous pouvez définir une ressource personnalisée dans CloudFormation pour répondre à l’un de ces cas d’utilisation:
- Une ressource AWS n’est pas encore prise en charge
- (nouveau service par exemple)
- Une ressource sur site
- Vider un compartiment S3 avant d’être supprimé
- Récupérer un identifiant AMI
- • Tout ce que tu veux…!
CloudFormation – Piles croisées ou imbriquées
Piles Croisées
- Utile lorsque les piles ont des cycles de vie différents
- Utiliser les sorties Export et Fn :: ImportValue
- Lorsque vous devez transmettre des valeurs d’exportation à de nombreuses piles (ID VPC, etc.)
Imbriquées Croisées
- Utile lorsque les composants doivent être réutilisés
- Ex: réutiliser comment configurer correctement un équilibreur de charge d’application
- Seule la pile imbriquée est importante pour la pile de niveau supérieur (elle n’est pas partagée)
CloudFormation – Autres Concepts
- CloudFormer: créer un modèle AWS CloudFormation à partir de ressources AWS existantes
- ChangeSets: générez et prévisualisez les modifications CloudFormation avant qu’elles ne soient appliquées
- StackSets: déployez une pile CloudFormation sur plusieurs comptes et régions
- Stratégies de pile: évitez les mises à jour / suppressions accidentelles pour empiler les ressources
REFERENCES:
Marek, S. (2020). Ultimate AWS Certified Solutions Architect Professional 2020. Udemy. https://www.udemy.com/course/aws-solutions-architect-professional/learn/lecture/18376632#overview