Comment AWS CloudFormation fonctionne ? - 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.

Comment AWS CloudFormation fonctionne ?

Lorsque vous créez une pile, AWS CloudFormation effectuez des appels de service sous-jacents AWS pour provisionner et configurer vos ressources. CloudFormation ne peut effectuer que les actions que vous êtes autorisé à effectuer. Par exemple, pour créer des instances EC2 à l'aide de CloudFormation, vous devez disposer d'autorisations pour créer des instances. Vous avez besoin d'autorisations similaires pour arrêter les instances lorsque vous supprimez des piles qui contiennent des instances. AWS Identity and Access Management (IAM) vous permet de gérer les autorisations.

Les appels effectués CloudFormation sont tous déclarés par votre modèle. Par exemple, supposons que votre modèle décrit une instance EC2 avec un type d'instance t2.micro. Lorsque vous utilisez ce modèle pour créer une pile, CloudFormation appelez l'API de création d'instance Amazon EC2 et spécifiez le type d'instance en tant que. t2.micro Le schéma suivant résume le CloudFormation flux de travail de création de piles.

  1. Utilisez le AWS CloudFormation Designer ou votre propre éditeur de texte pour créer ou modifier un CloudFormation modèle au format JSON ou YAML. Vous pouvez également choisir d'utiliser un modèle fourni. Le CloudFormation modèle décrit les ressources que vous souhaitez et leurs paramètres. Par exemple, supposons que vous souhaitiez créer une instance EC2. Votre modèle peut déclarer une instance Amazon EC2 et décrire ses propriétés, comme illustré dans l'exemple suivant :

    Exemple JSON
    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "A simple EC2 instance", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro" } } } }
    Exemple YAML
    AWSTemplateFormatVersion: 2010-09-09 Description: A simple EC2 instance Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro
  2. Enregistrez le modèle localement ou dans un Amazon S3 bucket. Si vous avez créé un modèle, enregistrez-le avec une extension de fichier comme .json, .yaml ou .txt.

  3. Créez une CloudFormation pile en spécifiant l'emplacement de votre fichier modèle, tel qu'un chemin sur votre ordinateur local ou une URL Amazon S3. Si le modèle contient des paramètres, vous pouvez spécifier des valeurs d'entrée lorsque vous créez la pile. Les paramètres vous permettent de transmettre des valeurs à votre modèle afin de permettre la personnalisation des ressources chaque fois que vous créez une pile.

    Vous pouvez créer des piles à l'aide de la CloudFormation console, de l'opération CreateStackAPI ou de create-stack AWS CLI la commande.

    Note

    Si vous spécifiez un fichier modèle stocké localement, CloudFormation il est chargé dans un compartiment S3 de votre AWS compte. CloudFormation crée un compartiment pour chaque région dans laquelle vous téléchargez un fichier modèle. Les buckets sont accessibles à toute personne disposant des autorisations Amazon Simple Storage Service (Amazon S3) sur votre compte. AWS Si un bucket créé par CloudFormation est déjà présent, le modèle est ajouté à ce bucket.

    Pour utiliser votre propre compartiment et gérer ses autorisations, vous pouvez importer manuellement les modèles dans Amazon S3. Ensuite, chaque fois que vous créerez ou mettrez à jour une pile, spécifiez l'URL Amazon S3 d'un fichier de modèle.

CloudFormation fournit et configure les ressources en appelant les AWS services décrits dans votre modèle.

Une fois que toutes les ressources ont été créées, CloudFormation indique que votre pile a été créée. Vous pouvez ainsi commencer à en utiliser les ressources. Si la création de la pile échoue, CloudFormation annulez vos modifications en supprimant les ressources créées.

Mise à jour d'une pile avec les jeux de modifications

Lorsque vous devez mettre à jour les ressources d'une pile, vous pouvez modifier le modèle correspondant. Vous n'avez pas besoin de créer une autre pile et de supprimer l'ancienne. Pour mettre à jour une pile, créez un ensemble de modifications en soumettant une version modifiée du modèle de pile d'origine, des valeurs de paramètres d'entrée différentes, ou les deux. CloudFormation compare le modèle modifié avec le modèle d'origine et génère un ensemble de modifications. Ce dernier répertorie les modifications proposées. Après avoir passé en revue les modifications, vous pouvez démarrer le jeu de modifications pour mettre à jour la pile ou vous pouvez en créer un autre. Le schéma suivant résume le flux de travail de mise à jour d'une pile.

Important

Les mises à jour peuvent entraîner des interruptions. En fonction de la ressource et des propriétés concernées, une mise à jour peut interrompre, voire remplacer, une ressource existante. Pour plus d’informations, consultez Mises à jour des piles AWS CloudFormation.

  1. Vous pouvez modifier un modèle de CloudFormation pile à l'aide de AWS CloudFormation Designer ou d'un éditeur de texte. Par exemple, si vous voulez modifier le type d'instance EC2, vous modifiez la valeur de la propriété InstanceType dans le modèle de la pile d'origine.

    Pour plus d’informations, consultez Modification d'un modèle de pile.

  2. Enregistrez le CloudFormation modèle localement ou dans un compartiment S3.

  3. Pour créer un jeu de modifications, spécifiez la pile que vous souhaitez mettre à jour et l'emplacement du modèle modifié (par exemple, le chemin d'accès sur votre ordinateur local ou une URL Amazon S3). Si le modèle contient des paramètres, vous pouvez spécifier des valeurs lorsque vous créez le jeu de modifications.

    Pour plus d'informations sur la création de jeux de modifications, consultez Mise à jour des piles à l'aide de jeux de modifications.

    Note

    Si vous spécifiez un modèle stocké sur votre ordinateur local, le télécharge CloudFormation automatiquement dans un compartiment S3 de votre Compte AWS.

  4. Consultez l'ensemble de modifications pour vérifier qu'il CloudFormation effectuera les modifications attendues. Par exemple, vérifiez si des ressources critiques CloudFormation seront remplacées. Vous pouvez créer autant de jeux de modifications que nécessaire pour inclure toutes les modifications que vous voulez.

    Important

    Les jeux de modification n'indiquent pas si la mise à jour de la pile réussira. Par exemple, un jeu de modifications ne vérifie pas si vous dépassez un quota défini dans votre compte, si vous mettez à jour une ressource non compatible avec ce type de modification ou si vous disposez des autorisations suffisantes pour modifier une ressource, ce qui peut entraîner l'échec de la mise à jour de la pile.

  5. Initiez l'ensemble de modifications que vous souhaitez appliquer à votre pile. CloudFormation met à jour votre pile en ne mettant à jour que les ressources que vous avez modifiées et indique que votre pile a été mise à jour avec succès. Si les mises à jour de la pile CloudFormation échouent, annulez les modifications pour rétablir le dernier état de fonctionnement connu de la pile.

Suppression d'une pile

Lorsque vous supprimez une pile, vous spécifiez la pile à supprimer, puis vous CloudFormation supprimez la pile ainsi que toutes les ressources qu'elle contient. Vous pouvez supprimer des piles à l'aide de la CloudFormation console, de l'opération DeleteStackAPI ou de delete-stack AWS CLI la commande.

Si vous souhaitez supprimer une pile, mais conserver certaines de ses ressources, vous pouvez utiliser une politique de suppression.

Une fois que toutes les ressources ont été supprimées, cela CloudFormation indique que votre pile a été supprimée avec succès. Si vous ne CloudFormation pouvez pas supprimer une ressource, la pile ne sera pas supprimée. Toutes les ressources qui n'ont pas été supprimés resteront tant que vous ne réussirez pas à supprimer la pile.

Ressources supplémentaires

  • Pour plus d'informations sur la création CloudFormation de modèles, consultezAnatomie du modèle.

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