Attributo DeletionPolicy - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Attributo DeletionPolicy

Con l'attributo DeletionPolicy puoi conservare e in alcuni casi eseguire il backup di una risorsa quando il suo stack viene eliminato. Puoi specificare un attributo DeletionPolicy per ciascuna risorsa che desideri controllare. Se una risorsa non ha alcun DeletionPolicy attributo, AWS CloudFormation elimina la risorsa per impostazione predefinita.

Questa funzionalità può essere utilizzata anche per operazioni di aggiornamento dello stack che portano all'eliminazione delle risorse dagli stack. Ad esempio, se elimini la risorsa dal modello di stack e quindi aggiorni lo stack con il modello. Questa funzionalità non è valida per le risorse la cui istanza fisica viene sostituita durante le operazioni di aggiornamento dello stack. Ad esempio, se modificate le proprietà di una risorsa in modo tale da CloudFormation sostituirla durante un aggiornamento dello stack.

Nota

Eccezione: la policy predefinita è Snapshot per le risorse AWS::RDS::DBCluster e per le risorse AWS::RDS::DBInstance che non specificano la proprietà DBClusterIdentifier.

Per mantenere una risorsa quando il suo stack viene eliminato, specificare Retain per tale risorsa. È possibile utilizzare Retain per qualsiasi risorsa. Per esempio, è possibile mantenere un bucket Amazon S3 dello stack nidificato o un'istanza EC2, in modo da poter continuare a utilizzare o modificare tali risorse dopo aver eliminato i loro stack.

Nota

Se desideri modificare le risorse esterne a CloudFormation, utilizza una politica di Retain eliminazione e quindi elimina lo stack. In caso contrario, le risorse potrebbero non essere sincronizzate con il CloudFormation modello e causare errori di stack.

Per le risorse che supportano le istantanee, ad esempioAWS::EC2::Volume, specificate di Snapshot dover CloudFormation creare un'istantanea prima di eliminare la risorsa.

Il frammento seguente contiene una risorsa bucket Amazon S3 con una policy di eliminazione Retain. Quando questo stack viene eliminato, CloudFormation lascia il bucket senza eliminarlo.

JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myS3Bucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Resources: myS3Bucket: Type: AWS::S3::Bucket DeletionPolicy: Retain

Opzioni DeletionPolicy

Eliminazione

CloudFormation elimina la risorsa e tutto il suo contenuto, se applicabile, durante l'eliminazione dello stack. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Per impostazione predefinita, se non si specifica aDeletionPolicy, CloudFormation elimina le risorse. Tuttavia, tieni a mente le considerazioni seguenti:

  • Per le risorse AWS::RDS::DBCluster, la policy predefinita è Snapshot.

  • Per le risorse AWS::RDS::DBInstance che non specificano la proprietà DBClusterIdentifier, la policy predefinita is Snapshot.

  • Per i bucket Amazon S3 è necessario eliminare tutti gli oggetti nel bucket affinché l'eliminazione riesca.

Nota

Il comportamento predefinito di CloudFormation consiste nell'eliminare il segreto con il ForceDeleteWithoutRecovery flag.

Mantenimento

CloudFormation mantiene la risorsa senza eliminare la risorsa o il suo contenuto quando il relativo stack viene eliminato. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Una volta CloudFormation completata l'eliminazione Delete_Complete dello stack, lo stack sarà attivo; tuttavia, le risorse che vengono conservate continuano a esistere e continuano a essere soggette ai costi applicabili fino a quando non vengono eliminate.

Per aggiornare le operazioni, si applicano le seguenti considerazioni:

  • Se una risorsa viene eliminata, DeletionPolicy conserva la risorsa fisica ma garantisce che venga eliminata dall'ambito dello stesso. CloudFormation

  • Se una risorsa viene aggiornata in modo tale da creare una nuova risorsa fisica per sostituire quella precedente, la vecchia risorsa viene completamente eliminata, incluso l'ambito CloudFormation di from.

RetainExceptOnCreate

RetainExceptOnCreate si comporta come Retain per le operazioni di stack, ad eccezione dell'operazione di stack che inizialmente ha creato la risorsa. Se l'operazione di stack che ha creato la risorsa viene ripristinata, CloudFormation elimina la risorsa. Per tutte le altre operazioni di stack, come l'eliminazione dello stack, CloudFormation conserva la risorsa e il suo contenuto. Il risultato è che le risorse nuove, vuote e non utilizzate vengono eliminate mentre le risorse in uso e i relativi dati vengono conservati. Fai riferimento alla documentazione dell'UpdateStackAPI per utilizzare questa politica di eliminazione come parametro API senza aggiornare il modello.

Snapshot

Per le risorse che supportano le istantanee, CloudFormation crea un'istantanea della risorsa prima di eliminarla. Una volta CloudFormation completata l'eliminazione dello stack, lo stack sarà Delete_Complete nello stato in cui si trova; tuttavia, le istantanee create con questa politica continuano a esistere e continuano a comportare i costi applicabili finché non si eliminano le istantanee.

Le risorse che supportano gli snapshot includono: