

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

# Controlla la conservazione delle istanze con le politiche del ciclo di vita delle istanze
<a name="instance-lifecycle-policy"></a>

 Le politiche del ciclo di vita delle istanze forniscono protezione contro le terminazioni di Amazon EC2 Auto Scaling quando un'azione del ciclo di vita di terminazione viene abbandonata. A differenza dei soli ganci relativi al ciclo di vita, le policy relative al ciclo di vita delle istanze sono progettate per garantire che le istanze passino a uno stato inalterato quando le procedure di spegnimento automatiche non vengono completate correttamente. 

## Quando utilizzare le policy relative al ciclo di vita delle istanze
<a name="when-to-use-instance-lifecycle-policies"></a>

 Utilizza le policy relative al ciclo di vita delle istanze quando lo spegnimento regolare dell'applicazione non è facoltativo, ma è obbligatorio e gli arresti non riusciti richiedono un intervento manuale. Casi di utilizzo comune comprendono: 
+  Applicazioni con stato che devono completare la persistenza dei dati prima della chiusura. 
+  Applicazioni che richiedono periodi di drenaggio prolungati che possono superare il timeout massimo consentito per il ciclo di vita di 48 ore. 
+  I carichi di lavoro che gestiscono dati sensibili in cui una pulizia non riuscita o incompleta potrebbe causare la perdita o il danneggiamento dei dati. 
+  Servizi mission critical in cui l'arresto improvviso ha un impatto sulla disponibilità. 

 Per ulteriori informazioni su come gestire correttamente la chiusura delle istanze, consulta. [Progetta le tue applicazioni per gestire correttamente la chiusura delle istanze](gracefully-handle-instance-termination.md) 

## Come funzionano le politiche del ciclo di vita delle istanze con gli hook del ciclo di vita della terminazione
<a name="how-instance-lifecycle-policies-work"></a>

 Le policy relative al ciclo di vita delle istanze funzionano in combinazione con gli hook del ciclo di vita della terminazione, non come sostitutive. Il processo segue diverse fasi: 

1.  **Le azioni del ciclo di vita di terminazione vengono eseguite.** Quando Amazon EC2 Auto Scaling seleziona un'istanza per la terminazione, vengono richiamati gli hook del ciclo di vita della terminazione e l'`Terminating:Wait`istanza entra nello stato per iniziare a eseguire le azioni del ciclo di vita della terminazione. 

1.  **Inizia il tentativo di chiusura di Graceful.** L'applicazione, in esecuzione sull'istanza o tramite un piano di controllo, riceve la notifica relativa all'interruzione del ciclo di vita e avvia procedure di spegnimento regolari come l'esaurimento delle connessioni, il completamento di lavori in corso o il trasferimento di dati. 

1.  **Le azioni relative al ciclo di vita di terminazione sono state completate.** Un'azione del ciclo di vita di terminazione può essere completata con o come risultato. `CONTINUE` `ABANDON` 

1.  **La politica del ciclo di vita dell'istanza valuta la situazione.** Senza una politica del ciclo di vita dell'istanza configurata, l'istanza procede alla chiusura immediata anche se l'azione relativa al ciclo di vita dell'istanza è stata completata con risultati. `ABANDON` Con una politica del ciclo di vita dell'istanza configurata per mantenere attive le istanze`TerminateHookAbandon`, l'istanza passa a uno stato inalterato se l'azione del ciclo di vita di terminazione è stata completata con risultati. `ABANDON` 

1.  **Le istanze conservate attendono un'azione manuale.** Le istanze negli stati mantenuti continuano a essere soggette ai costi standard di Amazon EC2. Queste istanze non vengono conteggiate ai fini della capacità desiderata del gruppo Auto Scaling, pertanto Auto Scaling lancia istanze sostitutive per mantenere le dimensioni desiderate. Le funzionalità di Auto Scaling come l'aggiornamento e la durata massima dell'istanza ignoreranno anche le istanze conservate. Ciò consente di completare manualmente le procedure di pulizia, recuperare i dati o indagare sul motivo per cui l'arresto automatico non è riuscito prima di terminare manualmente l'istanza. 

1.  **Si verifica la terminazione manuale.** Dopo aver completato le azioni necessarie sull'istanza mantenuta, devi chiamare l'`TerminateInstanceInAutoScalingGroup`API per terminare l'istanza. 

# Configura la conservazione dell'istanza
<a name="configure-instance-retention"></a>

Configura il tuo gruppo Amazon EC2 Auto Scaling per conservare le istanze quando le azioni del ciclo di vita di terminazione falliscono.

 Per utilizzare i criteri del ciclo di vita delle istanze nel gruppo Auto Scaling, è inoltre necessario configurare un hook del ciclo di vita della terminazione. Se configuri una policy sul ciclo di vita dell'istanza ma non disponi di alcun hook relativo al ciclo di vita della terminazione, la policy non ha alcun effetto. Le policy relative al ciclo di vita delle istanze verranno applicate solo quando le azioni relative al ciclo di vita di terminazione vengono abbandonate, non quando vengono completate correttamente con il risultato. `CONTINUE` 

 Le policy relative al ciclo di vita delle istanze utilizzano i trigger di conservazione per determinare quando conservare un'istanza. Il `TerminateHookAbandon` trigger causa la conservazione in diversi scenari: 
+  Quando chiami esplicitamente l'[ CompleteLifecycleAction](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html)API con il `ABANDON` risultato. 
+  Quando un'azione del ciclo di vita di terminazione con risultato predefinito scade perché il `ABANDON` timeout del battito cardiaco viene raggiunto senza ricevere alcun battito cardiaco. 
+  Quando viene raggiunto il timeout globale in un'azione del ciclo di vita di terminazione con il risultato predefinito, che è 48 ore o 100 volte il timeout del battito cardiaco`ABANDON`, a seconda di quale tra i due sia minore 

------
#### [ Console ]

**Per configurare la conservazione delle istanze**

1. Apri la console Amazon EC2 Auto Scaling

1. Crea il tuo gruppo Auto Scaling (la policy del ciclo di vita dell'istanza è predefinita su Terminate)

1. Vai alla pagina dei dettagli del gruppo Auto Scaling e scegli la scheda Gestione delle **istanze**

1. **Nella **policy relativa al ciclo di vita delle istanze per Lifecycle Hook, scegli Retain****

1. Crea i collegamenti del ciclo di vita delle terminazioni con:
   + **Transizione del ciclo di vita impostata su Instance terminate**
   + **Il risultato predefinito è impostato su Abbandona**

------
#### [ AWS CLI ]

**Per configurare la conservazione delle istanze**  
 Utilizza il [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando con una politica del ciclo di vita dell'istanza: 

```
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name my-asg \
--launch-template LaunchTemplateName=my-template,Version='$Latest' \
--min-size 1 \
--max-size 3 \
--desired-capacity 2 \
--vpc-zone-identifier subnet-12345678 \
--instance-lifecycle-policy file://lifecycle-policy.json
```

Contenuto di lifecycle-policy.json:

```
{
    "RetentionTriggers": {
        "TerminateHookAbandon": "retain"
    }
}
```

**Per aggiungere un hook del ciclo di vita di terminazione**  
Utilizza il comando [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html):

```
aws autoscaling put-lifecycle-hook \
--lifecycle-hook-name my-termination-hook \
--auto-scaling-group-name my-asg \
--lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \
--default-result ABANDON \
--heartbeat-timeout 300
```

------

# Gestisci le istanze conservate
<a name="manage-retained-instances"></a>

 Monitora e controlla le istanze Amazon EC2 che sono state spostate in uno stato mantenuto. Utilizza i CloudWatch parametri per tenere traccia delle istanze mantenute, quindi interrompi manualmente le istanze conservate dopo aver completato le azioni personalizzate. 

 Le istanze conservate non vengono conteggiate ai fini della capacità desiderata del gruppo Amazon EC2 Auto Scaling. Quando un'istanza entra in uno stato mantenuto, Auto Scaling avvia un'istanza sostitutiva per mantenere la capacità desiderata. Ad esempio, supponiamo che il gruppo Auto Scaling abbia una capacità desiderata di 10. Quando un'istanza entra nello `Terminating:Retained` stato, Auto Scaling avvia un'istanza sostitutiva per mantenere la capacità desiderata di 10. Ora hai 11 istanze in esecuzione in totale: 10 nel gruppo attivo più 1 istanza conservata. I costi standard di Amazon EC2 per tutte le 11 istanze verranno applicati fino alla chiusura manuale dell'istanza mantenuta. 

## Stati del ciclo di vita delle istanze conservate
<a name="instance-lifecyle-states-of-retained-instances"></a>

 Scopri come le istanze passano da uno stato all'altro del ciclo di vita quando vengono utilizzate le policy relative al ciclo di vita delle istanze. Le istanze seguono un percorso specifico dalla cessazione normale alla conservazione fino alla chiusura finale. 

*Quando viene attivata la conservazione, le istanze passano attraverso questi stati:*

1. `Terminating`- Inizia la normale cessazione

1. `Terminating:Wait`- L'hook Lifecycle viene eseguito

1. `Terminating:Proceed`- Conclusione delle azioni relative al ciclo di vita (con esito positivo o negativo)

1. `Terminating:Retained`- Hook fallisce, istanza conservata per l'intervento manuale

Le istanze Warm Pool utilizzano percorsi di stato del ciclo di vita diversi a seconda dello scenario:

*Ridimensionamento delle istanze fino al pool caldo:*

1. `Warmed:Pending`- Inizia la normale transizione dalla piscina calda

1. `Warmed:Pending:Wait`- L'hook Lifecycle viene eseguito

1. `Warmed:Pending:Proceed`- Conclusione delle azioni relative al ciclo di vita (con esito positivo o negativo)

1. `Warmed:Pending:Retained`- Hook fallisce, istanza conservata per l'intervento manuale

*Istanze che vengono chiuse dal pool caldo:*

1. `Warmed:Terminating`- Inizia la normale terminazione

1. `Warmed:Terminating:Wait`- L'hook Lifecycle viene eseguito

1. `Warmed:Terminating:Proceed`- Conclusione delle azioni relative al ciclo di vita (con esito positivo o negativo)

1. `Warmed:Terminating:Retained`- Hook fallisce, istanza conservata per l'intervento manuale

## Monitora le istanze conservate
<a name="monitor-retained-instances"></a>

 Poiché le istanze Amazon EC2 conservate comportano costi e richiedono un intervento manuale, il loro monitoraggio è essenziale. Amazon EC2 Auto Scaling CloudWatch fornisce diversi parametri per tenere traccia delle istanze conservate. 

Abilita le metriche di gruppo per tenere traccia delle istanze conservate:

```
aws autoscaling enable-metrics-collection \
--auto-scaling-group-name my-asg \
--metrics GroupTerminatingRetainedInstances
```

Le metriche disponibili sono:
+  `GroupTerminatingRetainedInstances`mostra il numero di istanze nello `Terminating:Retained` stato. 
+  `GroupTerminatingRetainedCapacity`mostra le unità di capacità rappresentate dalle istanze nello `Terminating:Retained` stato. 
+  `WarmPoolTerminatingRetainedCapacity`tiene traccia delle istanze conservate che terminano dal pool caldo. 
+  `WarmPoolPendingRetainedCapacity`tiene traccia delle istanze conservate che tornano al pool caldo. 

 Puoi anche controllare le attività di scaling del tuo gruppo Amazon EC2 Auto Scaling per capire perché le istanze sono state mantenute. Cerca le attività di terminazione con messaggi relativi al motivo `StatusCode: Cancelled` e allo stato che indicano gli errori degli hook del ciclo di vita: 

```
aws autoscaling describe-scaling-activities \
--auto-scaling-group-name my-asg
```

 Ti consigliamo di creare CloudWatch allarmi in base a queste metriche per avvisarti quando le istanze entrano in uno stato mantenuto. Questo ti aiuta a tenere traccia delle implicazioni sui costi e ti assicura di non dimenticare di ripulire le istanze che richiedono un intervento manuale. 

## Termina le istanze conservate
<a name="terminate-retained-instances"></a>

Dopo aver completato le azioni personalizzate, interrompi le istanze conservate chiamando l'API: [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html) 

```
aws autoscaling terminate-instance-in-auto-scaling-group \
--instance-id i-1234567890abcdef0 \
--no-should-decrement-desired-capacity
```