AWS CloudFormation concepts - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CloudFormation concepts

Lorsque vous les utilisez AWS CloudFormation, vous travaillez avec des modèles et des piles. Vous créez des modèles pour décrire vos AWS ressources et leurs propriétés. Chaque fois que vous créez une pile, CloudFormation provisionnez les ressources décrites dans votre modèle.

Modèles

Un CloudFormation modèle est un fichier texte au format JSON ou YAML. Vous pouvez enregistrer ces fichiers avec n'importe quelle extension, telle que .json.yaml,.template, ou.txt. CloudFormation utilise ces modèles comme modèles pour développer vos AWS ressources. Par exemple, dans un modèle, vous pouvez décrire une instance Amazon EC2, telle que le type d'instance, l'ID d'AMI, les mappages de périphérique de stockage en mode bloc et le nom de sa paire de clés Amazon EC2. Chaque fois que vous créez une pile, vous spécifiez également un modèle qui CloudFormation permet de créer ce que vous avez décrit dans le modèle.

Par exemple, si vous avez créé une pile avec le modèle suivant, CloudFormation approvisionne une instance avec un ID ami-0ff8a91507f77f867 AMI, un type d't2.microinstance, un nom de paire de testkey clés et un volume Amazon EBS.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

Vous pouvez également spécifier plusieurs ressources dans un modèle unique et les configurer pour interagir les unes avec les autres. Par exemple, vous pouvez modifier le modèle précédent pour inclure une adresse IP Elastic (EIP) et l'associer à l'instance Amazon EC2, comme illustré dans l'exemple suivant :

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } }, "MyEIP": { "Type": "AWS::EC2::EIP", "Properties": { "InstanceId": { "Ref": "MyEC2Instance" } } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20 MyEIP: Type: 'AWS::EC2::EIP' Properties: InstanceId: !Ref MyEC2Instance

Les modèles précédents sont centrés sur une seule instance Amazon EC2 ; toutefois, les CloudFormation modèles possèdent des fonctionnalités supplémentaires que vous pouvez utiliser pour créer des ensembles complexes de ressources et réutiliser ces modèles dans plusieurs contextes. Par exemple, vous pouvez ajouter des paramètres d'entrée dont les valeurs sont spécifiées lorsque vous créez une CloudFormation pile. En d'autres termes, vous pouvez définir une valeur telle que le type d'instance lorsque vous créez une pile au lieu de lorsque vous créez le modèle, ce qui facilite la réutilisation du modèle dans différentes situations.

Pour plus d'informations sur la création et les fonctionnalités d'un modèle, consultez la page Anatomie du modèle.

Pour plus d'informations sur la déclaration de ressources spécifiques, consultez la page AWS référence aux types de ressources et de propriétés.

Pour commencer à concevoir vos propres modèles avec AWS CloudFormation Designer, rendez-vous sur https://console.aws.amazon.com/cloudformation/designer.

Piles

Lorsque vous utilisez CloudFormation, vous gérez les ressources associées en tant qu'unité unique appelée pile. Pour créer, mettre à jour et supprimer un ensemble de ressources, vous créez, mettez à jour et supprimez des piles. Toutes les ressources d'une pile sont définies par le CloudFormation modèle de la pile. Supposons que vous ayez créé un modèle qui inclut un groupe Auto Scaling, un équilibreur de charge Elastic Load Balancing et une instance de base de données Amazon Relational Database Service (Amazon RDS). Pour créer ces ressources, vous créez une pile en soumettant le modèle que vous avez créé et en CloudFormation provisionnant toutes ces ressources pour vous. Vous pouvez travailler avec des piles à l'aide de la CloudFormation console, de l'API ou AWS CLI.

Pour plus d'informations sur la création, la mise à jour ou la suppression des piles, consultez Utilisation des piles .

Jeux de modifications

Si vous avez besoin de modifier les ressources en cours d'exécution d'une pile, vous mettez à jour cette dernière. Avant d'apporter des modifications à vos ressources, vous pouvez générer un jeu de modifications, qui représente un résumé de ces modifications. 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.

Par exemple, si vous modifiez le nom d'une instance de base de données Amazon RDS, vous CloudFormation créerez une nouvelle base de données et supprimerez l'ancienne. Vous perdrez les données de l'ancienne base de données, sauf si vous les avez sauvegardées. Si vous générez un jeu de modifications, vous constaterez que votre modification entraînera le remplacement de votre base de données. Dès lors, vous pourrez prendre les mesures nécessaires avant que de mettre à jour la pile. Pour plus d'informations, voir Mise à jour des piles à l'aide de jeux de modifications.