Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Come posso mantenere alcune delle mie risorse quando elimino uno stack di AWS CloudFormation?
Desidero eliminare uno stack di AWS CloudFormation nuovo o esistente, ma non voglio eliminare tutte le risorse dello stack.
Breve descrizione
Per conservare determinate risorse quando elimini uno stack, utilizza l'attributo DeletionPolicy nel modello di CloudFormation.
Prima di eliminare uno stack, assicurati di specificare l'opzione della policy Retain, Snapshot o Delete per ogni risorsa che desideri conservare:
- L'opzione Retain conserva la risorsa in caso di eliminazione dello stack.
- L'opzione Snapshot crea uno snapshot della risorsa prima che venga eliminata.
Nota: questa opzione è disponibile solo per le risorse che supportano gli snapshot. - L'opzione Delete cancella la risorsa insieme allo stack.
Nota: questa opzione è l'esito predefinito se non si imposta un attributo DeletionPolicy.
Risoluzione
I passaggi seguenti mostrano come utilizzare l'opzione Retain nella DeletionPolicy per impedire che le risorse vengano eliminate durante l'eliminazione di uno stack di CloudFormation.
Specificare gli attributi DeletionPolicy nel modello di AWS CloudFormation
Nel tuo modello di CloudFormation, inserisci Retain nella DeletionPolicy per le risorse che desideri conservare. Nel seguente esempio di modelli JSON e YAML, la policy Retain è specificata per le risorse AWS::EC2::SecurityGroup.
JSON:
{ "Description": "AWS CloudFormation DeletionPolicy demo", "Resources": { "SGroup1": { "Type": "AWS::EC2::SecurityGroup", "DeletionPolicy": "Retain", "Properties": { "GroupDescription": "EC2 Instance access" } }, "SGroup2": { "Type": "AWS::EC2::SecurityGroup", "DeletionPolicy": "Retain", "Properties": { "GroupDescription": "EC2 Instance access" } }, "SGroup1Ingress": { "Type": "AWS::EC2::SecurityGroupIngress", "DeletionPolicy": "Retain", "Properties": { "GroupName": { "Ref": "SGroup1" }, "IpProtocol": "tcp", "ToPort": "80", "FromPort": "80", "CidrIp": "0.0.0.0/0" } }, "SGroup2Ingress": { "Type": "AWS::EC2::SecurityGroupIngress", "DeletionPolicy": "Retain", "Properties": { "GroupName": { "Ref": "SGroup2" }, "IpProtocol": "tcp", "ToPort": "80", "FromPort": "80", "CidrIp": "0.0.0.0/0" } } } }
YAML:
Description: AWS CloudFormation DeletionPolicy demo Resources: SGroup1: Type: 'AWS::EC2::SecurityGroup' DeletionPolicy: Retain Properties: GroupDescription: EC2 Instance access SGroup2: Type: 'AWS::EC2::SecurityGroup' DeletionPolicy: Retain Properties: GroupDescription: EC2 Instance access SGroup1Ingress: Type: 'AWS::EC2::SecurityGroupIngress' DeletionPolicy: Retain Properties: GroupName: !Ref SGroup1 IpProtocol: tcp ToPort: '80' FromPort: '80' CidrIp: 0.0.0.0/0 SGroup2Ingress: Type: 'AWS::EC2::SecurityGroupIngress' DeletionPolicy: Retain Properties: GroupName: !Ref SGroup2 IpProtocol: tcp ToPort: '80' FromPort: '80' CidrIp: 0.0.0.0/0
Caricare il modello di CloudFormation aggiornato
- Apri la console AWS CloudFormation.
- Per creare un nuovo stack, scegli Crea stack. In caso di stack esistente, seleziona lo stack che desideri aggiornare, quindi scegli Aggiorna stack.
- In Seleziona un modello, scegli Carica un modello su Amazon S3, quindi scegli il modello di CloudFormation che hai modificato per includere le policy di eliminazione.
- Scegli Avanti.
- Se stai creando un nuovo stack, in Nome stack inserisci un nome per il tuo stack, quindi scegli Avanti.
- Nella pagina Opzioni, seleziona le opzioni appropriate per il tuo stack, quindi scegli Avanti.
- Scegli Crea.
Verificare l'attributo DeletionPolicy
- Elimina lo stack di AWS CloudFormation.
- Verifica che le risorse con l'opzione Retain in DeletionPolicy siano ancora disponibili dopo il completamento dell'eliminazione dello stack. Puoi controllare le risorse nei rispettivi servizi utilizzando la Console di gestione AWS o l'Interfaccia della linea di comando AWS (AWS CLI).
Ad esempio, puoi verificare se la policy Retain è andata a buon fine per i modelli precedenti utilizzando i passaggi seguenti dopo aver eliminato lo stack di CloudFormation.
- Apri la console Amazon EC2.
- Nel pannello di navigazione, nella sezione Rete e sicurezza scegli Gruppi di sicurezza.
- Conferma che i gruppi di sicurezza con la policy Retain associata siano ancora disponibili.
Informazioni correlate
Creating a stack on the AWS CloudFormation console
Come posso impedire che le risorse nel mio stack CloudFormation vengano eliminate o aggiornate?
Video correlati


Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 4 mesi fa