

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

# Metti in ibernazione la tua istanza Amazon EC2
<a name="Hibernate"></a>

Quando ibernate un'istanza, Amazon EC2 segnala al sistema operativo di eseguire l'ibernazione (). suspend-to-disk L'ibernazione salva il contenuto della memoria dell'istanza (RAM) nel volume di root di Amazon Elastic Block Store (Amazon EBS). Amazon EC2 rende persistente il volume di root dell'istanza EBS ed eventuali volumi di dati EBS collegati. Quando l'istanza viene avviata:
+ Il volume root EBS viene ripristinato allo stato precedente
+ I contenuti RAM vengono ricaricati
+ I processi precedentemente in esecuzione vengono ripresi
+ I volumi di dati precedentemente collegati vengono collegati nuovamente e l'istanza conserva il proprio ID

Puoi ibernare un'istanza solo se è [abilitata per l'ibernazione](enabling-hibernation.md) e soddisfa i [prerequisiti di ibernazione](hibernating-prerequisites.md).

Se un'istanza o un'applicazione impiega molto tempo per eseguire il bootstrap e creare un footprint di memoria per diventare pienamente produttiva, puoi utilizzare l'ibernazione per inizializzare l'istanza. Per inizializzare l'istanza, è necessario:

1. Avviarla con l'ibernazione abilitata.

1. Portarla nello stato desiderato.

1. Puoi ibernarla in modo che sia pronta per essere ripresa nello stato desiderato quando necessario.

Non sono previsti addebiti per l'utilizzo di un'istanza ibernata, finché questa si trova nello stato `stopped`, né per il trasferimento dei dati, se il contenuto della RAM viene trasferito al volume root EBS. È previsto l'addebito per l'archiviazione di tutti i volumi EBS, compresa l'archiviazione dei contenuti RAM.

Se non hai più bisogno di un'istanza, puoi terminarla in qualsiasi momento, anche quando si trova nello stato `stopped` (ibernata). Per ulteriori informazioni, consulta [Terminare le istanze Amazon EC2](terminating-instances.md).

**Topics**
+ [Come funziona](instance-hibernate-overview.md)
+ [Prerequisiti](hibernating-prerequisites.md)
+ [Configurare un'AMI Linux per il supporto dell'ibernazione](hibernation-enabled-AMI.md)
+ [Abilitazione dell'ibernazione delle istanze](enabling-hibernation.md)
+ [Disabilitazione di KASLR su un'istanza (solo Ubuntu)](hibernation-disable-kaslr.md)
+ [Ibernazione di un'istanza](hibernating-instances.md)
+ [Riavvio di un'istanza ibernata](hibernating-resuming.md)
+ [Risoluzione dei problemi](troubleshoot-instance-hibernate.md)

# Come funziona l'ibernazione delle istanze Amazon EC2
<a name="instance-hibernate-overview"></a>

Il seguente diagramma mostra una panoramica di base del processo di ibernazione per istanze EC2.

![\[Panoramica del flusso di ibernazione.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/hibernation-flow.png)


## Cosa succede quando si iberna un'istanza
<a name="how-instance-hibernation-works"></a>

Quando iberni un'istanza, si verifica quanto segue:
+ L'istanza passa allo stato `stopping`. Amazon EC2 segnala al sistema operativo di eseguire l'ibernazione (). suspend-to-disk L'ibernazione blocca tutti i processi, salva il contenuto della memoria RAM nel volume root EBS, quindi esegue la normale chiusura del sistema.
+ Una volta completata la chiusura, l'istanza passa allo stato `stopped`.
+ Tutti i volumi EBS restano collegati all'istanza e i rispettivi dati vengono conservati, incluso il contenuto salvato della RAM.
+ Tutti i volumi di instance store Amazon EC2 rimangono collegati all'istanza, ma i dati sui volumi di instance store vengono persi.
+ Nella maggior parte dei casi, all'avvio l'istanza migra su un nuovo computer host sottostante. Questo è anche quello che accade quando si arresta e avvia un'istanza.
+ Quando l'istanza viene avviata, il sistema operativo legge il contenuto della RAM dal volume root EBS prima di sbloccare i processi per riprendere il proprio stato.
+ L'istanza conserva i suoi IPv4 indirizzi privati e tutti gli indirizzi. IPv6 Quando l'istanza viene avviata, l'istanza continua a conservare i propri IPv4 indirizzi privati e tutti gli IPv6 indirizzi.
+ Amazon EC2 rilascia l'indirizzo IPv4 pubblico. All'avvio dell'istanza, Amazon EC2 assegna un nuovo IPv4 indirizzo pubblico all'istanza.
+ L'istanza mantiene gli indirizzi IP elastici associati. Ti verranno addebitati gli indirizzi IP elastici associati a un'istanza ibernata.

Per ulteriori informazioni sulla differenza tra ibernare e riavviare, arrestare o terminare un'istanza, consulta [Differenze tra gli stati dell'istanza](ec2-instance-lifecycle.md#lifecycle-differences).

## Limitazioni
<a name="instance-hibernate-limitations"></a>
+ Quando iberni un'istanza, i dati presenti sui volumi dell'instance store vengono persi.
+ (Istanze Linux) Non puoi ibernare un’istanza Linux che ha più di 150 GiB di RAM.
+ (Istanze Windows) Non puoi ibernare un’istanza Windows che ha più di 16 GiB di RAM.
+ Mentre l’istanza è ibernata, non puoi modificarla. Ciò è diverso da un’istanza arrestata che non è in ibernazione, in cui puoi modificare determinati attributi, come il tipo o la dimensione dell’istanza.
+ Se si crea uno snapshot o un'AMI da un'istanza che è ibernata o ha attivato la modalità di ibernazione, potrebbe non essere possibile connettersi a una nuova istanza avviata dall'AMI o da un'AMI creata da uno snapshot.
+ (Solo istanze spot) Se l'istanza spot viene messa in ibernazione da Amazon EC2, solo Amazon EC2 può riprenderla. Se l'istanza spot viene messa in ibernazione da te ([ibernazione avviata dall'utente](hibernating-instances.md)), puoi riprendere l'istanza in autonomia. Un'istanza spot ibernata può essere ripresa solo se la capacità è disponibile e il prezzo spot è inferiore o uguale al prezzo massimo specificato.
+ Non è possibile ibernare un'istanza che si trova in un gruppo Auto Scaling o viene utilizzata da Amazon ECS. Se l'istanza si trova in un gruppo Auto Scaling e si prova a ibernarla, il servizio Amazon EC2 Auto Scaling contrassegna l'istanza arrestata come non integra, pertanto potrebbe terminarla e avviare un'istanza sostitutiva. Per ulteriori informazioni, consulta [Controllo dell'integrità per istanze in un gruppo Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) nella *Guida per l'utente di Amazon EC2 Auto Scaling*.
+ Non è possibile ibernare un'istanza configurata per l'avvio in modalità UEFI con [UEFI Secure Boot](uefi-secure-boot.md) abilitato.
+ Se si iberna un'istanza che è stata lanciata in un Prenotazione di capacità, il Prenotazione di capacità non garantisce che l'istanza ibernata possa riprendere dopo aver provato ad avviarla.
+ Non è possibile ibernare un'istanza che utilizza un kernel inferiore a 5.10 se è abilitata la modalità FIPS (Federal Information Processing Standard).
+ Non è possibile mantenere un'istanza ibernata per più di 60 giorni. Per prolungare il periodo di ibernazione oltre i 60 giorni, è necessario avviare l'istanza ibernata, arrestarla e avviarla.
+ Aggiorniamo costantemente la nostra piattaforma con upgrade e patch di sicurezza che possono entrare in conflitto con le istanze ibernate. Ti avvisiamo in caso di aggiornamenti critici che richiedono un avvio per le istanze ibernate per potere eseguire la chiusura o il riavvio per applicare gli upgrade e le patch di sicurezza necessari.

## Considerazioni sull'ibernazione di un'istanza spot
<a name="spot-hibernation-considerations"></a>
+ Se l'istanza spot viene messa in ibernazione da *te*, puoi riavviarla a condizione che la capacità sia disponibile e il prezzo spot sia inferiore o uguale al prezzo massimo specificato.
+ Se *Amazon EC2* mette in ibernazione l'istanza spot: 
  + Solo Amazon EC2 può riprendere l'istanza.
  + Amazon EC2 riprende l'istanza spot ibernata quando la capacità diventa disponibile con un prezzo spot pari o inferiore al prezzo massimo specificato.
  + Due minuti prima che Amazon EC2 metta in ibernazione l'istanza spot, riceverai un avviso di interruzione.

  Per ulteriori informazioni, consulta [Interruzioni dell'istanza spot](spot-interruptions.md).

# Prerequisiti per l’ibernazione dell’istanza EC2
<a name="hibernating-prerequisites"></a>

Puoi abilitare il supporto per l'ibernazione per un'istanza on demand o un'istanza Spot al momento dell'avvio. Non puoi abilitare l'ibernazione su un'istanza esistente, in esecuzione o arrestata. Per ulteriori informazioni, consulta [Abilitazione dell'ibernazione delle istanze](enabling-hibernation.md).

**Topics**
+ [Regioni AWS](#hibernation-prereqs-regions)
+ [AMIs](#hibernation-prereqs-supported-amis)
+ [Famiglie di istanze](#hibernation-prereqs-supported-instance-families)
+ [Dimensioni RAM dell'istanza](#instance-ram-size)
+ [Tipo di volume root](#hibernation-prereqs-root-volume-type)
+ [Dimensione del volume root](#hibernation-prereqs-ebs-root-volume-size)
+ [Crittografia del volume root](#hibernation-prereqs-ebs-root-volume-encryption)
+ [Tipi di volume EBS](#hibernation-prereqs-ebs-volume-types)
+ [Richieste di istanza spot](#hibernation-prereqs-spot-request)

## Regioni AWS
<a name="hibernation-prereqs-regions"></a>

Puoi utilizzare l'ibernazione con tutte le istanze. Regioni AWS

## AMIs
<a name="hibernation-prereqs-supported-amis"></a>

Devi usare un'AMI HVM che supporta l'ibernazione. Le seguenti opzioni supportano l'ibernazione: AMIs 

### Linux AMIs
<a name="hibernation-prereqs-supported-amis-linux"></a>

**AMIs per i tipi di istanze Intel e AMD**
+ AL2023 AMI rilasciata il 2023.09.20 o versione successiva¹
+ AMI Amazon Linux 2 rilasciata il 29.08.2019 o successivamente
+ AMI Amazon Linux 2018.03 rilasciata il 16.11.2018 o successivamente
+ AMI CentOS versione 8² (la [configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-centos-for-hibernation) è obbligatoria)
+ AMI Fedora versione 34 o successiva² (la [configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-fedora-for-hibernation) è obbligatoria)
+ AMI Red Hat Enterprise Linux (RHEL) 9² (la [configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) è obbligatoria)
+ AMI Red Hat Enterprise Linux (RHEL) 8² (la [configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) è obbligatoria)
+ AMI Ubuntu 22.04.2 LTS (Jammy Jellyfish) rilasciata con numero di serie 20230303 o successivo³
+ AMI Ubuntu 20.04 LTS (Focal Fossa ) AMI rilasciata con numero di serie 20210820 o successivo³
+ AMI Ubuntu 18.04 LTS (Bionic Beaver) AMI rilasciata con numero di serie 20190722.1 o successivo ³ ⁵
+ AMI Ubuntu 16.04 LTS (Xenial Xerus) AMI ³ ⁴ ⁵ (la [configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-ubuntu1604-for-hibernation) è obbligatoria)

**AMIs per i tipi di istanze Graviton**
+ AL2023 AMI (64-bit Arm) rilasciata nel 2024.07.01 o versione successiva¹
+ AMI Amazon Linux 2 (Arm a 64 bit) rilasciata il 20/06/2024 o successivamente
+ AMI Ubuntu 22.04.2 LTS (Arm a 64 bit) (Jammy Jellyfish) rilasciata con numero di serie 20240701 o successivo³
+ AMI Ubuntu 20.04 LTS (Arm a 64 bit) (Focal Fossa ) rilasciata con numero di serie 20240701 o successivo³

 

¹ Per AL2023 un'AMI minima, [è necessaria una configurazione aggiuntiva](hibernation-enabled-AMI.md#configure-AL2023-minimal-for-hibernation).

² Per CentOS, Fedora e Red Hat Enterprise Linux, l'ibernazione è supportata solo su istanze basate su Nitro.

³ Suggeriamo di disabilitare KASLR sulle istanze con 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver) e Ubuntu 16.04 LTS (Xenial Xerus). Per ulteriori informazioni, consulta [Disabilitazione di KASLR su un'istanza (solo Ubuntu)](hibernation-disable-kaslr.md).

⁴ Per Ubuntu 16.04 LTS - (Xenial Xerus) AMI, l'ibernazione non è supportata su tipi di istanza `t3.nano`. Nessuna patch sarà resa disponibile perché Ubuntu (Xenial Xerus) ha terminato il supporto nell'aprile 2021. Per utilizzare i tipi di istanza `t3.nano`, consigliamo di eseguire l'aggiornamento alle AMI Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa) ooppure Ubuntu 18.04 LTS (Bionic Beaver).

⁵ Il supporto per Ubuntu 18.04 LTS (Bionic Beaver) e Ubuntu 16.04 LTS (Xenial Xerus) ha raggiunto la fine del ciclo di vita.

Per configurare la tua AMI per il supporto dell'ibernazione, consulta [Configurare un'AMI Linux per il supporto dell'ibernazione](hibernation-enabled-AMI.md).

Il supporto per altre versioni di Ubuntu e altri sistemi operativi sarà disponibile a breve.

### Windows AMIs
<a name="hibernation-prereqs-supported-amis-windows"></a>
+ AMI Windows Server 2022 rilasciata il 13.09.2023 o successivamente
+ AMI Windows Server 2019 rilasciata il 11.09.2019 o successivamente
+ AMI Windows Server 2016 rilasciata il 11.09.2019 o successivamente
+ AMI Windows Server 2012 R2 rilasciata il 11.09.2019 o successivamente
+ AMI Windows Server 2012 rilasciata il 11.09.2019 o successivamente

## Famiglie di istanze
<a name="hibernation-prereqs-supported-instance-families"></a>

Devi usare una famiglia di istanze che supporta l'ibernazione. Tuttavia, le istanze bare metal non sono supportate.
+ Uso generale: M3, M4, M5, M5a, M5ad, M5d, M6a, M6g, M6gd, M6i, M6id, M6idn, M6in, M7a, M7a, M7g, M7gd, M7i, M7i-Flex, M8a, M8Azn, M8g, M8 Gb, M8 GB, M8 GB, M8 8GD, M8GN, M8i, M8i-Flex, T2, T3, T3a, T4G
+ Elaborazione ottimizzata: C3, C4, C5, C5d, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8GB, C8gd, C8gd, C8gg N, C8i, C8i-flex
+ Memoria ottimizzata: R3, R4, R5, R5a, R5ad, R5d, R6a, R6g, R6gd, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iZ, R8a, R8g, R8gd, R8gn, R8i, R88g i-Flex, X2GD, X8AEDZ, X8i
+ Ottimizzate per l’archiviazione: I3, I3en, I4g, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen

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

**Per ottenere i tipi di istanza che supportano l’ibernazione**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegliere **Instance Types (Tipi di istanza)**.

1. Aggiungi il filtro **Supporto all’ibernazione on demand = vero**.

1. (Facoltativo) Aggiungi filtri per approfondire l’ambito di specifici tipi di istanze di interesse.

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

**Per ottenere i tipi di istanza che supportano l’ibernazione**  
Utilizza il comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/describe-instance-types/.html). Nota che i tipi di istanza disponibili variano in base alla Regione.

```
aws ec2 describe-instance-types \
    --filters Name=hibernation-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

------
#### [ PowerShell ]

**Per ottenere i tipi di istanza che supportano l’ibernazione**  
Utilizza il cmdlet [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html). Nota che i tipi di istanza disponibili variano in base alla Regione.

```
(Get-EC2InstanceType `
    -Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
```

------

## Dimensioni RAM dell'istanza
<a name="instance-ram-size"></a>

**Istanze Linux**: devono essere inferiori a 150 GiB.

**Istanze Windows**: devono essere uguali o inferiori a 16 GiB. Per l’ibernazione di un’istanza Windows T3 o T3a, consigliamo almeno 1 GiB di RAM.

## Tipo di volume root
<a name="hibernation-prereqs-root-volume-type"></a>

Il volume root deve essere un volume EBS e non un volume instance store.

## Dimensione del volume root
<a name="hibernation-prereqs-ebs-root-volume-size"></a>

Il volume root deve essere sufficientemente ampio da archiviare il contenuto della RAM e da ottimizzare l'utilizzo previsto, ad esempio sistema operativo o applicazioni. Se abiliti l'ibernazione, lo spazio viene allocato sul volume root al lancio per archiviare la RAM.

## Crittografia del volume root
<a name="hibernation-prereqs-ebs-root-volume-encryption"></a>

Il volume root deve essere crittografato per garantire la protezione del contenuto sensibile presente in memoria al momento dell'ibernazione. Quando vengono spostati al volume root EBS, i dati della RAM sono sempre crittografati. La crittografia del volume root viene applicata al lancio dell'istanza.

Utilizzare una delle tre opzioni seguenti per garantire che il volume root sia un volume EBS crittografato:
+ **Crittografia EBS per impostazione predefinita**: puoi abilitare la crittografia EBS per impostazione predefinita per garantire che tutti i nuovi volumi EBS creati nel tuo AWS account siano crittografati. In questo modo è possibile abilitare l'ibernazione per le istanze senza specificare l'intento di crittografia all'avvio delle istanze. Per ulteriori informazioni, consulta [Abilita crittografia per impostazione predefinita](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html).
+ **Crittografia a "fase singola" EBS**: puoi avviare le stanze EC2 supportate da EBS e crittografate da un'AMI non crittografata e abilitarne al contempo l'ibernazione. Per ulteriori informazioni, consulta [Usa la crittografia con supporto EBS AMIs](AMIEncryption.md).
+ **AMI crittografata**: puoi abilitare la crittografia EBS utilizzando un'AMI crittografata per avviare l'istanza. Se l'AMI non dispone di una snapshot root crittografata, è possibile copiarla in una nuova AMI e richiederne la crittografia. Per ulteriori informazioni, consultare [Crittografia di un'immagine non crittografata durante la copia](AMIEncryption.md#copy-unencrypted-to-encrypted) e [Copiare un'AMI](CopyingAMIs.md#ami-copy-steps).

## Tipi di volume EBS
<a name="hibernation-prereqs-ebs-volume-types"></a>

I volumi EBS devono utilizzare uno dei seguenti tipi di volume EBS:
+ Scopo generico (SSD) (`gp2` e `gp3`)
+ IOPS con provisioning (SSD) (`io1` e `io2`)

Se scegli un tipo di volume SSD IOPS con provisioning, per ottenere prestazioni ottimali per l'ibernazione devi eseguire il provisioning del volume EBS con l'IOPS appropriato. Per ulteriori informazioni, consulta [Tipi di volumi di Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) nella *Guida per l'utente di Amazon EBS*.

## Richieste di istanza spot
<a name="hibernation-prereqs-spot-request"></a>

Per le istanze spot, si applicano i seguenti requisiti:
+ Il tipo di richiesta di istanza spot deve essere `persistent`.
+ Non è possibile specificare un gruppo di avvio nella richiesta di istanza spot.

# Configurare un'AMI Linux per il supporto dell'ibernazione
<a name="hibernation-enabled-AMI"></a>

Le seguenti AMI Linux possono supportare l'ibernazione di un'istanza Amazon EC2, a condizione di completare le fasi di configurazione aggiuntive descritte in questa sezione.

**Topics**
+ [AL2023 AMI minimale rilasciata il 2023.09.20 o versioni successive](#configure-AL2023-minimal-for-hibernation)
+ [AMI Amazon Linux 2 versione minima rilasciata il 29/08/2019 o successivamente](#configure-AL2-minimal-for-hibernation)
+ [Amazon Linux 2 rilasciato prima del 29.08.2019](#configure-AL2-for-hibernation)
+ [Amazon Linux rilasciato prima del 16.11.2018](#configure-AL-for-hibernation)
+ [CentOS versione 8 o successiva](#configure-centos-for-hibernation)
+ [Fedora versione 34 o successive](#configure-fedora-for-hibernation)
+ [Red Hat Enterprise Linux versione 8 o 9](#configure-RHEL-for-hibernation)
+ [Ubuntu 20.04 LTS (Focal Fossa) rilasciata prima del numero di serie 20210820](#configure-ubuntu2004-for-hibernation)
+ [Ubuntu 18.04 (Bionic Beaver) rilasciata prima del numero seriale 20190722.1](#configure-ubuntu1804-for-hibernation)
+ [Ubuntu 16.04 (Xenial Xerus)](#configure-ubuntu1604-for-hibernation)

Per Linux e Windows AMIs che supportano l'ibernazione e per i quali *non è richiesta alcuna configurazione aggiuntiva*, vedere. [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)

Per maggiori informazioni, consulta [Aggiornamento software dell'istanza sull'istanza Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html).

## AL2023 AMI minimale rilasciata il 2023.09.20 o versioni successive
<a name="configure-AL2023-minimal-for-hibernation"></a>

**Per configurare un'AMI AL2023 minima rilasciata la 2023.09.20 o successiva per supportare l'ibernazione**

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. Riavvia il servizio .

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## AMI Amazon Linux 2 versione minima rilasciata il 29/08/2019 o successivamente
<a name="configure-AL2-minimal-for-hibernation"></a>

**Per configurare un'AMI Amazon Linux 2 versione minima rilasciata il 29/08/2019 o successivamente per il supporto dell'ibernazione**

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Riavvia il servizio .

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## Amazon Linux 2 rilasciato prima del 29.08.2019
<a name="configure-AL2-for-hibernation"></a>

**Per configurare un'AMI Amazon Linux 2 rilasciata prima del 29.08.2019 per il supporto dell'ibernazione**

1. Aggiornare il kernel a `4.14.138-114.102` o versione successiva.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.14.138-114.102` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Arrestare l'istanza e creare un'AMI. Per ulteriori informazioni, consulta [Creare un'AMI supportata da Amazon EBS](creating-an-ami-ebs.md).

## Amazon Linux rilasciato prima del 16.11.2018
<a name="configure-AL-for-hibernation"></a>

**Per configurare un'AMI Amazon Linux rilasciata prima del 16.11.2018 per il supporto dell'ibernazione**

1. Aggiornare il kernel a `4.14.77-70.59` o versione successiva.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.14.77-70.59` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Arrestare l'istanza e creare un'AMI. Per ulteriori informazioni, consulta [Creare un'AMI supportata da Amazon EBS](creating-an-ami-ebs.md).

## CentOS versione 8 o successiva
<a name="configure-centos-for-hibernation"></a>

**Per configurare un'AMI CentOS versione 8 o successiva per il supporto dell'ibernazione**

1. Aggiornare il kernel a `4.18.0-305.7.1.el8_4.x86_64` o versione successiva.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Installare il repository EPEL (Extra Packages for Enterprise Linux) Fedora.

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Attivare l'agente di ibernazione perché venga lanciato all'avvio.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.18.0-305.7.1.el8_4.x86_64` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

## Fedora versione 34 o successive
<a name="configure-fedora-for-hibernation"></a>

**Per configurare un'AMI Fedora versione 34 o successiva per il supporto dell'ibernazione**

1. Aggiornare il kernel a `5.12.10-300.fc34.x86_64` o versione successiva.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. Attivare l'agente di ibernazione perché venga lanciato all'avvio.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `5.12.10-300.fc34.x86_64` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

## Red Hat Enterprise Linux versione 8 o 9
<a name="configure-RHEL-for-hibernation"></a>

**Per configurare un'AMI Red Hat Enterprise Linux 8 o 9 per supportare l'ibernazione**

1. Aggiornare il kernel a `4.18.0-305.7.1.el8_4.x86_64` o versione successiva.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Installare il repository EPEL (Extra Packages for Enterprise Linux) Fedora.

   Versione 8 RHEL:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

   Versione 9 RHEL:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Attivare l'agente di ibernazione perché venga lanciato all'avvio.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.18.0-305.7.1.el8_4.x86_64` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

## Ubuntu 20.04 LTS (Focal Fossa) rilasciata prima del numero di serie 20210820
<a name="configure-ubuntu2004-for-hibernation"></a>

**Configurazione di un Ubuntu 20.04 LTS (Focal Fossa) AMI rilasciata prima del numero di serie 20210820 a supporto dell'ibernazione**

1. Aggiorna il file linux-aws-kernel alla versione precedente `5.8.0-1038.40` o successiva e grub2 alla versione successiva. `2.04-1ubuntu26.13`

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `5.8.0-1038.40` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Confermare che la versione grub2 sia aggiornata alla versione `2.04-1ubuntu26.13` o successiva.

   ```
   [ec2-user ~]$ dpkg --list | grep grub2-common
   ```

## Ubuntu 18.04 (Bionic Beaver) rilasciata prima del numero seriale 20190722.1
<a name="configure-ubuntu1804-for-hibernation"></a>

**Per configurare un'AMI Ubuntu 18.04 LTS rilasciata prima del numero seriale 20190722.1 per il supporto dell'ibernazione**

1. Aggiornare il kernel a `4.15.0-1044` o versione successiva.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.15.0-1044` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

## Ubuntu 16.04 (Xenial Xerus)
<a name="configure-ubuntu1604-for-hibernation"></a>

Per configurare Ubuntu 16.04 LTS in modo che supporti l'ibernazione, è necessario installare il pacchetto linux-aws-hwe kernel versione 4.15.0-1058-aws o successiva e l'agente ec2-hibinit-agent.

**Importante**  
Il pacchetto kernel `linux-aws-hwe` è supportato da Canonical. Il supporto standard per Ubuntu 16.04 LTS è terminato nell'aprile 2021 e il pacchetto non riceve più aggiornamenti regolari. Tuttavia, riceverà ulteriori aggiornamenti della sicurezza fino al termine del supporto per la manutenzione estesa della sicurezza nel 2024. Per ulteriori informazioni, consulta [Amazon EC2 Hibernation per Ubuntu 16.04 LTS ora disponibile](https://ubuntu.com/blog/amazon-ec2-hibernation-for-ubuntu-16-04-lts-now-available) sul blog Canonical Ubuntu.  
Ti consigliamo di eseguire l'aggiornamento a Ubuntu 20.04 LTS (Focal Fossa) AMI o Ubuntu 18.04 LTS (Bionic Beaver) AMI.

**Per configurare un'AMI Ubuntu 16.04 LTS e supportare l'ibernazione**

1. Aggiornare il kernel a `4.15.0-1058-aws` o versione successiva.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt install linux-aws-hwe
   ```

1. Installare il pacchetto `ec2-hibinit-agent` dai repository.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. Riavviare l’istanza.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Verificare che il kernel sia aggiornato alla versione `4.15.0-1058-aws` o successiva.

   ```
   [ec2-user ~]$ uname -a
   ```

# Abilitazione dell'ibernazione per un'istanza Amazon EC2
<a name="enabling-hibernation"></a>

Per ibernare un'istanza, devi prima abilitarla per l'ibernazione durante l'avvio dell'istanza.

**Importante**  
Non è possibile abilitare o disabilitare l'ibernazione di un'istanza dopo averla avviata.

**Topics**
+ [Abilitazione dell'ibernazione per le istanze on demand](#enable-hibernation-for-on-demand-instances)
+ [Abilitazione dell'ibernazione per le istanze spot](#enable-hibernation-for-spot-instances)
+ [Verificare se un'istanza è abilitata per l'ibernazione](#view-if-instance-is-enabled-for-hibernation)

## Abilitazione dell'ibernazione per le istanze on demand
<a name="enable-hibernation-for-on-demand-instances"></a>

Puoi abilitare l’ibernazione per le istanze on demand.

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

**Abilitazione dell'ibernazione per un'istanza on demand**

1. Segui la procedura per l'[avvio di un'istanza](ec2-launch-instance-wizard.md), ma non avviare l'istanza finché non avrai completato i seguenti passaggi per abilitare l'ibernazione.

1. Per abilitare l'ibernazione, configura i seguenti campi nella procedura guidata di avvio dell'istanza:

   1. In **Application and OS Images (Amazon Machine Image)** (Immagini di applicazioni e sistema operativo [Amazon Machine Image]), seleziona un'AMI che supporta l'ibernazione. Per ulteriori informazioni, consulta [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. In **Instance type** (Tipo di istanza), seleziona un tipo di istanza supportato. Per ulteriori informazioni, consulta [Famiglie di istanze](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. In **Configure storage** (Configura lo storage), scegli **Advanced** (Avanzate) a destra e specifica le informazioni seguenti per il volume root:
      + Per **Dimensione (GiB)**, immettere la dimensione del volume EBS principale. Il volume deve essere sufficientemente grande per memorizzare il contenuto della RAM e soddisfare l'utilizzo previsto.
      + Per **Volume Type** (Tipo di volume), seleziona un tipo di volume EBS supportato: SSD per scopo generico (`gp2` e `gp3`) o SSD con capacità di IOPS allocata (`io1` e `io2`).
      + Per **Encrypted** (Crittografato), scegli **Yes** (Sì). Se **hai** abilitato la AWS crittografia per impostazione predefinita in questa regione, è selezionato Sì.
      + Per **KMS key** (Chiave KMS), seleziona la chiave di crittografia per il volume. Se è stata abilitata la crittografia per impostazione predefinita in questa AWS regione, viene selezionata la chiave di crittografia predefinita.

      Per ulteriori informazioni sui prerequisiti per il volume radice, consulta [Prerequisiti per l’ibernazione dell’istanza EC2](hibernating-prerequisites.md).

   1. Espandi **Advanced details** (Dettagli avanzati) e in **Stop - Hibernate behavior** (Comportamento di arresto/ibernazione) scegli **Enable** (Abilita).

1. Nel pannello **Summary** (Riepilogo), verifica la configurazione dell'istanza, quindi scegli **Launch instance** (Avvia istanza). Per ulteriori informazioni, consulta [Avviare un'istanza EC2 tramite la procedura guidata di avvio dell'istanza nella console](ec2-launch-instance-wizard.md).

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

**Abilitazione dell'ibernazione per un'istanza on demand**  
Utilizzare il comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) per avviare un'istanza. Specificare i parametri del volume principale EBS utilizzando il parametro `--block-device-mappings file://mapping.json` e abilitare l'ibernazione utilizzando il parametro `--hibernation-options Configured=true`.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type m5.large \
    --block-device-mappings file://mapping.json \
    --hibernation-options Configured=true \
    --count 1 \
    --key-name MyKeyPair
```

Specifica quanto segue nel file `mapping.json`.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 30,
            "VolumeType": "gp2",
            "Encrypted": true
        }
    }
]
```

Il valore per `DeviceName` deve corrispondere al nome del dispositivo root associato all'AMI. Per trovare il nome del dispositivo root, utilizza il comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images --image-id ami-0abcdef1234567890
```

Se hai abilitato la crittografia per impostazione predefinita in questa AWS regione, puoi ometterla`"Encrypted": true`.

------
#### [ PowerShell ]

**Abilitazione dell'ibernazione per un'istanza on demand**  
Utilizzate il [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)comando per avviare un'istanza. Specificare il volume principale EBS definendo innanzitutto la mappatura dei dispositivi a blocchi e quindi aggiungendolo al comando mediante il parametro `-BlockDeviceMappings`. Abilitare l'ibernazione utilizzando il parametro `-HibernationOptions_Configured $true`.

```
$ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping
$ebs_encrypt.DeviceName = "/dev/xvda"
$ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice
$ebs_encrypt.Ebs.VolumeSize = 30
$ebs_encrypt.Ebs.VolumeType = "gp2"
$ebs_encrypt.Ebs.Encrypted = $true

New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType m5.large `
    -BlockDeviceMappings $ebs_encrypt `
    -HibernationOptions_Configured $true `
    -MinCount 1 `
    -MaxCount 1 `
    -KeyName MyKeyPair
```

Il valore per `DeviceName` deve corrispondere al nome del dispositivo radice associato all'AMI. Per trovare il nome del dispositivo root, usa il [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)comando.

```
Get-EC2Image -ImageId ami-0abcdef1234567890
```

Se hai abilitato la crittografia per impostazione predefinita in questa AWS regione, puoi omettere la `Encrypted = $true` mappatura dei dispositivi a blocchi.

------

## Abilitazione dell'ibernazione per le istanze spot
<a name="enable-hibernation-for-spot-instances"></a>

Puoi abilitare l’ibernazione per le istanze spot. Per informazioni su come ibernare un'istanza spot in fase di interruzione, consulta la pagina [Interruzioni dell'istanza spot](spot-interruptions.md).

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

**Abilitazione dell'ibernazione per un'istanza spot**

1. Segui la procedura per [richiedere un'istanza spot utilizzando la procedura guidata di avvio di un'istanza](using-spot-instances-request.md), ma non avviare l'istanza finché non avrai completato i seguenti passaggi per abilitare l'ibernazione.

1. Per abilitare l'ibernazione, configura i seguenti campi nella procedura guidata di avvio dell'istanza:

   1. In **Application and OS Images (Amazon Machine Image)** (Immagini di applicazioni e sistema operativo [Amazon Machine Image]), seleziona un'AMI che supporta l'ibernazione. Per ulteriori informazioni, consulta [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. In **Instance type** (Tipo di istanza), seleziona un tipo di istanza supportato. Per ulteriori informazioni, consulta [Famiglie di istanze](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. In **Configure storage** (Configura lo storage), scegli **Advanced** (Avanzate) a destra e specifica le informazioni seguenti per il volume root:
      + Per **Dimensione (GiB)**, immettere la dimensione del volume EBS principale. Il volume deve essere sufficientemente grande per memorizzare il contenuto della RAM e soddisfare l'utilizzo previsto.
      + Per **Volume Type** (Tipo di volume), seleziona un tipo di volume EBS supportato: SSD per scopo generico (`gp2` e `gp3`) o SSD con capacità di IOPS allocata (`io1` e `io2`).
      + Per **Encrypted** (Crittografato), scegli **Yes** (Sì). Se hai abilitato la crittografia per impostazione predefinita in questa AWS regione, è **selezionato Sì**.
      + Per **KMS key** (Chiave KMS), seleziona la chiave di crittografia per il volume. Se è stata abilitata la crittografia per impostazione predefinita in questa AWS regione, viene selezionata la chiave di crittografia predefinita.

      Per ulteriori informazioni sui prerequisiti per il volume radice, consulta [Prerequisiti per l’ibernazione dell’istanza EC2](hibernating-prerequisites.md).

   1. Espandi **Dettagli avanzati** e, oltre ai campi per la configurazione di un'istanza spot, procedi come segue:

      1. Per **Tipo di richiesta**, scegli **Persistente**.

      1. Per **Comportamento di interruzione**, scegli **Iberna**. In alternativa, per **Comportamento di arresto/ibernazione**, scegli **Abilita**. Entrambi i campi abilitano l'ibernazione sull'istanza spot. È necessario configurarne solo uno.

1. Nel pannello **Summary** (Riepilogo), verifica la configurazione dell'istanza, quindi scegli **Launch instance** (Avvia istanza). Per ulteriori informazioni, consulta [Avviare un'istanza EC2 tramite la procedura guidata di avvio dell'istanza nella console](ec2-launch-instance-wizard.md).

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

**Abilitazione dell'ibernazione per un'istanza spot**  
Utilizza il comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) per richiedere un'istanza spot. Specificare i parametri del volume principale EBS utilizzando il parametro `--block-device-mappings file://mapping.json` e abilitare l'ibernazione utilizzando il parametro `--hibernation-options Configured=true`. Il tipo di richiesta spot (`SpotInstanceType`) deve essere `persistent`.

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type c4.xlarge \
    --block-device-mappings file://mapping.json \
    --hibernation-options Configured=true \
    --count 1 \
    --key-name MyKeyPair
    --instance-market-options
        {
           "MarketType":"spot",
           "SpotOptions":{
              "MaxPrice":"1",
              "SpotInstanceType":"persistent"
            }
        }
```

Specifica i parametri del volume root EBS in `mapping.json` nel modo seguente.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 30,
            "VolumeType": "gp2",
            "Encrypted": true
        }
    }
]
```

Il valore per `DeviceName` deve corrispondere al nome del dispositivo root associato all'AMI. Per trovare il nome del dispositivo root, utilizza il comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images --image-id ami-0abcdef1234567890
```

Se hai abilitato la crittografia per impostazione predefinita in questa AWS regione, puoi ometterla`"Encrypted": true`.

------
#### [ PowerShell ]

**Abilitazione dell'ibernazione per un'istanza spot**  
Utilizza il [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)comando per richiedere un'istanza Spot. Specificare il volume principale EBS definendo innanzitutto la mappatura dei dispositivi a blocchi e quindi aggiungendolo al comando mediante il parametro `-BlockDeviceMappings`. Abilitare l'ibernazione utilizzando il parametro `-HibernationOptions_Configured $true`.

```
$ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping
$ebs_encrypt.DeviceName = "/dev/xvda"
$ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice
$ebs_encrypt.Ebs.VolumeSize = 30
$ebs_encrypt.Ebs.VolumeType = "gp2"
$ebs_encrypt.Ebs.Encrypted = $true

New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType m5.large `
    -BlockDeviceMappings $ebs_encrypt `
    -HibernationOptions_Configured $true `
    -MinCount 1 `
    -MaxCount 1 `
    -KeyName MyKeyPair `
    -InstanceMarketOption @(
        MarketType = spot;
        SpotOptions @{
        MaxPrice = 1;
        SpotInstanceType = persistent}
    )
```

Il valore per `DeviceName` deve corrispondere al nome del dispositivo radice associato all'AMI. Per trovare il nome del dispositivo root, usa il [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)comando.

```
Get-EC2Image -ImageId ami-0abcdef1234567890
```

Se hai abilitato la crittografia per impostazione predefinita in questa AWS regione, puoi omettere la `Encrypted = $true` mappatura dei dispositivi a blocchi.

------

## Verificare se un'istanza è abilitata per l'ibernazione
<a name="view-if-instance-is-enabled-for-hibernation"></a>

Puoi verificare se un’istanza è abilitata per l’ibernazione.

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

**Per vedere se un'istanza è abilitata per l'ibernazione**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza e, nella scheda **Details (Dettagli)** nella sezione **Instance details (Dettagli istanza)** controllare **Stop-hibernate behavior (Comportamento di interruzione/ibernazione)**. **Enabled (Abilitata)** indica che l'istanza è abilitata per l'ibernazione.

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

**Per vedere se un'istanza è abilitata per l'ibernazione**  
Utilizzare il comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) e specificare il parametro `--filters "Name=hibernation-options.configured,Values=true"` per filtrare le istanze abilitate per l'ibernazione.

```
aws ec2 describe-instances \
    --filters "Name=hibernation-options.configured,Values=true"
```

Il campo seguente nell'output indica che l'istanza è abilitata per l'ibernazione.

```
"HibernationOptions": {
    "Configured": true
}
```

------
#### [ PowerShell ]

**Per vedere se un'istanza è abilitata per l'ibernazione**  
Utilizza il [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html)cmdlet e filtra le istanze abilitate per l'ibernazione.

```
(Get-EC2Instance `
    -Filter @{Name="hibernation-options.configured"; Values="true"}).Instances
```

------

# Disabilitazione di KASLR su un'istanza (solo Ubuntu)
<a name="hibernation-disable-kaslr"></a>

Per eseguire l'ibernazione su un'istanza avviata di recente con Ubuntu 16.04 LTS (Xenial Xerus), Ubuntu 18.04 LTS (Bionic Beaver) rilasciata con numero di serie 20190722.1 o versione successiva, o Ubuntu 20.04 LTS (Focal Fossa) rilasciata con numero di serie 20210820 o versione successiva, consigliamo di disabilitare KASLR (Kernel Address Space Layout Randomization). In Ubuntu 16.04 LTS o Ubuntu 18.04 LTS, o Ubuntu 20.04 LTS, KASLR è abilitato per impostazione predefinita.

KASLR è una funzionalità di sicurezza standard del kernel di Linux che consente di mitigare l'esposizione e le ramificazioni di vulnerabilità di accesso alla memoria non ancora scoperte riproducendo in maniera casuale il valore di base dell'indirizzo del kernel. Con KASLR abilitato, c'è la possibilità che l'istanza non venga riavviata dopo l'ibernazione.

Per ulteriori informazioni su KASLR, consultare [Funzionalità di Ubuntu](https://wiki.ubuntu.com/Security/Features).

**Per disabilitare KASLR su un'istanza avviata con Ubuntu**

1. Connettersi all'istanza tramite SSH. Per ulteriori informazioni, consulta [Connessione a un’istanza Linux tramite SSH](connect-to-linux-instance.md).

1. Aprire il file `/etc/default/grub.d/50-cloudimg-settings.cfg` con un editor a scelta. Modificare la riga `GRUB_CMDLINE_LINUX_DEFAULT` per collegare l'opzione `nokaslr`, come mostrato nell'esempio seguente.

   ```
   GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 nokaslr"
   ```

1. Salvare il file e uscire dall'editor.

1. Eseguire il comando riportato di seguito per ricreare la configurazione di grub.

   ```
   sudo update-grub
   ```

1. Riavviare l’istanza.

   ```
   sudo reboot
   ```

1. Esegui il comando seguente per confermare che `nokaslr` è stato aggiunto.

   ```
   cat /proc/cmdline
   ```

   L'output del comando deve includere l'opzione `nokaslr`.

# Metti in ibernazione un'istanza Amazon EC2
<a name="hibernating-instances"></a>

È possibile avviare l'ibernazione su un'istanza on demand o su un'istanza spot se l'istanza è supportata da EBS, è [abilitata per l'ibernazione](enabling-hibernation.md) e soddisfa i [prerequisiti di ibernazione](hibernating-prerequisites.md). Se l'ibernazione di un'istanza non riesce, si verifica una normale chiusura.

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

**Ibernazione di un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Seleziona un'istanza e scegli **Instance state (Stato istanza)**, **Hibernate instance (Sospendi istanza)**. Se **Hibernate instance (Sospendi istanza)** è disabilitato, l'istanza è già sospesa o arrestata oppure non può essere sospesa. Per ulteriori informazioni, consulta [Prerequisiti per l’ibernazione dell’istanza EC2](hibernating-prerequisites.md).

1. Quando viene richiesta la conferma scegli **Hibernate (Sospendi)**. Possono essere necessari alcuni minuti per ibernare l'istanza. Lo stato dell'istanza diventa prima **Stopping (in arresto)**, quindi passa a **Stopped (arrestata)** una volta ibernata l'istanza.

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

**Ibernazione di un'istanza**  
Utilizzare il comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) e specificare il parametro `--hibernate`.

```
aws ec2 stop-instances \
    --instance-ids i-1234567890abcdef0 \
    --hibernate
```

------
#### [ PowerShell ]

**Ibernazione di un'istanza**  
Utilizza il cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html).

```
Stop-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -Hibernate $true
```

------

Puoi verificare se è stata avviata l’ibernazione per un’istanza.

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

**Per vedere se è stata avviata l'ibernazione per un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

1. Seleziona l'istanza e, nella scheda **Dettagli**, nella sezione **Dettagli istanza**, verifica il valore di **Messaggio transizione stato**.

   **Cliente. UserInitiatedHibernate: L'ibernazione avviata dall'utente indica che è stata avviata l'ibernazione** sull'istanza On-Demand o sull'istanza Spot.

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

**Per vedere se è stata avviata l'ibernazione per un'istanza**  
Utilizzare il comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) e specificare il filtro `state-reason-code` per vedere le istanze su cui è stata avviata l'ibernazione.

```
aws ec2 describe-instances \
    --filters "Name=state-reason-code,Values=Client.UserInitiatedHibernate"
```

Il campo seguente nell'output indica che l'ibernazione è stata avviata per l'istanza on demand o l'istanza spot.

```
"StateReason": {
    "Code": "Client.UserInitiatedHibernate"
}
```

------
#### [ PowerShell ]

**Per vedere se è stata avviata l'ibernazione per un'istanza**  
Utilizza il [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html)cmdlet e specifica il `state-reason-code` filtro per visualizzare le istanze in cui è stata avviata l'ibernazione.

```
Get-EC2Instance `
    -Filter @{Name="state-reason-code";Value="Client.UserInitiatedHibernate"}
```

------

# Riavvio di un'istanza Amazon EC2 ibernata
<a name="hibernating-resuming"></a>

Avvia un'istanza ibernata avviandola come faresti con un'istanza arrestata.

Per le istanze spot, se l'istanza è stata messa in ibernazione da Amazon EC2, solo Amazon EC2 può riprenderla. Puoi riprendere un'istanza spot ibernata solo se l'hai ibernata *tu*. Le istanze spot possono essere riprese solo se la capacità è disponibile e il prezzo spot è inferiore o uguale al prezzo massimo specificato.

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

**Per riavviare un'istanza ibernata**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Seleziona un'istanza sospesa e scegli **Instance state (Stato istanza)**, **Start instance (Avvia istanza)**. Possono essere necessari alcuni minuti affinché l'istanza entri nello stato `running`. In questo periodo di tempo le [verifiche dello stato](monitoring-system-instance-status-check.md#types-of-instance-status-checks) mostrano l'istanza come non riuscita, fino a quando questa non viene avviata.

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

**Per riavviare un'istanza ibernata**  
Utilizzare il comando [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html):

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**Per riavviare un'istanza ibernata**  
Utilizza il cmdlet [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

# Risoluzione dei problemi di ibernazione delle istanze Amazon EC2
<a name="troubleshoot-instance-hibernate"></a>

Utilizza queste informazioni per diagnosticare e risolvere i problemi comuni che possono verificarsi durante l'ibernazione di un'istanza.

**Topics**
+ [Non si riesce a eseguire l'ibernazione immediatamente dopo il lancio](#hibernate-troubleshooting-1)
+ [Il passaggio da stopping a stopped richiede troppo tempo e lo stato della memoria non viene ripristinato dopo l'avvio](#hibernate-troubleshooting-2)
+ [L'istanza è bloccata nello stato stopping.](#hibernate-troubleshooting-3)
+ [Impossibile avviare l'istanza spot subito dopo l'ibernazione](#hibernate-troubleshooting-4)
+ [Ripristino delle istanze spot non riuscito](#hibernate-troubleshooting-5)

## Non si riesce a eseguire l'ibernazione immediatamente dopo il lancio
<a name="hibernate-troubleshooting-1"></a>

Se provi a ibernare un'istanza troppo presto dopo il lancio, ricevi un errore.

Devi aspettare circa due minuti per le istanze Linux e circa cinque minuti per le istanze Windows dopo l'avvio prima di ibernare l'istanza.

## Il passaggio da stopping a stopped richiede troppo tempo e lo stato della memoria non viene ripristinato dopo l'avvio
<a name="hibernate-troubleshooting-2"></a>

Se l'istanza che stai ibernando impiega troppo tempo per passare dallo stato `stopping` allo stato `stopped` e lo stato della memoria non viene ripristinato dopo l'avvio, è possibile che l'ibernazione non sia stata configurata in modo appropriato.

**Istanze Linux**

Verifica il log di sistema dell'istanza e cerca i messaggi correlati all'ibernazione. Per accedere al registro di sistema, [connettiti](connect-to-linux-instance.md) all'istanza o usa il comando. [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html) Trova le righe del log che iniziano con `hibinit-agent`. Se le righe del log indicano un errore o se mancano, molto probabilmente c'è stato un errore di configurazione dell'ibernazione al lancio.

Ad esempio, il messaggio seguente indica che il volume root dell'istanza non è abbastanza grande: `hibinit-agent: Insufficient disk space. Cannot create setup for hibernation. Please allocate a larger root device.`

Se l'ultima riga del log registro da `hibinit-agent` è `hibinit-agent: Running: swapoff /swap`, l'ibernazione è stata configurata correttamente.

Se non vedi log relativi a questi processi, è possibile che l'AMI non supporti l'ibernazione. Per informazioni sulle funzionalità supportate AMIs, vedere[Prerequisiti per l’ibernazione dell’istanza EC2](hibernating-prerequisites.md). Se hai utilizzato un'AMI Linux personalizzata, verifica di aver seguito le istruzioni per [Configurare un'AMI Linux per il supporto dell'ibernazione](hibernation-enabled-AMI.md).

**Windows Server 2016 e versioni successive**  
Verifica il log di avvio EC2 e cerca i messaggi correlati all'ibernazione. Per accedere al log di avvio EC2, [connettersi](connecting_to_windows_instance.md) all'istanza da configurare e aprire il file `C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log` in un editor di testo. Se utilizzi EC2 Launch v2, apri`C:\ProgramData\Amazon\EC2Launch\log\agent.log`.

**Nota**  
Per impostazione predefinita, Windows nasconde i file e le cartelle in `C:\ProgramData`. Per visualizzare le directory e i file di avvio EC2, digitare il percorso in Windows Explorer risorse o modificare le proprietà della cartella per visualizzare i file e le cartelle nascosti.

Individuare le righe di log per l'ibernazione. Se le righe del log indicano un errore o se mancano, molto probabilmente c'è stato un errore di configurazione dell'ibernazione al lancio.

Ad esempio, il seguente messaggio indica che l'ibernazione non è stata configurata: `Message: Failed to enable hibernation.` se il messaggio di errore include valori ASCII decimali, puoi convertire i valori ASCII in testo semplice per leggere il messaggio di errore completo.

Se la riga del log contiene `HibernationEnabled: true`, l'ibernazione è stata configurata correttamente.

**Windows Server 2012 R2 e versione precedente**  
Verifica il log di configurazione EC2 e cerca i messaggi correlati all'ibernazione. Per accedere al log di configurazione EC2, [connettersi](connecting_to_windows_instance.md) all'istanza da configurare e aprire il file `C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt` in un editor di testo. Trovare le righe del log che iniziano con `SetHibernateOnSleep`. Se le righe del log indicano un errore o se mancano, molto probabilmente c'è stato un errore di configurazione dell'ibernazione al lancio.

Ad esempio, il messaggio seguente indica che il volume root dell'istanza non è abbastanza grande: `SetHibernateOnSleep: Failed to enable hibernation: Hibernation failed with the following error: There is not enough space on the disk.`

Se la riga del log è `SetHibernateOnSleep: HibernationEnabled: true`, l'ibernazione è stata configurata correttamente.

**Dimensioni delle istanze Windows**  
Se utilizzi un’istanza Windows T3 o T3a con meno di 1 GiB di RAM, prova ad aumentare la dimensione dell’istanza ad almeno 1 GiB di RAM.

## L'istanza è bloccata nello stato stopping.
<a name="hibernate-troubleshooting-3"></a>

Se hai ibernato un'istanza e questa appare bloccata nello stato `stopping`, puoi forzarne l'arresto. Per ulteriori informazioni, consulta [Risolvi i problemi relativi al blocco delle EC2 istanze di Amazon](TroubleshootingInstancesStopping.md).

## Impossibile avviare l'istanza spot subito dopo l'ibernazione
<a name="hibernate-troubleshooting-4"></a>

Se provi ad avviare un'istanza spot entro due minuti dall'ibernazione, potresti ricevere il seguente errore:

`You failed to start the Spot Instance because the associated Spot Instance request is not in an appropriate state to support start.`

Attendi per circa due minuti per le istanze Linux e circa cinque minuti per le istanze Windows, poi riprova ad avviare l'istanza.

## Ripristino delle istanze spot non riuscito
<a name="hibernate-troubleshooting-5"></a>

Se l'istanza spot è stata ibernata correttamente ma non è stato possibile riattivarla e invece è stata riavviata (un nuovo riavvio in cui lo stato di ibernazione non viene mantenuto), è possibile che i dati dell'utente contenessero lo script seguente:

```
/usr/bin/enable-ec2-spot-hibernation
```

Rimuovi questo script dal campo **Dati utente** nel modello di avvio, quindi richiedi una nuova istanza spot.

Tieni presente che anche se l'istanza non è stata ripristinata senza che lo stato di ibernazione fosse mantenuto, potrà comunque essere avviata nello stesso modo in cui è stata avviata dallo stato `stopped`.