Il s’agit du nouveau Guide de référence des modèles CloudFormation . Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.
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.
Attribut UpdateReplacePolicy
Utilisez l'attribut UpdateReplacePolicy pour conserver ou, dans certains cas, sauvegarder l'instance physique existante d'une ressource lors de son remplacement pendant une opération de mise à jour de pile.
Lorsque vous initiez une mise à jour de pile, CloudFormation met à jour les ressources en fonction des différences entre ce que vous envoyez et le modèle et les paramètres de la pile. Si vous mettez à jour une propriété de ressource qui nécessite que la ressource soit remplacée,CloudFormation recrée la ressource au cours de la mise à jour. Pour plus d'informations, consultez Comportements de mise à jour des ressources d'une pile dans le Guide de l'utilisateur AWS CloudFormation.
La recréation de la ressource génère un nouvel ID physique. CloudFormation commence par créer la ressource de remplacement, puis modifie les références d'autres ressources dépendantes pour qu'elles renvoient vers la ressource de remplacement. Par défaut, CloudFormation supprime ensuite l'ancienne ressource. À l'aide de l'attribut UpdateReplacePolicy, vous pouvez spécifier que CloudFormation conserve ou, dans certains cas, crée un instantané de l'ancienne ressource.
Pour les ressources qui prennent en charge les instantanés, comme AWS::EC2::Volume, vous pouvez spécifier Snapshot pour que CloudFormation crée un instantané avant de supprimer l'ancienne instance de la ressource.
Vous pouvez appliquer l’attribut UpdateReplacePolicy à n’importe quelle ressource. UpdateReplacePolicy n’est exécuté que lorsque vous mettez à jour une propriété de ressource dont le comportement de mise à jour est spécifié comme Remplacement, entraînant le remplacement par CloudFormation de l’ancienne ressource par une nouvelle avec un nouvel ID physique. Par exemple, si vous mettez à jour la propriété Engine d'un type de ressource AWS::RDS::DBInstance, CloudFormation crée une ressource et remplace la ressource d'instance DB actuelle par la nouvelle. L'attribut UpdateReplacePolicy détermine alors si CloudFormation supprime, conserve ou crée un instantané de l'ancienne instance de base de données. Le comportement de mise à jour de chaque propriété d'une ressource est spécifié dans la rubrique de référence pour cette ressource dans la AWS référence aux types de ressources et de propriétés.
L'attribut UpdateReplacePolicy s'applique aux mises à jour de pile que vous effectuez directement, ainsi qu'aux mises à jour de pile effectuées à l'aide de jeux de modifications.
Note
Les ressources qui sont conservées continuent d'exister et de générer des frais applicables tant que vous ne les supprimez pas. Les instantanés qui sont créés avec cette politique continuent d'exister et de générer des frais applicables tant que vous ne les supprimez pas. UpdateReplacePolicy conserve l'ancienne ressource physique ou l'ancien instantané, mais le supprime de la portée de CloudFormation.
UpdateReplacePolicy diffère de l'attribut DeletionPolicy dans la mesure où il s'applique uniquement aux ressources remplacées au cours des mises à jour de pile. Utilisez DeletionPolicy pour les ressources supprimées lors de la suppression d’une pile, ou lorsque la définition de la ressource est elle-même supprimée du modèle dans le cadre d’une mise à jour de pile.
L'extrait de code suivant contient une ressource d'instance de base de données Amazon RDS avec une politique de remplacement Retain. Lorsque cette ressource est remplacée par une nouvelle ressource avec un nouvel ID physique, CloudFormation quitte l'ancienne instance de base de données sans la supprimer.
JSON
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myDB" : { "Type" : "AWS::RDS::DBInstance", "DeletionPolicy" : "Retain", "UpdateReplacePolicy" : "Retain", "Properties" : {} } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: myDB: Type: 'AWS::RDS::DBInstance' DeletionPolicy: Retain UpdateReplacePolicy: Retain Properties: {}
Options UpdateReplacePolicy
Delete-
CloudFormation supprime la ressource et tout son contenu, le cas échéant, lors du remplacement de la ressource. Vous pouvez ajouter cette politique à n'importe quel type de ressource. Par défaut, si vous ne spécifiez pas de
UpdateReplacePolicy, CloudFormation supprime vos ressources. Cependant, soyez conscient des points suivants :Pour les compartiments Amazon S3, vous devez supprimer tous les objets qu'ils contiennent pour que la suppression fonctionne.
Retain-
CloudFormation conserve la ressource sans supprimer celle-ci ou son contenu lorsqu'elle est remplacée. Vous pouvez ajouter cette politique à n'importe quel type de ressource. Les ressources qui sont conservées continuent d'exister et de générer des frais applicables tant que vous ne les supprimez pas.
Si une ressource est remplacée,
UpdateReplacePolicyconserve l'ancienne ressource physique mais la supprime de la portée de CloudFormation. Snapshot-
Pour les ressources qui prennent en charge les instantanés, CloudFormation crée un instantané de la ressource avant de la supprimer. Les instantanés qui sont créés avec cette politique continuent d'exister et de générer des frais applicables tant que vous ne les supprimez pas.
Note
Si vous spécifiez l'option
Snapshotdans l'attributUpdateReplacePolicypour une ressource qui ne prend pas en charge les instantanés, CloudFormation revient à l'option par défaut, qui estDelete.Les ressources qui prennent en charge les instantanés sont les suivantes :