Habilitar a hibernação para uma instância do Amazon EC2 - Amazon Elastic Compute Cloud

Habilitar a hibernação para uma instância do Amazon EC2

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.

Habilitar a hibernação de uma instância sob demanda

Use um dos métodos a seguir para habilitar a hibernação de 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, mas não inicie a instância até concluir as etapas a seguir para habilitar a hibernação.

  2. 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 ter mais informações, consulte AMIs.

    2. Em Instance type (Tipo de instância), selecione um tipo de instância compatível. Para ter mais informações, consulte Famílias de instâncias.

    3. 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âncias do Amazon EC2.

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

  3. No painel Summary (Resumo), analise a configuração da instância e selecione Launch instance (Iniciar instância). Para ter mais informações, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

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

Use o comando run-instances 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 } } ]
nota

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.

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 usando o AWS Tools for Windows PowerShell

Use o comando New-EC2Instance 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.

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType m5.large ` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount 1 ` -MaxCount 1 ` -KeyName MyKeyPair
nota

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.

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

Use um dos métodos a seguir para habilitar a hibernação de 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.

Console

Você pode usar o assistente de inicialização de instância no console do Amazon EC2 para habilitar a hibernação de uma instância spot.

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, mas não inicie a instância até concluir as etapas a seguir para habilitar a hibernação.

  2. 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 ter mais informações, consulte AMIs.

    2. Em Instance type (Tipo de instância), selecione um tipo de instância compatível. Para ter mais informações, consulte Famílias de instâncias.

    3. 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âncias do Amazon EC2.

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

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

  3. No painel Summary (Resumo), analise a configuração da instância e selecione Launch instance (Iniciar instância). Para ter mais informações, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

AWS CLI

Você pode habilitar a hibernação de uma instância spot usando o comando run-instances da AWS CLI.

Para habilitar a hibernação de uma instância spot usando o parâmetro hibernation-options

Use o comando run-instances 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 } } ]
nota

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.

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 usando o AWS Tools for Windows PowerShell

Use o comando New-EC2Instance 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.

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> 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} )
nota

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.

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

Use as instruções a seguir para visualizar 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/.

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

  3. 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 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 usando a AWS Tools for Windows PowerShell

Use o comando Get-EC2Instance e especifique o parâmetro -Filter @{ Name="hibernation-options.configured"; Value="true"} para filtrar as instâncias que estão habilitadas para hibernação.

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

A saída lista as instâncias do EC2 habilitadas para hibernação.