AWS CloudFormation - Présentation de DevOps sur AWS

AWS CloudFormation

AWS CloudFormation est un service qui permet aux développeurs de créer des ressources AWS de manière ordonnée et prévisible. Les ressources sont écrites dans des fichiers texte au format JSON (JavaScript Object Notation) ou YALM (Yet Another Markup Language). Les modèles nécessitent une syntaxe et une structure spécifiques qui dépendent des types de ressources créées et gérées. Vous créez vos ressources au format JSON ou YAML avec n'importe quel éditeur de code tel qu'AWS Cloud9, vous les archivez dans un système de contrôle de version, puis CloudFormation crée les services spécifiés de manière sûre et reproductible.

Un modèle CloudFormation est déployé dans l'environnement AWS en tant que pile. Vous pouvez gérer les piles via la console de gestion AWS, l'interface de ligne de commande AWS ou les API AWS CloudFormation. Pour modifier les ressources en cours d'exécution d'une pile, vous devez mettre à jour la pile. Avant d'apporter des modifications à vos ressources, vous pouvez générer un jeu de modifications, qui représente un résumé des modifications proposées. Les jeux de modification vous permettent d'avoir un aperçu de l'impact possible des modifications d'une pile sur les ressources exécutées (y compris les ressources critiques) avant d'appliquer ces modifications.

Figure 1

Figure 1 - AWS CloudFormation crée un environnement complet (pile) à partir d'un seul modèle de flux de travail

Vous pouvez utiliser un seul modèle pour créer et mettre à jour un environnement entier ou des modèles distincts pour gérer plusieurs couches au sein d'un environnement. Cela permet d'organiser par modules les modèles et fournit également une couche de gouvernance importante pour de nombreuses organisations.

Lorsque vous créez ou mettez à jour une pile dans la console, des événements s'affichent pour indiquer l'état de la configuration. En cas d'erreur, la pile est restaurée par défaut à son état précédent. Amazon Simple Notification Service (Amazon SNS) fournit des notifications sur les événements. Par exemple, vous pouvez utiliser Amazon SNS pour suivre l'avancement de la création et de la suppression d'une pile par e-mail, et bénéficier d'une intégration aux autres processus par programme.

AWS CloudFormation facilite l'organisation et le déploiement d'un ensemble de ressources AWS et vous permet de décrire n'importe quelle dépendance ainsi que de transmettre des paramètres spéciaux lorsque la pile est configurée.

Avec les modèles CloudFormation, vous pouvez travailler avec un large éventail de services AWS, tels qu'Amazon S3, Auto Scaling, Amazon CloudFront, Amazon DynamoDB, Amazon EC2, Amazon ElastiCache, AWS Elastic Beanstalk, Elastic Load Balancing, AWS OpsWorks, IAM et Amazon VPC. Pour obtenir la liste la plus récente des ressources prises en charge, veuillez consulter Référence des types de propriété et de ressource AWS.