

# Hibernación de la instancia de Amazon EC2
<a name="Hibernate"></a>

Cuando hiberna una instancia, Amazon EC2 señala el sistema operativo que realice la hibernación (suspensión a disco). La hibernación guarda el contenido de la memoria de la instancia (RAM) en su volumen raíz de Amazon Elastic Block Store (Amazon EBS). Amazon EC2 conserva el volumen raíz de EBS de la instancia y cualquier volumen de datos de EBS adjunto. Cuando se inicie la instancia:
+ El volumen raíz de EBS se restaura a su estado anterior
+ El contenido de la RAM se volverá a cargar
+ Se reanudarán los procesos que se estaban ejecutando anteriormente en la instancia
+ Los volúmenes de datos que estaban adjuntos previamente se vuelven a adjuntar y la instancia conserva su ID de instancia

Puede hibernar una instancia solo si está [habilitada para la hibernación](enabling-hibernation.md) y cumple los [requisitos previos de hibernación](hibernating-prerequisites.md).

Si una instancia o aplicación tarda mucho tiempo en arrancar y crear una huella de memoria para ser totalmente productiva, puede utilizar la hibernación para “precalentar” la instancia. Para “precalentar” la instancia:

1. Láncela con la hibernación habilitada.

1. Póngala en un estado deseado.

1. Hibérnela para que esté lista para reanudarse al estado deseado cuando sea necesario.

No se le cobra por el uso de una instancia en hibernación cuando está en el estado `stopped` o por la transferencia de datos cuando el contenido de la RAM se transfiere al volumen raíz de EBS. Se le cobra por el almacenamiento de cualquier volumen de EBS, incluido el almacenamiento del contenido de la RAM.

Si ya no necesita una instancia, puede terminarla en cualquier momento, incluso si está en el estado `stopped` (hibernado). Para obtener más información, consulte [Terminación de las instancias de Amazon EC2](terminating-instances.md).

**Topics**
+ [Funcionamiento](instance-hibernate-overview.md)
+ [Requisitos previos](hibernating-prerequisites.md)
+ [Configuración de una AMI de Linux para que admita la hibernación](hibernation-enabled-AMI.md)
+ [Habilitación de la hibernación de una instancia](enabling-hibernation.md)
+ [Deshabilitación de KASLR en una instancia (solo Ubuntu)](hibernation-disable-kaslr.md)
+ [Hibernar una instancia](hibernating-instances.md)
+ [Reiniciar una instancia hibernada](hibernating-resuming.md)
+ [Solución de problemas](troubleshoot-instance-hibernate.md)

# Cómo funciona la hibernación de instancias de Amazon EC2
<a name="instance-hibernate-overview"></a>

En el siguiente diagrama, se muestra un resumen básico del proceso de hibernación para instancias de EC2.

![\[Información general acerca del flujo de hibernación.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/hibernation-flow.png)


## ¿Qué ocurre cuando se hiberna una instancia?
<a name="how-instance-hibernation-works"></a>

Cuando se hiberna una instancia, ocurre lo siguiente:
+ La instancia cambia al estado `stopping`. Amazon EC2 señala al sistema operativo que realice la hibernación (suspensión a disco). La hibernación bloquea todos los procesos, guarda el contenido de la RAM en el volumen raíz de EBS y, a continuación, realiza un apagado normal.
+ Una vez que se ha completado el apagado, la instancia pasa al estado `stopped`.
+ Los volúmenes de EBS siguen asociados a la instancia y sus datos continúan, incluido el contenido guardado de la RAM.
+ Los volúmenes del almacén de instancias de Amazon EC2 permanecen asociados a la instancia, pero los datos de estos volúmenes se pierden.
+ En la mayoría de los casos, la instancia se migra a un nuevo equipo host subyacente al iniciarse. Es lo mismo que ocurre cuando detiene e inicia una instancia.
+ Cuando se inicie la instancia, esta arranca y el sistema operativo lee el contenido de la RAM del volumen raíz de EBS antes de desbloquear los procesos para reanudar su estado.
+ La instancia conserva sus direcciones IPv4 privadas y cualquier dirección IPv6. Al iniciar la instancia, la instancia continúa conservando sus direcciones IPv4 privadas y cualquier dirección IPv6.
+ Amazon EC2 libera la dirección IPv4 pública. Al iniciar la instancia, Amazon EC2 asigna una nueva dirección IPv4 pública a la instancia.
+ La instancia conserva sus direcciones IP elásticas asociadas. Se le cobrarán aquellas direcciones IP elásticas asociadas a una instancia hibernada.

Para obtener información acerca de las diferencias entre la hibernación y el reinicio, la detención y la terminación, consulte [Diferencias entre los estados de las instancias](ec2-instance-lifecycle.md#lifecycle-differences).

## Limitaciones
<a name="instance-hibernate-limitations"></a>
+ Cuando una instancia se pone en hibernación, se pierden los datos de todos los volúmenes del almacén de instancias.
+ (instancias de Linux) No puede poner en hibernación una instancia de Linux que tenga más de 150 GiB de RAM.
+ (instancias de Windows) No puede poner en hibernación una instancia de Windows que tenga más de 16 GiB de RAM.
+ Mientras la instancia está hibernada, no puede modificarla, a diferencia de una instancia detenida que no está hibernada, en la que puede modificar ciertos atributos, como su tipo o tamaño.
+ Si crea una instantánea o AMI desde una instancia que está hibernada o tiene habilitada la hibernación, es posible que no pueda conectarse a una nueva instancia que se lance desde la AMI o desde una AMI que se haya creado desde la instancia.
+ (Solo instancias de spot) Si Amazon EC2 pone a hibernar su instancia de spot, solo Amazon EC2 podrá reanudarla. Si poner a hibernar su instancia de spot ([hibernación iniciada por el usuario](hibernating-instances.md)), puede reanudarla. Una instancia de spot en hibernación solo se puede reanudar si hay capacidad disponible y el precio de spot es menor o igual que el precio máximo especificado.
+ No puede hibernar una instancia que esté en un grupo de Auto Scaling o esté siendo utilizada por Amazon ECS. Si la instancia está en un grupo de Auto Scaling e intenta que hiberne, el servicio Amazon EC2 Auto Scaling marca la instancia detenida como instancia en mal estado, y puede terminarla y iniciar una instancia de sustitución. Para obtener más información, consulte [Comprobaciones de estado para instancias en un grupo de escalado automático](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) en la *Guía del usuario de Amazon EC2 Auto Scaling*.
+ No puede hibernar una instancia que esté configurada para arrancar en modo UEFI con la opción [Arranque seguro UEFI](uefi-secure-boot.md) habilitada.
+ Si hiberna una instancia que se lanzó en un Reserva de capacidad, el Reserva de capacidad no garantiza que la misma pueda reanudarse después de intentar iniciarla.
+ No puede poner en hibernación una instancia que utilice un núcleo inferior a la versión 5.10 si está activado el modo estándar federal de procesamiento de información (FIPS).
+ No se admite la hibernación de una instancia durante más de 60 días. Para mantener la instancia durante más de 60 días, debe iniciar la instancia hibernada, detener la instancia e iniciarla.
+ Actualizamos constantemente nuestra plataforma con mejoras y parches de seguridad, que pueden entrar en conflicto con las instancias hibernadas existentes. Le informaremos acerca de las actualizaciones críticas que requieran un inicio de las instancias hibernadas, de manera que podamos realizar un apagado o un reinicio para aplicar las actualizaciones y los parches de seguridad necesarios.

## Consideraciones a la hora de hibernar una instancia de spot
<a name="spot-hibernation-considerations"></a>
+ Si *pone* a hibernar su instancia de spot, puede reiniciarla siempre que haya capacidad disponible y el precio de spot sea menor o igual que el precio máximo especificado.
+ Si *Amazon EC2* pone a hibernar su instancia de spot: 
  + Solo Amazon EC2 puede reanudar la instancia.
  + Amazon EC2 reanuda la instancia de spot en hibernación tan pronto como haya capacidad disponible con un precio de spot menor o igual que el precio máximo especificado.
  + Antes de que Amazon EC2 ponga a hibernar su instancia de spot, recibirá un aviso de interrupción dos minutos antes de que comience la hibernación.

  Para obtener más información, consulte [Interrupciones de instancias de spot](spot-interruptions.md).

# Requisitos previos para la hibernación de instancias de EC2
<a name="hibernating-prerequisites"></a>

Puede habilitar el soporte de hibernación para una instancia bajo demanda o una instancia de spot al iniciarla. No se puede habilitar la hibernación en una instancia existente, independientemente de si está en ejecución o detenida. Para obtener más información, consulte [Habilitación de la hibernación de una instancia](enabling-hibernation.md).

**Topics**
+ [Regiones de AWS](#hibernation-prereqs-regions)
+ [AMI](#hibernation-prereqs-supported-amis)
+ [Familias de instancias](#hibernation-prereqs-supported-instance-families)
+ [Tamaño de RAM de instancia](#instance-ram-size)
+ [Tipo de volumen raíz](#hibernation-prereqs-root-volume-type)
+ [Tamaño del volumen raíz](#hibernation-prereqs-ebs-root-volume-size)
+ [Cifrado de volumen raíz](#hibernation-prereqs-ebs-root-volume-encryption)
+ [Tipo de volumen de EBS](#hibernation-prereqs-ebs-volume-types)
+ [Solicitudes de instancia de spot](#hibernation-prereqs-spot-request)

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

Puede usar la hibernación con instancias en todas las Regiones de AWS.

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

Debe utilizar una AMI de HVM compatible con la hibernación. Las siguientes AMI admiten la hibernación:

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

**AMI para tipos de instancias de Intel y AMD**
+ AMI de AL2023 iniciada el 20/09/2023 o posteriormente ¹
+ AMI de Amazon Linux 2 iniciada el 29/08/2019 o posteriormente
+ AMI de Amazon Linux 2018.03 lanzada el 16/11/2018 o posteriormente
+ AMI de CentOS versión 8 ² (la [configuración adicional](hibernation-enabled-AMI.md#configure-centos-for-hibernation) es obligatoria)
+ AMI de Fedora versión 34 o posterior ² (la [configuración adicional](hibernation-enabled-AMI.md#configure-fedora-for-hibernation) es obligatoria)
+ AMI de Red Hat Enterprise Linux (RHEL) 9 ² (la [configuración adicional](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) es obligatoria)
+ AMI de Red Hat Enterprise Linux (RHEL) 8 ² (la [configuración adicional](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) es obligatoria)
+ AMI de Ubuntu 22.04.2 LTS (Jammy Jellyfish) iniciada con el número de serie 20230303 o uno posterior ³
+ AMI de Ubuntu 20.04 LTS (Focal Fossa) iniciada con el número de serie 20210820 o posterior ³
+ AMI de Ubuntu 18.04 LTS (Bionic Beaver) iniciada con el número de serie 20190722.1 o posterior ³ ⁵
+ AMI de Ubuntu 16.04 LTS (Xenial Xerus) ³ ⁴ ⁵ (la [configuración adicional](hibernation-enabled-AMI.md#configure-ubuntu1604-for-hibernation) es obligatoria)

**AMI para tipos de instancias de Graviton**
+ AMI de AL2023 (Arm de 64 bits), lanzada el 01 de julio de 2024 o posterior ¹
+ AMI de Amazon Linux 2 (Arm de 64 bits) lanzada el 20 de junio de 2024 o posterior
+ AMI de Ubuntu 22.04.2 LTS (Arm de 64 bits) (Jammy Jellyfish) lanzada con el número de serie 20240701 o uno posterior ³
+ AMI de Ubuntu 20.04 LTS (Arm de 64 bits) (Focal Fossa) lanzada con el número de serie 20240701 o posterior ³

 

¹ Para la AMI mínima de AL2023, [se requiere configuración adicional](hibernation-enabled-AMI.md#configure-AL2023-minimal-for-hibernation).

² Para CentOS, Fedora y Red Hat Enterprise Linux, solo se admite la hibernación en instancias basadas en Nitro.

³ Recomendamos desactivar KASLR en instancias con Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver) y Ubuntu 16.04 LTS (Xenial Xerus). Para obtener más información, consulte [Deshabilitación de KASLR en una instancia (solo Ubuntu)](hibernation-disable-kaslr.md).

⁴ Para la AMI de Ubuntu 16.04 LTS (Xenial Xerus), la hibernación no se admite en los tipos de instancias `t3.nano`. No habrá ninguna revisión disponible porque Ubuntu (Xenial Xerus) finalizó el soporte en abril de 2021. Si desea utilizar los tipos de instancia `t3.nano`, le recomendamos que actualice a la AMI de Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa) o la AMI de Ubuntu 18.04 LTS (Bionic Beaver).

⁵ La compatibilidad con Ubuntu 18.04 LTS (Bionic Beaver) y Ubuntu 16.04 LTS (Xenial Xerus) ha llegado al final de su vida útil.

Para configurar su propia AMI para admitir la hibernación, consulte [Configuración de una AMI de Linux para que admita la hibernación](hibernation-enabled-AMI.md).

Se ofrecerá soporte para otras versiones de Ubuntu y otros sistemas operativos próximamente.

### AMI de Windows
<a name="hibernation-prereqs-supported-amis-windows"></a>
+ AMI de Windows Server 2022 iniciada el 13/09/2023 o posteriormente
+ AMI de Windows Server 2019 iniciada el 11/09/2019 o posteriormente
+ AMI de Windows Server 2016 iniciada el 11/09/2019 o posteriormente
+ AMI de Windows Server 2012 R2 iniciada el 11/09/2019 o posteriormente
+ AMI de Windows Server 2012 iniciada el 11/09/2019 o posteriormente

## Familias de instancias
<a name="hibernation-prereqs-supported-instance-families"></a>

Debe usar una familia de instancias que admita la hibernación. Sin embargo, no se admiten instancias bare metal.
+ De uso general: M3, M4, M5, M5a, M5ad, M5d, M6a, M6g, M6gd, M6i, M6id, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gd, M8gn, M8i, M8i-flex, T2, T3, T3a, T4g
+ Optimizadas para la computación: C3, C4, C5, C5d, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gd, C8gn, C8i, C8i-flex
+ Optimizadas para la memoria: R3, R4, R5, R5a, R5ad, R5d, R6a, R6g, R6gd, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, R8a, R8g, R8gb, R8gd, R8gn, R8i, R8i-flex, X2gd, X8aedz, X8i
+ Optimizadas para almacenamiento: I3, I3en, I4g, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen

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

**Para obtener los tipos de instancias que admiten la hibernación**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Instances Types (Tipos de instancia)**.

1. Agregue el filtro **On-Demand Hibernation support = true**.

1. (Opcional) Agregue filtros para ampliar el alcance de los tipos de instancias específicos que le interesen.

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

**Para obtener los tipos de instancias que admiten la hibernación**  
Utilice el comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/describe-instance-types/.html). Tenga en cuenta que los tipos de instancia disponibles varían según la región.

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

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

**Para obtener los tipos de instancias que admiten la hibernación**  
Utilice el cmdlet [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html). Tenga en cuenta que los tipos de instancia disponibles varían según la región.

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

------

## Tamaño de RAM de instancia
<a name="instance-ram-size"></a>

**Instancias de Linux**: deben ser inferiores a 150 GiB.

**Instancias de Windows**: deben tener un tamaño menor o igual a 16 GiB. Para hibernar una instancia T3 o T3a de Windows, recomendamos al menos 1 GiB de RAM.

## Tipo de volumen raíz
<a name="hibernation-prereqs-root-volume-type"></a>

El volumen raíz debe ser un volumen de EBS, no un volumen de almacén de instancias.

## Tamaño del volumen raíz
<a name="hibernation-prereqs-ebs-root-volume-size"></a>

El tamaño del volumen raíz debe ser lo suficientemente grande como para almacenar el contenido de la RAM y adaptarse al uso esperado, por ejemplo, del SO o de las aplicaciones. Si habilita la hibernación, se asigna espacio en el volumen raíz en el momento de la inicialización para almacenar la RAM.

## Cifrado de volumen raíz
<a name="hibernation-prereqs-ebs-root-volume-encryption"></a>

Debe cifrarse el volumen raíz a fin de garantizar la protección del contenido confidencial que se encuentre en la memoria en el momento de la hibernación. Cuando los datos de la RAM pasan al volumen raíz de EBS, siempre se cifran. El cifrado del volumen raíz es obligatorio en el momento de la inicialización de la instancia.

Utilice una de las tres opciones siguientes para asegurarse de que el volumen raíz es un volumen de EBS cifrado:
+ **Cifrado de EBS de forma predeterminada**: puede habilitar el cifrado de EBS de forma predeterminada para asegurarse de que se cifren todos los volúmenes de EBS nuevos creados en su cuenta de AWS. De esta forma, puede habilitar la hibernación en sus instancias sin especificar el intento de cifrado al iniciar la instancia. Para obtener más información, consulte [Habilitación del cifrado de manera predeterminada](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html).
+ **Cifrado de EBS de un “solo paso”**: puede iniciar instancias de EC2 respaldadas por EBS cifradas a partir de una AMI sin cifrado y a la vez habilitar la hibernación. Para obtener más información, consulte [Usar el cifrado con las AMI con respaldo de EBS](AMIEncryption.md).
+ **AMI cifrada**: puede habilitar el cifrado de EBS con una AMI cifrada para iniciar su instancia. Si su AMI no tiene una instantánea raíz cifrada, puede copiarla a una nueva AMI y solicitar su cifrado. Para obtener más información, consulte [Cifrar una imagen sin cifrar durante la copia](AMIEncryption.md#copy-unencrypted-to-encrypted) y [Copiar una AMI](CopyingAMIs.md#ami-copy-steps).

## Tipo de volumen de EBS
<a name="hibernation-prereqs-ebs-volume-types"></a>

Los volúmenes de EBS deben utilizar alguno de los siguientes tipos de volumen de EBS:
+ SSD de uso general (`gp2` y `gp3`)
+ SSD de IOPS provisionadas (`io1` y `io2`)

Si elige un tipo de volumen de SSD de IOPS provisionadas, debe aprovisionar el volumen de EBS con las IOPS adecuadas a fin de lograr un rendimiento óptimo para la hibernación. Para obtener más información, consulte [Tipos de volúmenes de Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) en la *Guía del usuario de Amazon EBS*.

## Solicitudes de instancia de spot
<a name="hibernation-prereqs-spot-request"></a>

Para las instancias de spot, se aplican los siguientes requisitos:
+ El tipo de solicitud de instancia de spot: debe ser `persistent`.
+ No puede especificar un grupo de inicialización en la solicitud de instancia de spot.

# Configuración de una AMI de Linux para que admita la hibernación
<a name="hibernation-enabled-AMI"></a>

Las siguientes AMI de Linux admiten la hibernación de una instancia de Amazon EC2, siempre que complete los pasos de configuración adicionales descritos en esta sección.

**Topics**
+ [AMI mínima de AL2023 lanzada el 20/09/2023 o posteriormente.](#configure-AL2023-minimal-for-hibernation)
+ [AMI mínima de Amazon Linux 2 iniciada el 29/08/2019 o posteriormente](#configure-AL2-minimal-for-hibernation)
+ [Amazon Linux 2 iniciado antes del 29/08/2019](#configure-AL2-for-hibernation)
+ [Amazon Linux lanzado antes del 16/11/2018](#configure-AL-for-hibernation)
+ [CentOS, versión 8 o posterior](#configure-centos-for-hibernation)
+ [Fedora, versión 34 o posterior](#configure-fedora-for-hibernation)
+ [Red Hat Enterprise Linux, versión 8 o 9](#configure-RHEL-for-hibernation)
+ [Ubuntu 20.04 LTS (Focal Fossa) iniciado antes del número de serie 20210820](#configure-ubuntu2004-for-hibernation)
+ [Ubuntu 18.04 (Bionic Beaver) iniciado con el número de serie 20190722.1](#configure-ubuntu1804-for-hibernation)
+ [Ubuntu 16.04 (Xenial Xerus)](#configure-ubuntu1604-for-hibernation)

Para las AMI de Linux y Windows que admiten la hibernación y para las que no se requiere *ninguna configuración adicional*, consulte [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

Para obtener más información, consulte [Actualización de software en la instancia de Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html).

## AMI mínima de AL2023 lanzada el 20/09/2023 o posteriormente.
<a name="configure-AL2023-minimal-for-hibernation"></a>

**Para configurar una AMI mínima de AL2023 lanzada el 20/09/2023 o posteriormente para admitir hibernación**

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie el servicio .

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

## AMI mínima de Amazon Linux 2 iniciada el 29/08/2019 o posteriormente
<a name="configure-AL2-minimal-for-hibernation"></a>

**Para configurar una AMI mínima de Amazon Linux 2 iniciada el 29/08/2019 o posteriormente a fin de que sea compatible con la hibernación**

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie el servicio .

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

## Amazon Linux 2 iniciado antes del 29/08/2019
<a name="configure-AL2-for-hibernation"></a>

**Para configurar una AMI de Amazon Linux 2 iniciada antes del 29/08/2019 a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `4.14.138-114.102` o posterior.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.14.138-114.102` o posterior.

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

1. Detenga la instancia y cree una AMI. Para obtener más información, consulte [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md).

## Amazon Linux lanzado antes del 16/11/2018
<a name="configure-AL-for-hibernation"></a>

**Para configurar una AMI de Amazon Linux iniciada antes del 16/11/2018 a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `4.14.77-70.59` o posterior.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.14.77-70.59` o superior.

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

1. Detenga la instancia y cree una AMI. Para obtener más información, consulte [Creación de una AMI basada en Amazon EBS](creating-an-ami-ebs.md).

## CentOS, versión 8 o posterior
<a name="configure-centos-for-hibernation"></a>

**Para configurar una AMI de CentOS, versión 8 o posterior, a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `4.18.0-305.7.1.el8_4.x86_64` o posterior.

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

1. Instale el repositorio Extra Packages for Enterprise Linux (EPEL) de Fedora.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Habilite el agente de hibernación para que se inicie en el arranque.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.18.0-305.7.1.el8_4.x86_64` o posterior.

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

## Fedora, versión 34 o posterior
<a name="configure-fedora-for-hibernation"></a>

**Para configurar una AMI de Fedora, versión 34 o posterior, a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `5.12.10-300.fc34.x86_64` o posterior.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Habilite el agente de hibernación para que se inicie en el arranque.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `5.12.10-300.fc34.x86_64` o posterior.

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

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

**Para configurar una AMI de Red Hat Enterprise Linux 8 o 9 a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `4.18.0-305.7.1.el8_4.x86_64` o posterior.

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

1. Instale el repositorio Extra Packages for Enterprise Linux (EPEL) de Fedora.

   Versión 8 de RHEL:

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

   Versión 9 de RHEL:

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Habilite el agente de hibernación para que se inicie en el arranque.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.18.0-305.7.1.el8_4.x86_64` o posterior.

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

## Ubuntu 20.04 LTS (Focal Fossa) iniciado antes del número de serie 20210820
<a name="configure-ubuntu2004-for-hibernation"></a>

**Para configurar una AMI de Ubuntu 20.04 LTS (Focal Fossa) iniciada antes del número de serie 20210820 con objeto de que sea compatible con la hibernación**

1. Actualice el kernel de linux-aws a `5.8.0-1038.40` o posterior y grub2 a `2.04-1ubuntu26.13` o posterior.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `5.8.0-1038.40` o posterior.

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

1. Confirme que la versión de grub2 se ha actualizado a la versión `2.04-1ubuntu26.13` o posterior.

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

## Ubuntu 18.04 (Bionic Beaver) iniciado con el número de serie 20190722.1
<a name="configure-ubuntu1804-for-hibernation"></a>

**Para configurar una AMI de Ubuntu 18.04 LTS iniciada antes del número de serie 20190722.1 a fin de que sea compatible con la hibernación**

1. Actualice el kernel a la versión `4.15.0-1044` o posterior.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.15.0-1044` o posterior.

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

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

Para configurar Ubuntu 16.04 LTS a fin de que sea compatible con la hibernación, debe instalar el paquete del kernel linux-aws-hwe, versión 4.15.0-1058-aws o posterior, y ec2-hibinit-agent.

**importante**  
El paquete del kernel `linux-aws-hwe` es compatible con Canonical. El soporte estándar para Ubuntu 16.04 LTS finalizó en abril de 2021 y el paquete ya no recibe actualizaciones periódicas. Sin embargo, recibirá actualizaciones de seguridad adicionales hasta que finalice el soporte de mantenimiento de seguridad extendido en 2024. Para obtener más información, consulte [Amazon EC2 Hibernation for Ubuntu 16.04 LTS now available](https://ubuntu.com/blog/amazon-ec2-hibernation-for-ubuntu-16-04-lts-now-available) en el blog de Canonical Ubuntu.  
Le recomendamos que actualice a la AMI de Ubuntu 20.04 LTS (Focal Fossa) o la AMI de Ubuntu 18.04 LTS (Bionic Beaver).

**Para configurar una AMI Ubuntu 16.04 LTS para que admita la hibernación**

1. Actualice el kernel a la versión `4.15.0-1058-aws` o posterior.

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

1. Instale el paquete `ec2-hibinit-agent` de los repositorios.

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

1. Reinicie la instancia.

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

1. Confirme que la versión del kernel se ha actualizado a la versión `4.15.0-1058-aws` o posterior.

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

# Habilitación de la hibernación para una instancia de Amazon EC2
<a name="enabling-hibernation"></a>

A fin de hibernar una instancia, primero debe habilitarla para la hibernación al iniciar la instancia.

**importante**  
No puede habilitar o deshabilitar la hibernación para una instancia después de iniciarla.

**Topics**
+ [Habilitación de la hibernación de instancias bajo demanda](#enable-hibernation-for-on-demand-instances)
+ [Habilitación de la hibernación de instancias de spot](#enable-hibernation-for-spot-instances)
+ [Comprobación de si una instancia está habilitada para la hibernación](#view-if-instance-is-enabled-for-hibernation)

## Habilitación de la hibernación de instancias bajo demanda
<a name="enable-hibernation-for-on-demand-instances"></a>

Puede habilitar la hibernación para las instancias bajo demanda.

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

**Habilitación de la hibernación de una instancia bajo demanda**

1. Siga el procedimiento para [iniciar una instancia](ec2-launch-instance-wizard.md), pero no la lance hasta que haya completado los siguientes pasos para habilitar la hibernación.

1. Para habilitar la hibernación, configure los siguientes campos en el asistente de inicialización de instancias:

   1. En **Application and OS Images (Imagen de máquina de Amazon)** (Imágenes de aplicaciones y sistema operativo [Imagen de máquina de Amazon]), seleccione una AMI que admita la hibernación. Para obtener más información, consulte [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. En **Tipo de instancia**, elija un tipo de instancia admitido. Para obtener más información, consulte [Familias de instancias](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. En **Configure storage** (Configurar almacenamiento), elija **Advanced** (Avanzado) a la derecha y especifique la siguiente información para el volumen raíz:
      + En **Tamaño (GiB)**, especifique el tamaño del volumen raíz de EBS. El volumen debe ser lo suficientemente grande como para almacenar el contenido de la RAM y adaptarse al uso esperado.
      + En **Volume Type** (Tipo de volumen), seleccione un tipo de volumen de EBS admitido: SSD de uso general (`gp2` y `gp3`) o SSD de IOPS aprovisionadas (`io1` y `io2`).
      + En **Encrypted** (Cifrado), elija **Yes** (Sí). Si habilitó el cifrado de forma predeterminada en esta región de AWS, la opción **Yes** (Sí) estará seleccionada.
      + En **KMS key** (Clave de KMS), seleccione la clave de cifrado del volumen. Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, se selecciona la clave de cifrado predeterminada.

      Para obtener más información acerca de los requisitos previos del volumen raíz, consulte [Requisitos previos para la hibernación de instancias de EC2](hibernating-prerequisites.md).

   1. Expanda **Advanced details** (Detalles avanzados) y, para **Stop - Hibernate behavior** (Detener: comportamiento de hibernación), elija **Enable** (Habilitar).

1. En el panel **Summary** (Resumen), revise la configuración de la instancia y, a continuación, elija **Launch instance** (iniciar instancia). Para obtener más información, consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md).

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

**Habilitación de la hibernación de una instancia bajo demanda**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para iniciar una instancia. Especifique los parámetros del volumen raíz de EBS mediante el parámetro `--block-device-mappings file://mapping.json` y habilite la hibernación mediante el parámetro `--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
```

En `mapping.json`, especifique lo siguiente.

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

El valor de `DeviceName` debe coincidir con el nombre del dispositivo raíz que está asociado a la AMI. Para buscar el nombre del dispositivo raíz, utilice el comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

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

Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, puede omitir `"Encrypted": true`.

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

**Habilitación de la hibernación de una instancia bajo demanda**  
Utilice el comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para iniciar una instancia. Especifique el volumen raíz de EBS definiendo primero la asignación de dispositivos de bloque y, a continuación, agregándola al comando mediante el parámetro `-BlockDeviceMappings`. Habilite la hibernación con el parámetro `-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
```

El valor de `DeviceName` debe coincidir con el nombre del dispositivo raíz asociado a la AMI. Para buscar el nombre del dispositivo raíz, utilice el comando [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

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

Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, puede omitir `Encrypted = $true` de la asignación de dispositivos de bloque.

------

## Habilitación de la hibernación de instancias de spot
<a name="enable-hibernation-for-spot-instances"></a>

Puede habilitar la hibernación para las instancias de spot. Para obtener más información sobre la hibernación de una instancia de spot interrumpida, consulte [Interrupciones de instancias de spot](spot-interruptions.md).

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

**Habilitación de la hibernación de una instancia de spot**

1. Siga el procedimiento para [solicitar una instancia de spot con el asistente de inicialización de instancias](using-spot-instances-request.md), pero no la lance hasta que haya completado los siguientes pasos para habilitar la hibernación.

1. Para habilitar la hibernación, configure los siguientes campos en el asistente de inicialización de instancias:

   1. En **Application and OS Images (Imagen de máquina de Amazon)** (Imágenes de aplicaciones y sistema operativo [Imagen de máquina de Amazon]), seleccione una AMI que admita la hibernación. Para obtener más información, consulte [AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. En **Tipo de instancia**, elija un tipo de instancia admitido. Para obtener más información, consulte [Familias de instancias](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. En **Configure storage** (Configurar almacenamiento), elija **Advanced** (Avanzado) a la derecha y especifique la siguiente información para el volumen raíz:
      + En **Tamaño (GiB)**, especifique el tamaño del volumen raíz de EBS. El volumen debe ser lo suficientemente grande como para almacenar el contenido de la RAM y adaptarse al uso esperado.
      + En **Volume Type** (Tipo de volumen), seleccione un tipo de volumen de EBS admitido: SSD de uso general (`gp2` y `gp3`) o SSD de IOPS aprovisionadas (`io1` y `io2`).
      + En **Encrypted** (Cifrado), elija **Yes** (Sí). Si habilitó el cifrado de forma predeterminada en esta región de AWS, la opción **Yes** (Sí) estará seleccionada.
      + En **KMS key** (Clave de KMS), seleccione la clave de cifrado del volumen. Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, se selecciona la clave de cifrado predeterminada.

      Para obtener más información acerca de los requisitos previos del volumen raíz, consulte [Requisitos previos para la hibernación de instancias de EC2](hibernating-prerequisites.md).

   1. Amplíe **Detalles avanzados** y, además de los campos para configurar una instancia de spot, haga lo siguiente:

      1. En **Tipo de solicitud**, elija **Persistente**.

      1. En **Comportamiento de interrupción**, seleccione **Hibernar**. Como alternativa, en **Detener: comportamiento de hibernación**, seleccione **Habilitar**. Ambos campos habilitan la hibernación en su instancia de spot. Solo necesita configurar uno de ellos.

1. En el panel **Summary** (Resumen), revise la configuración de la instancia y, a continuación, elija **Launch instance** (iniciar instancia). Para obtener más información, consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md).

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

**Habilitación de la hibernación de una instancia de spot**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para solicitar una instancia de spot. Especifique los parámetros del volumen raíz de EBS mediante el parámetro `--block-device-mappings file://mapping.json` y habilite la hibernación mediante el parámetro `--hibernation-options Configured=true`. El tipo de solicitud de spot (`SpotInstanceType`) debe ser `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"
            }
        }
```

Especifique los parámetros del volumen raíz de EBS en `mapping.json` de la siguiente manera.

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

El valor de `DeviceName` debe coincidir con el nombre del dispositivo raíz que está asociado a la AMI. Para buscar el nombre del dispositivo raíz, utilice el comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

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

Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, puede omitir `"Encrypted": true`.

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

**Habilitación de la hibernación de una instancia de spot**  
Utilice el comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para solicitar una instancia de spot. Especifique el volumen raíz de EBS definiendo primero la asignación de dispositivos de bloque y, a continuación, agregándola al comando mediante el parámetro `-BlockDeviceMappings`. Habilite la hibernación con el parámetro `-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}
    )
```

El valor de `DeviceName` debe coincidir con el nombre del dispositivo raíz asociado a la AMI. Para buscar el nombre del dispositivo raíz, utilice el comando [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

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

Si ha habilitado el cifrado de forma predeterminada en esta región de AWS, puede omitir `Encrypted = $true` de la asignación de dispositivos de bloque.

------

## Comprobación de si una instancia está habilitada para la hibernación
<a name="view-if-instance-is-enabled-for-hibernation"></a>

Puede verificar si una instancia está habilitada para la hibernación.

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

**Comprobación de si la instancia está habilitada para la hibernación**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances** (Instancia[s]).

1. Seleccione la instancia y en la pestaña **Details (Detalles)**, en la sección **Instance details (Detalles de instancia)**, inspeccione **Stop-hibernate behavior (Comportamiento de detención de hibernación)**. **Enabled (Habilitado)** indica que la instancia está habilitada para la hibernación.

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

**Comprobación de si la instancia está habilitada para la hibernación**  
Utilice el comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) y especifique el parámetro `--filters "Name=hibernation-options.configured,Values=true"` para filtrar instancias que están habilitadas para la hibernación.

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

El siguiente campo del resultado indica que la instancia está habilitada para la hibernación.

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

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

**Comprobación de si la instancia está habilitada para la hibernación**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) y filtre las instancias habilitadas para la hibernación.

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

------

# Deshabilitación de KASLR en una instancia (solo Ubuntu)
<a name="hibernation-disable-kaslr"></a>

Para ejecutar la hibernación en una instancia recién iniciada con Ubuntu 16.04 LTS (Xenial Xerus), Ubuntu 18.04 LTS (Bionic Beaver) iniciada con el número de serie 20190722.1 o posterior, o Ubuntu 20.04 LTS (Focal Fossa) iniciada con el número de serie 20210820 o posterior, le recomendamos que deshabilite KASLR (Kernel Address Space Layout Randomization). En Ubuntu 16.04 LTS, Ubuntu 18.04 LTS o Ubuntu 20.04 LTS, KASLR está habilitado de forma predeterminada.

KASLR es una característica de seguridad de kernel de Linux estándar que contribuye a mitigar la exposición y ramificaciones de vulnerabilidades de acceso a memoria aún no detectadas aleatorizando el valor de dirección base del kernel. Con KASLR habilitado, existe la posibilidad de que la instancia no se pueda reanudar si se ha hibernado.

Para obtener más información sobre KASLR, consulte [Características de Ubuntu](https://wiki.ubuntu.com/Security/Features).

**Para deshabilitar KASLR en una instancia iniciada con Ubuntu**

1. Conéctese a la instancia mediante SSH. Para obtener más información, consulte [Conexión a la instancia de Linux con SSH](connect-to-linux-instance.md).

1. Abra el archivo `/etc/default/grub.d/50-cloudimg-settings.cfg` con el editor que prefiera. Edite la línea `GRUB_CMDLINE_LINUX_DEFAULT` para adjuntar la opción `nokaslr` a su extremo, tal como se muestra en el ejemplo siguiente.

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

1. Guarde el archivo y salga del editor.

1. Ejecute el siguiente comando para volver a compilar la configuración de grub.

   ```
   sudo update-grub
   ```

1. Reinicie la instancia.

   ```
   sudo reboot
   ```

1. Ejecute el siguiente comando para confirmar que `nokaslr` se ha agregado.

   ```
   cat /proc/cmdline
   ```

   La salida del comando debería incluir la opción `nokaslr`.

# Hibernación de una instancia de Amazon EC2
<a name="hibernating-instances"></a>

Puede iniciar la hibernación en una instancia bajo demanda o en una instancia de spot si la instancia es una instancia respaldada por EBS, está [habilitada para la hibernación](enabling-hibernation.md) y cumple los [requisitos previos de hibernación](hibernating-prerequisites.md). Si una instancia no se puede hibernar correctamente, se produce un apagado normal.

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

**Habilitación de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione una instancia y elija **Instance State (Estado de la instancia)** y después ** Hibernate instance (Hibernar instancia)**. Si la opción **Hibernate instance (Hibernar instancia)** está desactivada, la instancia ya está hibernada o detenida, o no se puede hibernar. Para obtener más información, consulte [Requisitos previos para la hibernación de instancias de EC2](hibernating-prerequisites.md).

1. Cuando le pidan confirmación, elija **Hibernate (Hibernar)**. Puede que transcurran unos minutos hasta que la instancia se hiberne. El estado de la instancia primero cambia a **Stopping (Deteniéndose)** y, luego, cambia a **Stopped (Detenida)** cuando la instancia ha hibernado.

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

**Habilitación de una instancia**  
Use el comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) y especifique el parámetro `--hibernate`.

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

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

**Habilitación de una instancia**  
Utilice el cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html).

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

------

Puede verificar si se inició la hibernación en una instancia.

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

**Comprobación de si la hibernación se inició en una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia y, en la pestaña **Detalles**, en la sección **Detalles de la instancia**, compruebe el valor de **Mensaje de transición de estado**.

   El mensaje **Client.UserInitiatedHibernate: hibernación iniciada por el usuario** indica que inició la hibernación en la instancia bajo demanda o en la instancia de spot.

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

**Comprobación de si la hibernación se inició en una instancia**  
Utilice el comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) y especifique el filtro `state-reason-code` para ver instancias en las que se ha iniciado la hibernación.

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

El siguiente campo de la salida indica que la hibernación se inició en la instancia bajo demanda o en la instancia de spot.

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

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

**Comprobación de si la hibernación se inició en una instancia**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) y especifique el filtro `state-reason-code` para ver instancias en las que se ha iniciado la hibernación.

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

------

# Inicio de una instancia hibernada de Amazon EC2
<a name="hibernating-resuming"></a>

Inicie una instancia hibernada iniciándola de la misma forma que iniciaría una instancia detenida.

En el caso de las instancias de spot, si Amazon EC2 ha puesto en hibernación la instancia, solo Amazon EC2 podrá reanudarla. Solo puede reanudar una instancia de spot en hibernación si *usted* la ha puesto en dicho estado. Las instancias de spot solo se pueden reanudar si hay capacidad disponible y el precio de spot es menor o igual que el precio máximo especificado.

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

**Reinicio de una instancia hibernada**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione una instancia que esté en hibernación y elija **Instance State (Estado de la instancia)** y **Start instance (Iniciar instancia)**. Puede que transcurran unos minutos hasta que la instancia pase al estado `running`. Durante este tiempo, las [comprobaciones de estado](monitoring-system-instance-status-check.md#types-of-instance-status-checks) de la instancia muestran la instancia en un estado erróneo hasta que esta se inicie.

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

**Reinicio de una instancia hibernada**  
Utilice el comando [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html).

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

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

**Reinicio de una instancia hibernada**  
Utilice el cmdlet [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

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

------

# Solución de problemas de hibernación de la instancia de Amazon EC2
<a name="troubleshoot-instance-hibernate"></a>

Utilice esta información como ayuda para diagnosticar y solucionar problemas que pueda encontrar al hibernar una instancia.

**Topics**
+ [No se puede hibernar de inmediato después de un inicialización](#hibernate-troubleshooting-1)
+ [La transición tarda demasiado de stopping a stopped, y el estado de la memoria no se reinicia después del inicio](#hibernate-troubleshooting-2)
+ [Instancia bloqueada en el estado stopping](#hibernate-troubleshooting-3)
+ [No se puede iniciar la instancia de spot inmediatamente después de la hibernación](#hibernate-troubleshooting-4)
+ [Error al reanudar instancias de spot](#hibernate-troubleshooting-5)

## No se puede hibernar de inmediato después de un inicialización
<a name="hibernate-troubleshooting-1"></a>

Si intenta hibernar una instancia demasiado rápido después de haberla iniciado, recibirá un error.

Debe esperar al menos dos minutos para las instancias de Linux y unos cinco minutos para las de Windows después de la inicialización para poder hibernar.

## La transición tarda demasiado de stopping a stopped, y el estado de la memoria no se reinicia después del inicio
<a name="hibernate-troubleshooting-2"></a>

Si su instancia de hibernación tarda mucho en realizar la transición del estado `stopping` a `stopped` y si el estado de la memoria no se restablece después del inicio, esto podría indicar que la hibernación no se configuró correctamente.

**instancias de Linux**

Compruebe el registro del sistema de la instancia y busque mensajes que estén relacionados con la hibernación. Para obtener acceso al registro del sistema, [conéctese](connect-to-linux-instance.md) a la instancia o utilice el comando [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html). Busque líneas de registro desde `hibinit-agent`. Si las líneas de registro indican un error o faltan, es probable que se haya producido un error al configurar la hibernación en el momento de la inicialización.

Por ejemplo, el siguiente mensaje indica que el volumen raíz de la instancia no es lo suficientemente grande: `hibinit-agent: Insufficient disk space. Cannot create setup for hibernation. Please allocate a larger root device.`

Si la última línea de registro de `hibinit-agent` es `hibinit-agent: Running: swapoff /swap`, la hibernación se ha configurado correctamente.

Si no ve los registros de estos procesos, es posible que su AMI no admita la hibernación. Para obtener información acerca de las AMI soportadas, consulte [Requisitos previos para la hibernación de instancias de EC2](hibernating-prerequisites.md). Si utilizó su propia AMI de Linux, asegúrese de que haya seguido las instrucciones para [Configuración de una AMI de Linux para que admita la hibernación](hibernation-enabled-AMI.md).

**Windows Server 2016 y versiones posteriores**  
Compruebe el registro de la inicialización de EC2 y busque mensajes que estén relacionados con la hibernación. Para acceder al registro de la inicialización de EC2, [conéctese](connecting_to_windows_instance.md) a la instancia y abra el archivo `C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log` en un editor de texto. Si utiliza EC2Launch v2, abra `C:\ProgramData\Amazon\EC2Launch\log\agent.log`.

**nota**  
De manera predeterminada, Windows oculta los archivos y las carpetas en `C:\ProgramData`. Para ver los directorios y los archivos de inicialización de EC2, escriba la ruta de acceso en Windows Explorer o cambie las propiedades de carpeta para ver los archivos y carpetas ocultos.

Busque las líneas de registro de la hibernación. Si las líneas de registro indican un error o faltan, es probable que se haya producido un error al configurar la hibernación en el momento de la inicialización.

Por ejemplo, el siguiente mensaje indica que no se pudo configurar la hibernación: `Message: Failed to enable hibernation.` Si el mensaje de error incluye valores ASCII decimales, puede convertirlos en texto sin formato para leer el mensaje completo.

Si la línea de registro contiene `HibernationEnabled: true`, la hibernación se ha configurado correctamente.

**Windows Server 2012 R2 y versiones anteriores**  
Compruebe el registro de configuración de EC2 y busque mensajes que estén relacionados con la hibernación. Para acceder al registro de configuración de EC2, [conéctese](connecting_to_windows_instance.md) a la instancia y abra el archivo `C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt` en un editor de texto. Busque líneas de registro para `SetHibernateOnSleep`. Si las líneas de registro indican un error o faltan, es probable que se haya producido un error al configurar la hibernación en el momento de la inicialización.

Por ejemplo, el siguiente mensaje indica que el volumen raíz de la instancia no es lo suficientemente grande: `SetHibernateOnSleep: Failed to enable hibernation: Hibernation failed with the following error: There is not enough space on the disk.`

Si la línea de registro es `SetHibernateOnSleep: HibernationEnabled: true`, la hibernación se ha configurado correctamente.

**Tamaño de las instancias de Windows**  
Si utiliza una instancia T3 o T3a de Windows con menos de 1 GiB de RAM, intente aumentar el tamaño de la instancia a una que tenga al menos 1 GiB de RAM.

## Instancia bloqueada en el estado stopping
<a name="hibernate-troubleshooting-3"></a>

Si hibernó su instancia y aparece bloqueada en el estado `stopping`, puede forzar la detención. Para obtener más información, consulte [Solución de problemas de detención de instancia de Amazon EC2](TroubleshootingInstancesStopping.md).

## No se puede iniciar la instancia de spot inmediatamente después de la hibernación
<a name="hibernate-troubleshooting-4"></a>

Si intenta iniciar una instancia de spot en los dos minutos siguientes a su hibernación, es posible que aparezca el siguiente error:

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

Espere unos dos minutos para las instancias de Linux y unos cinco minutos para las de Windows y, a continuación, vuelva a intentar iniciar la instancia.

## Error al reanudar instancias de spot
<a name="hibernate-troubleshooting-5"></a>

Si su instancia de spot se hibernó correctamente pero no se pudo reanudar y, en cambio, se reinició (un reinicio nuevo en el que no se conserva el estado de hibernación), es posible que los datos del usuario contengan el siguiente script:

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

Elimine este script del campo **Datos de usuario** de la plantilla de inicialización y, a continuación, solicite una nueva instancia de spot.

Tenga en cuenta que, aunque la instancia no se pueda reanudar, si no se conserva el estado de hibernación, la instancia se puede iniciar de la misma manera que si se iniciara desde el estado `stopped`.