

# Habilitar a hibernação para uma instância do Amazon EC2
<a name="enabling-hibernation"></a>

Para colocar uma instância em hibernação, é necessário habilitá-la para hibernação ao iniciar a instância.

**Importante**  
Não é possível habilitar ou desabilitar a hibernação para uma instância depois de executá-la.

**Topics**
+ [Habilitar a hibernação de uma instância sob demanda](#enable-hibernation-for-on-demand-instances)
+ [Para habilitar a hibernação de instâncias spot](#enable-hibernation-for-spot-instances)
+ [Visualizar se uma instância está habilitada para hibernação](#view-if-instance-is-enabled-for-hibernation)

## Habilitar a hibernação de uma instância sob demanda
<a name="enable-hibernation-for-on-demand-instances"></a>

É possível habilitar a hibernação das instâncias sob demanda.

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

**Para habilitar a hibernação de uma instância sob demanda**

1. Siga o procedimento para [iniciar uma instância](ec2-launch-instance-wizard.md), mas não inicie a instância até concluir as etapas a seguir para habilitar a hibernação.

1. Para habilitar a hibernação, configure os seguintes campos no assistente de inicialização da instância:

   1. Em **Application and OS Images (Amazon Machine Image)** (Imagens de aplicações e sistemas operacionais [imagem de máquina da Amazon]), selecione uma AMI com suporte à hibernação. Para obter mais informações, consulte [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. Em **Instance type** (Tipo de instância), selecione um tipo de instância compatível. Para obter mais informações, consulte [Famílias de instâncias](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. Em **Configure storage** (Configurar armazenamento), escolha **Advanced** (Avançado) (à direita) e especifique estas informações para o volume raiz:
      + Para **Size (GiB) (Tamanho (GiB))**, insira o tamanho do volume raiz do EBS. O volume deve ser grande o suficiente para armazenar o conteúdo da RAM e acomodar o uso esperado.
      + Em **Volume Type** (Tipo de volume), selecione um tipo de volume do EBS compatível: SSD de uso geral (`gp2` e `gp3`) ou SSD de IOPS provisionadas (`io1` e `io2`).
      + Em **Encrypted** (Criptografado), escolha **Yes** (Sim). Se você tiver habilitado a criptografia por padrão nessa região da AWS, a opção **Yes** (Sim) estará selecionada.
      + Para **KMS key** (Chave do KMS), selecione a chave de criptografia para o volume. Se tiver habilitado a criptografia por padrão nessa região da AWS, a criptografia padrão será selecionada.

      Para obter mais informações sobre os pré-requisitos para o volume raiz, consulte [Pré-requisitos para a hibernação de instância do EC2](hibernating-prerequisites.md).

   1. Expanda **Advanced details** (Detalhes avançados) e, em **Stop - Hibernate behavior** (Interromper: comportamento de hibernação), escolha **Enable** (Habilitar).

1. No painel **Summary** (Resumo), analise a configuração da instância e selecione **Launch instance** (Iniciar instância). Para obter mais informações, consulte [Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console](ec2-launch-instance-wizard.md).

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

**Para habilitar a hibernação de uma instância sob demanda**  
Use o comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para executar uma instância. Especifique os parâmetros do volume raiz do EBS usando o parâmetro `--block-device-mappings file://mapping.json` e habilite a hibernação usando o 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
```

Especifique o seguinte em `mapping.json`.

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

O valor para `DeviceName` deve corresponder ao nome do dispositivo raiz associado à AMI. Para localizar o nome do dispositivo raiz, use o comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

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

Se você habilitou a criptografia por padrão nesta região da AWS, é possível omitir `"Encrypted": true`.

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

**Para habilitar a hibernação de uma instância sob demanda**  
Use o comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para executar uma instância. Especifique o volume raiz do EBS definindo primeiro o mapeamento do dispositivo de bloco e adicionando-o ao comando usando o parâmetro `-BlockDeviceMappings`. Habilite a hibernação usando o 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
```

O valor para `DeviceName` deve corresponder ao nome do dispositivo raiz associado à AMI. Para localizar o nome do dispositivo raiz, use o comando [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

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

Se você habilitou a criptografia por padrão nesta região da AWS, poderá omitir o `Encrypted = $true` do mapeamento do dispositivo de bloco.

------

## Para habilitar a hibernação de instâncias spot
<a name="enable-hibernation-for-spot-instances"></a>

É possível habilitar a hibernação das instâncias spot. Para obter mais informações sobre a hibernação de instâncias spot ao ocorrer uma interrupção, consulte [Interrupções de instâncias spot](spot-interruptions.md).

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

**Para habilitar a hibernação de uma instância spot**

1. Siga o procedimento para [solicitar uma instância spot usando o assistente de inicialização de instâncias](using-spot-instances-request.md), mas não inicie a instância até concluir as etapas a seguir para habilitar a hibernação.

1. Para habilitar a hibernação, configure os seguintes campos no assistente de inicialização da instância:

   1. Em **Application and OS Images (Amazon Machine Image)** (Imagens de aplicações e sistemas operacionais [imagem de máquina da Amazon]), selecione uma AMI com suporte à hibernação. Para obter mais informações, consulte [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

   1. Em **Instance type** (Tipo de instância), selecione um tipo de instância compatível. Para obter mais informações, consulte [Famílias de instâncias](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families).

   1. Em **Configure storage** (Configurar armazenamento), escolha **Advanced** (Avançado) (à direita) e especifique estas informações para o volume raiz:
      + Para **Size (GiB) (Tamanho (GiB))**, insira o tamanho do volume raiz do EBS. O volume deve ser grande o suficiente para armazenar o conteúdo da RAM e acomodar o uso esperado.
      + Em **Volume Type** (Tipo de volume), selecione um tipo de volume do EBS compatível: SSD de uso geral (`gp2` e `gp3`) ou SSD de IOPS provisionadas (`io1` e `io2`).
      + Em **Encrypted** (Criptografado), escolha **Yes** (Sim). Se você tiver habilitado a criptografia por padrão nessa região da AWS, a opção **Yes** (Sim) estará selecionada.
      + Para **KMS key** (Chave do KMS), selecione a chave de criptografia para o volume. Se tiver habilitado a criptografia por padrão nessa região da AWS, a criptografia padrão será selecionada.

      Para obter mais informações sobre os pré-requisitos para o volume raiz, consulte [Pré-requisitos para a hibernação de instância do EC2](hibernating-prerequisites.md).

   1. Expanda **Detalhes avançados** e, além de preencher os campos para configurar uma instância spot, faça o seguinte:

      1. Em **Tipo de solicitação**, escolha **Persistente**.

      1. Em **Comportamento de interrupção**, escolha **Hibernar**. Ou então, em **Comportamento de parar - hibernar**, escolha **Habilitar**. Ambos os campos habilitam a hibernação da instância spot. Você só precisa configurar um deles.

1. No painel **Resumo**, analise a configuração da instância e selecione **Iniciar instância**. Para obter mais informações, consulte [Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console](ec2-launch-instance-wizard.md).

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

**Para habilitar a hibernação de uma instância spot**  
Use o comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para executar uma instância spot. Especifique os parâmetros do volume raiz do EBS usando o parâmetro `--block-device-mappings file://mapping.json` e habilite a hibernação usando o parâmetro `--hibernation-options Configured=true`. O tipo de solicitação da instância spot (`SpotInstanceType`) deve 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 os parâmetros do volume raiz do EBS no `mapping.json` como se segue.

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

O valor para `DeviceName` deve corresponder ao nome do dispositivo raiz associado à AMI. Para localizar o nome do dispositivo raiz, use o comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

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

Se você habilitou a criptografia por padrão nesta região da AWS, é possível omitir `"Encrypted": true`.

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

**Para habilitar a hibernação de uma instância spot**  
Use o comando [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para solicitar uma instância spot. Especifique o volume raiz do EBS definindo primeiro o mapeamento do dispositivo de bloco e adicionando-o ao comando usando o parâmetro `-BlockDeviceMappings`. Habilite a hibernação usando o 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}
    )
```

O valor para `DeviceName` deve corresponder ao nome do dispositivo raiz associado à AMI. Para localizar o nome do dispositivo raiz, use o comando [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

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

Se você habilitou a criptografia por padrão nesta região da AWS, poderá omitir o `Encrypted = $true` do mapeamento do dispositivo de bloco.

------

## Visualizar se uma instância está habilitada para hibernação
<a name="view-if-instance-is-enabled-for-hibernation"></a>

É possível verificar se uma instância está habilitada para hibernação.

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

**Para visualizar se uma instância está habilitada para hibernação**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância e, na guia **Details (Detalhes)**, na seção **Instance details (Detalhes da instância)**, verifique **Stop-hibernate behavior (Interromper - comportamento de hibernação)**. **Enabled (Habilitada)** indica que a instância está habilitada para hibernação.

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

**Para visualizar se uma instância está habilitada para hibernação**  
Use o comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) e especifique o parâmetro `--filters "Name=hibernation-options.configured,Values=true"` para filtrar as instâncias que estão habilitadas para hibernação.

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

O campo da saída a seguir indica que a instância está habilitada para hibernação.

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

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

**Para visualizar se uma instância está habilitada para hibernação**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) e filtre as instâncias que estão habilitadas para hibernação.

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

------