Modifier les ensembles pour les piles imbriquées
Avec les ensembles de modifications pour les piles imbriquées, vous pouvez prévisualiser les modifications apportées à vos ressources d'application et d'infrastructure sur l'ensemble de la hiérarchie de pile imbriquée et procéder aux mises à jour lorsque vous avez confirmé que toutes les modifications sont celles que vous comptiez faire.
Pour plus de détails sur les ensembles de modifications pour les piles imbriquées, reportez-vous aux sections suivantes :
Rubriques
Présentation des ensembles de modifications et des piles imbriquées
Les ensembles de modifications pour les piles imbriquées combinent les fonctions suivantes ensemble pour étendre la portée de la prévisualisation des modifications à l'ensemble de la hiérarchie de pile :
-
Un jeu de modifications est une fonctionnalité CloudFormation qui offre un aperçu de l’impact des modifications proposées sur une pile, qu’il s’agisse de ressources existantes ou nouvellement créées. Lors de la création d'un ensemble de modifications, CloudFormation fournit une liste des modifications proposées en comparant votre pile avec les modifications apportées aux ressources que vous avez soumises. Pour plus d’informations sur les jeux de modifications, consultez Mettre à jour les piles CloudFormation à l’aide de jeux de modifications.
-
Une pile imbriquée est une pile créée dans le cadre d’une autre pile. Par exemple, vous pouvez disposer de ressources liées à la sécurité ou à la mise en réseau dans une pile imbriquée et de ressources applicatives dans une autre. Le partitionnement des modèles d'application de cette façon aide à entretenir et réutiliser le code. Pour plus d’informations sur les piles imbriquées, consultez Diviser un modèle en éléments réutilisables à l’aide de piles imbriquées.
Travailler avec des ensembles de modifications pour les piles imbriquées (console)
-
Créer un ensemble de modifications – crée un ensemble de modifications en soumettant des modifications à partir de n'importe quel niveau de la hiérarchie de pile. Vous pouvez soumettre un modèle de pile modifié ou des valeurs de paramètre d'entrée modifiées et CloudFormation compare votre pile imbriquée aux modifications que vous avez soumises pour générer un ensemble de modifications. Les ensembles de modifications pour les piles imbriquées sont activés par défaut dans la console CloudFormation. Pour de plus amples informations, consultez Créer un jeu de modifications pour une pile CloudFormation.
Note
L’ensemble de modifications racine est l’ensemble de modifications associé à la pile à partir de laquelle toute la hiérarchie des ensembles de modifications est créée. Vous devez exécuter ou supprimer des ensembles de modifications pour les piles imbriquées de l’ensemble de modifications racine. Pour de plus amples informations, consultez Exécution d’opérations sur des piles imbriquées.
-
Afficher l’ensemble de modifications – Visualisez les modifications apportées aux ressources dans les piles imbriquées avant de les exécuter. Vous pouvez afficher les modifications proposées dans la section Modifications de votre ensemble de modifications en naviguant dans la pile active et ses ensembles de modifications imbriqués. Pour de plus amples informations, consultez Afficher un jeu de modifications pour une pile CloudFormation.
-
Exécuter l’ensemble de modifications – Exécutez les modifications décrites dans l’ensemble de modifications qui concerne la pile active et ses descendants. L'opération d'exécution doit être effectuée à partir de l'ensemble de modifications racine. Pour de plus amples informations, consultez Exécuter un jeu de modifications pour la pile CloudFormation.
-
Supprimer l’ensemble de modifications – supprime les ensembles de modifications de la pile active. La suppression d'un ensemble de modifications vous empêche, vous ou un autre utilisateur, d'initier accidentellement un ensemble de modifications qui ne doit pas être appliqué. L'opération de suppression doit être exécutée à partir de l'ensemble de modifications racine. Pour de plus amples informations, consultez Supprimer un jeu de modifications pour une pile CloudFormation.
Utilisation des ensembles de modifications pour les piles imbriquées (AWS CLI)
-
create-change-set – les ensembles de modifications pour les piles imbriquées ne sont pas activés par défaut pour la AWS CLI. Pour créer un jeu de modifications pour l’ensemble de la hiérarchie de piles, spécifiez l’option
--include-nested-stacks. Pour de plus amples informations, consultez Créer un jeu de modifications pour une pile CloudFormation.
L’exemple AWS CLI suivant crée un jeu de modifications pour la pile racine spécifiée.
aws cloudformation create-change-set \ --stack-namemy-root-stack\ --change-set-namemy-root-stack-change-set\ --template-bodyfile://template.yaml\ --capabilities CAPABILITY_IAM \ --include-nested-stacks
Voici un exemple de sortie.
{
"Id":"arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:Stack/my-root-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204"
}-
describe-change-set – Renvoie une liste des modifications que CloudFormation apportera si vous exécutez l’ensemble de modifications. Si l’ensemble de modifications spécifié contient des ensembles de modifications enfant appartenant à des piles imbriquées,
ChangeSetIdrenverra des informations sur cet ensemble de modifications. Pour de plus amples informations, consultez Afficher un jeu de modifications pour une pile CloudFormation.
L’exemple AWS CLI suivant décrit le jeu de modifications pour la pile racine spécifiée.
aws cloudformation describe-change-set \ --change-set-namemy-root-stack-change-set\ --stack-namemy-root-stack
Voici un exemple de sortie.
{
"Changes": [
{
"Type": "Resource",
"ResourceChange": {
"Action": "Modify",
"LogicalResourceId": "ChildStack",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-nested-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99205",
"ResourceType": "AWS::CloudFormation::Stack",
"Replacement": "False",
"ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-nested-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"Scope": [
"Properties"
],
"Details": [
{
"Target": {
"Attribute": "Properties",
"RequiresRecreation": "Never"
},
"Evaluation": "Dynamic",
"ChangeSource": "Automatic"
}
]
}
}
],
"ChangeSetName": "my-root-stack-change-set",
"ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-root-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"StackName": "my-root-stack",
"IncludeNestedStacks": true,
"ParentChangeSetId": null,
"RootChangeSetId": null,
"Description": null,
"Parameters": null,
"CreationTime": "2020-11-18T05:20:56.651Z",
"ExecutionStatus": "AVAILABLE",
"Status": "CREATE_COMPLETE",
"StatusReason": null,
"NotificationARNs": [
],
"RollbackConfiguration": {
},
"Capabilities": [
"CAPABILITY_IAM"
],
"Tags": null
}L’exemple AWS CLI suivant décrit le jeu de modifications pour la pile imbriquée spécifiée.
aws cloudformation describe-change-set \ --change-set-namemy-nested-stack-change-set\ --stack-namemy-nested-stack
Voici un exemple de sortie.
{
"Changes": [
{
"Type": "Resource",
"ResourceChange": {
"Action": "Modify",
"LogicalResourceId": "function",
"PhysicalResourceId": "my-function",
"ResourceType": "AWS::Lambda::Function",
"Replacement": "False",
"ChangeSetId": null,
"Scope": [
"Properties"
],
"Details": [
{
"Target": {
"Attribute": "Properties",
"Name": "Timeout",
"RequiresRecreation": "Never"
},
"Evaluation": "Static",
"ChangeSource": "DirectModification"
}
]
}
}
],
"ChangeSetName": "my-nested-stack-change-set",
"ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-nested-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-nested-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99205",
"ParentChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"RootChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",
"IncludeNestedStacks": true,
"StackName": "my-nested-stack",
"Description": null,
"Parameters": null,
"CreationTime": "2020-11-18T05:20:56.651Z",
"ExecutionStatus": "UNAVAILABLE",
"Status": "CREATE_COMPLETE",
"StatusReason": "Executable from root change set",
"NotificationARNs": [
],
"RollbackConfiguration": {
},
"Capabilities": [
"CAPABILITY_IAM"
],
"Tags": null
}-
execute-change-set – Crée ou met à jour une pile à l'aide des informations d'entrée qui ont été fournies lorsque l’ensemble de modifications spécifié a été créé. Pour créer un jeu de modifications pour toute la hiérarchie de piles, vous devez spécifier l’option
–-include-nested-stackslors de l’opération create-change-set. Pour de plus amples informations, consultez Exécuter un jeu de modifications pour la pile CloudFormation.Note
execute-change-set doit être exécuté à partir de l’ensemble de modifications racine et appliquera l’ensemble de modifications à l'ensemble de la hiérarchie des piles.
L’exemple AWS CLI suivant exécute un jeu de modifications pour la pile racine spécifiée.
aws cloudformation execute-change-set \ --stack-namemy-root-stack\ --change-set-namemy-root-stack-change-set
-
delete-change-set – Supprime l’ensemble de modifications spécifié. La suppression des ensembles de modifications garantit que personne n'utilise un ensemble de modifications inapproprié. La suppression des jeux de modifications est asynchrone pour les jeux de modifications créés avec l’option
–-include-nested-stacks. Pour de plus amples informations, consultez Supprimer un jeu de modifications pour une pile CloudFormation.Note
delete-change-set doit être exécuté à partir de l’ensemble de modifications racine et supprimera toute la hiérarchie des ensembles de modifications. Les piles imbriquées dans l'état
REVIEW_IN_PROGRESSseront également supprimées si elles ont été créées pendant l'opération create-change-set.
L’exemple AWS CLI suivant supprime le jeu de modifications pour la pile racine spécifiée.
aws cloudformation delete-change-set \ --stack-namemy-root-stack\ --change-set-namemy-root-stack-change-set