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 DeletionPolicy
Avec l'attribut DeletionPolicy
, vous pouvez conserver et (dans certains cas) sauvegarder une ressource lorsque sa pile est supprimée. Vous spécifiez un attribut DeletionPolicy
pour chaque ressource que vous souhaitez contrôler. Si une ressource ne possède aucun DeletionPolicy
attribut, elle est AWS CloudFormation supprimée par défaut.
Cette fonctionnalité s'applique également aux opérations de mise à jour de pile qui entraînent la suppression de certaines ressources dans les piles. C'est le cas si vous supprimez la ressource du modèle de pile, puis que vous la mettez à jour avec le modèle. Cette fonctionnalité ne s'applique pas aux ressources dont l'instance physique est remplacée pendant les opérations de mise à jour de la pile. Par exemple, si vous modifiez les propriétés d'une ressource de telle sorte qu'elle CloudFormation remplace cette ressource lors d'une mise à jour de la pile.
Note
Exception : La politique par défaut est Snapshot
pour les ressources AWS::RDS::DBCluster
et pour les ressources AWS::RDS::DBInstance
qui ne spécifient pas la propriété DBClusterIdentifier
.
Pour conserver une ressource lorsque sa pile est supprimée, spécifiez Retain
pour celle-ci. Vous pouvez utiliser Retain
pour n'importe quelle ressource. Par exemple, vous pouvez conserver une pile imbriquée, un compartiment Amazon S3 ou une EC2 instance afin de continuer à utiliser ou à modifier ces ressources après avoir supprimé leurs piles.
Note
Si vous souhaitez modifier des ressources en dehors de CloudFormation, utilisez une politique de Retain
suppression, puis supprimez la pile. Dans le cas contraire, vos ressources risquent de se désynchroniser avec votre CloudFormation modèle et de provoquer des erreurs de pile.
Pour les ressources qui prennent en charge les instantanés, par exempleAWS::EC2::Volume
, spécifiez Snapshot
de CloudFormation créer un instantané avant de supprimer la ressource.
L'extrait suivant contient une ressource de compartiment Amazon S3 avec une politique de suppression Retain
. Lorsque cette pile est supprimée, elle CloudFormation quitte le compartiment sans le supprimer.
JSON
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "MyBucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } } }
YAML
AWSTemplateFormatVersion: '2010-09-09' Resources: MyBucket: Type: AWS::S3::Bucket DeletionPolicy: Retain
Options DeletionPolicy
Delete
-
CloudFormation supprime la ressource et tout son contenu, le cas échéant, lors de la suppression de la pile. Vous pouvez ajouter cette politique de suppression à n'importe quel type de ressource. Par défaut, si vous ne spécifiez pas de
DeletionPolicy
, CloudFormation supprime vos ressources. Cependant, soyez conscient des points suivants :-
La politique par défaut pour les ressources
AWS::RDS::DBCluster
estSnapshot
. -
Pour les ressources
AWS::RDS::DBInstance
qui ne spécifient pas la propriétéDBClusterIdentifier
, la politique par défaut estSnapshot
. -
Pour les compartiments Amazon S3, vous devez supprimer tous les objets qu'ils contiennent pour que la suppression fonctionne.
Note
Le comportement par défaut de CloudFormation est de supprimer le secret avec le ForceDeleteWithoutRecovery drapeau.
-
Retain
-
CloudFormation conserve la ressource sans supprimer la ressource ou son contenu lorsque sa pile est supprimée. Vous pouvez ajouter cette politique de suppression à n'importe quel type de ressource. CloudFormation Une fois la suppression de la pile terminée, la pile sera en bon
Delete_Complete
état ; toutefois, les ressources conservées continuent d'exister et de faire l'objet de frais applicables jusqu'à ce que vous les supprimiez.Pour les opérations de mise à jour, les considérations suivantes s'appliquent :
-
Si une ressource est supprimée,
DeletionPolicy
elle conserve la ressource physique mais veille à ce qu'elle soit supprimée de CloudFormation son champ d'application. -
Si une ressource est mise à jour de telle sorte qu'une nouvelle ressource physique est créée pour remplacer l'ancienne ressource, l'ancienne ressource est complètement supprimée, y compris CloudFormation de son champ d'application.
-
RetainExceptOnCreate
-
RetainExceptOnCreate
se comporte commeRetain
pour les opérations de pile, à l'exception de l'opération de pile qui a initialement créé la ressource. Si l'opération de pile qui a créé la ressource est annulée, la ressource CloudFormation est supprimée. Pour toutes les autres opérations de pile, telles que la suppression de pile CloudFormation, la ressource et son contenu sont conservés. Il en résulte que les ressources nouvelles, vides et inutilisées sont supprimées, tandis que les ressources en cours d'utilisation et leurs données sont conservées. Reportez-vous à laUpdateStack
APIdocumentation pour utiliser cette politique de suppression en tant que API paramètre sans mettre à jour votre modèle. Snapshot
-
Pour les ressources qui prennent en charge les instantanés, CloudFormation crée un instantané pour la ressource avant de la supprimer. CloudFormation Une fois la suppression de la pile terminée, la pile sera dans son
Delete_Complete
état ; toutefois, les instantanés créés avec cette politique continuent d'exister et continuent d'être soumis aux frais applicables jusqu'à ce que vous les supprimiez.Les ressources qui prennent en charge les instantanés sont les suivantes :