DeletionPolicyAttributo - AWS CloudFormation

Questa è la nuova Guida di riferimento ai modelli CloudFormation . Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida AWS CloudFormation per l'utente.

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à.

DeletionPolicyAttributo

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 un attributo DeletionPolicy, 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 si modificano le proprietà della risorsa in modo tale che CloudFormation sostituisca tale risorsa 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 al di fuori di CloudFormation, utilizza una policy di eliminazione Retain, quindi elimina lo stack. In caso contrario, le risorse potrebbero non essere sincronizzate con il modello CloudFormation e causare errori di stack.

Per le risorse che supportano gli snapshot, come per esempio AWS::EC2::Volume, specificare Snapshot per fare in modo che CloudFormation crei uno snapshot 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" : { "MyBucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } } }

YAML

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

Opzioni DeletionPolicy

Delete

CloudFormation elimina la risorsa e tutto il suo contenuto ove applicabile durante l'eliminazione dello stack. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Per impostazione predefinita, se non specifichi una DeletionPolicy, 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 funzionamento predefinito di CloudFormation consiste nell'eliminazione del segreto con il contrassegno ForceDeleteWithoutRecovery.

Retain

CloudFormation mantiene la risorsa senza eliminare la risorsa o il relativo contenuto quando il suo stack viene eliminato. È possibile aggiungere questa policy di eliminazione a qualsiasi tipo di risorsa. Quando CloudFormation completa l'eliminazione dello stack, lo stack avrà lo stato di Delete_Complete; tuttavia, le risorse che vengono mantenute continuano a esistere e continuano ad addebitare i costi applicabili finché non si eliminano tali risorse.

Per aggiornare le operazioni, si applicano le seguenti considerazioni:

  • Se una risorsa viene eliminata, la DeletionPolicy mantiene la risorsa fisica, ma garantisce che venga eliminata dall'ambito di CloudFormation.

  • Se una risorsa viene aggiornata in modo tale che una nuova risorsa fisica viene creata per sostituire la risorsa precedente, la risorsa precedente viene completamente eliminata, anche dall'ambito del CloudFormation.

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. Consulta la documentazione dell'API UpdateStack per utilizzare questa policy di eliminazione come parametro API senza aggiornare il modello.

Snapshot

Per le risorse che supportano gli snapshot, CloudFormation crea uno snapshot per la risorsa prima di eliminarla. Quando CloudFormation completa l'eliminazione dello stack, lo stack avrà lo stato di Delete_Complete; tuttavia, gli snapshot che vengono creati con questa policy continuano a esistere e continuano ad addebitare i costi applicabili finché non si eliminano tali snapshot.

Le risorse che supportano gli snapshot includono: