

# 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
```

------