[Français] Comment utiliser AWS CloudFormation?

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)

CONFIGURATION DU CLOUDFORMATION ET DU GROUPE AUTO SCALING
  • 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)

CLOUDFORMATION AND LAMBDA CONFIGURATION
  • 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s