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. Ad esempio, puoi conservare uno stack annidato, un bucket Amazon S3 o un'istanza in modo da poter continuare a utilizzare EC2 o modificare tali risorse dopo averne eliminato gli stack.
Nota
Se desideri modificare risorse esterne a CloudFormation, utilizza una politica di Retain
eliminazione e poi 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" : { "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, 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 a
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 isSnapshot
. -
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.
-
Retain
-
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 comeRetain
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. Fate riferimento allaUpdateStack
APIdocumentazione per utilizzare questa politica di eliminazione come API parametro 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: