Interromper e iniciar sua instância - Amazon Elastic Compute Cloud

Interromper e iniciar sua instância

É possível interromper e iniciar a instância se ela tiver um volume do Amazon EBS como seu dispositivo raiz. A instância retém o ID da instância, mas isso pode ser modificado conforme descrito na seção Modificar uma instância interrompida. Quando você interrompe uma instância, sua execução é parada. Quando você inicia uma instância, ela geralmente é migrada para um novo computador host subjacente e recebe um novo endereço IPv4 público.

Quando você interrompe uma instância, ela não é excluída. Se você decidir que não necessita mais de uma instância, pode encerrá-la. Para obter mais informações, consulte Encerrar a instância. Se você quiser hibernar uma instância para salvar o conteúdo da memória da instância (RAM), consulte Hibernar a instância do Linux sob demanda. Para obter distinções entre as ações do ciclo de vida da instância, consulte. Diferenças entre reinicialização, interrupção, hibernação e encerramento

A AWS pode programar eventos para suas instâncias, como reinicialização, interrupção/início ou retirada. Para obter informações sobre o tipo de eventos programados que são gerenciados pela AWS e como visualizar e receber notificações sobre eventos programados, consulte Eventos programados para instâncias.

O diagrama a seguir mostra o que é perdido e o que persiste quando uma instância do Amazon EC2 é interrompida. Quando uma instância é interrompida, ela perde todos os volumes de armazenamento de instância anexados e os dados armazenados nesses volumes, os dados armazenados na RAM da instância e o endereço IPv4 público atribuído (se um endereço IP elástico não estiver associado à instância). Uma instância retém endereços IPv4 privados atribuídos, endereços IP elásticos associados à instância, quaisquer endereços IPv6 e quaisquer volumes do Amazon EBS anexados e os dados desses volumes.


			O endereço IPv4 público, a RAM e os dados de armazenamento da instância são perdidos quando uma instância é interrompida.

Custos relacionados à inicialização e interrupção de uma instância

Os custos a seguir estão associados à interrupção e inicialização de uma instância.

Interrupção: assim que o estado de uma instância muda para shutting-down ou terminated, as cobranças pela instância deixam de ser feitas. Você não é cobrado pelas taxas de uso ou transferência de dados para instâncias interrompidas. No entanto, cobranças são aplicáveis para armazenar volumes de armazenamento do Amazon EBS.

Inicialização: toda vez que você inicia uma instância interrompida, cobramos o mínimo de um minuto pelo uso. Após um minuto, você será cobrado apenas pelos segundos que usar. Por exemplo, se você executar uma instância por 20 segundos e, em seguida, interrompê-la, será cobrado por um minuto completo. Se você executar uma instância por 3 minutos e 40 segundos, você será cobrado exatamente por 3 minutos e 40 segundos de uso.

Localizar todas as instâncias em execução e interrompidas

Você pode localizar todas as instâncias em execução e interrompidas em todas as Regiões da AWS em uma única página na Visualização Global do Amazon EC2. Isso é útil especialmente para inventariar e localizar instâncias esquecidas. Para obter informações sobre como usar o Visualização Global , consulte Listar e filtrar recursos entre regiões usando o Amazon EC2 Global View.

Pré-requisitos para interromper uma instância

Só é possível interromper uma instância baseada no Amazon EBS. As instâncias baseadas em um volume de armazenamento de instâncias não oferecem suporte à ação Interromper. Para entender melhor as diferenças entre os dois tipos de volume, consulte Armazenamento.

Para verificar o tipo de dispositivo raiz de uma instância, é possível usar o console do Amazon EC2 ou a AWS CLI.

Amazon EC2 console

No console do Amazon EC2, abra o painel Instâncias e selecione uma instância. O Tipo de dispositivo raiz está listado na guia Armazenamento, sob Detalhes do dispositivo raiz.

AWS CLI

Você pode verificar o tipo de dispositivo raiz de uma instância executando o comando describe-instances da AWS CLI e verificando a saída de RootDeviceType: ebs ou instance-store. Para obter mais informações, consulte describe-instances na Referência de comandos da AWS CLI.

Parar e iniciar instâncias manualmente

É possível iniciar e interromper a instância baseada no Amazon EBS usando o console ou a linha de comando.

Atenção

Quando você interrompe uma instância, os dados em quaisquer volumes de armazenamento de instância são apagados. Antes de interromper uma instância, verifique se você copiou todos os dados necessários dos volumes de armazenamento de instâncias para um armazenamento persistente, como o Amazon EBS ou o Amazon S3. As instâncias baseadas em um volume de armazenamento de instâncias não oferecem suporte à ação Interromper.

Console
Para parar e iniciar uma instância baseada no Amazon EBS
  1. Faça login no AWS Management Console e abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação à esquerda, escolha Instances (Instâncias) e selecione a instância.

  3. Escolha Instance state (Estado da instância) e Stop instance (Interromper instância). Se essa opção estiver desabilitada, a instância já foi interrompida ou o dispositivo raiz é um volume de armazenamento de instâncias.

  4. Quando a confirmação for solicitada, escolha Parar. Pode demorar alguns minutos para que a instância pare.

  5. (Opcional) Enquanto sua instância estiver interrompida, será possível modificar determinados atributos de instância. Para obter mais informações, consulte Modificar uma instância interrompida.

  6. Para iniciar a instância interrompida, selecione a instância e escolha Estado da instância e Iniciar instância.

  7. Pode demorar alguns minutos para que a instância entre no estado running.

Command line
Para parar e iniciar uma instância baseada no Amazon EBS

Execute um dos seguintes comandos:

Usar o comando halt do sistema operacional em uma instância não inicia um desligamento. Se você usar o comando halt, a instância não será encerrada; em vez disso, ela colocará a CPU em HLT, o que suspende a operação da CPU. A instância permanece em execução.

Parar e iniciar instâncias automaticamente

É possível automatizar a interrupção e o início de instâncias com os seguintes serviços:

Instance Scheduler na AWS

É possível usar o Instance Scheduler na AWS para automatizar o início e a interrupção de instâncias do EC2. Para obter mais informações, consulte How do I use Instance Scheduler with CloudFormation to schedule EC2 instances? (Como uso o Instance Scheduler com o CloudFormation para agendar instâncias do EC2?) Observe que se aplicam outras cobranças.

AWS Lambda e uma regra do Amazon EventBridge

É possível usar o Lambda e uma regra do EventBridge para interromper e iniciar suas instâncias em um agendamento. Para obter mais informações, consulteHow do I stop and start Amazon EC2 instances at regular intervals using Lambda? (Como interrompo e inicio instâncias do Amazon EC2 em intervalos regulares usando o Lambda?)

Amazon EC2 Auto Scaling

Para garantir que você tenha o número correto de instâncias do Amazon EC2 disponíveis para lidar com a carga de uma aplicação, crie grupos do Auto Scaling. O Amazon EC2 Auto Scaling garante que sua aplicação sempre tenha a capacidade certa para lidar com a demanda de tráfego e economiza custos ao iniciar instâncias somente quando elas são necessárias. Observe que o Amazon EC2 Auto Scaling encerra, em vez de interromper, instâncias desnecessárias. Para configurar grupos do Auto Scaling, consulte Começar a usar o Amazon EC2 Auto Scaling.

O que acontece quando você interrompe uma instância

Quando você interrompe uma instância, as alterações são registradas no nível do sistema operacional da instância, alguns recursos do sistema são perdidos e outros persistem.

Quando uma instância é interrompida, o seguinte é registrado no nível do sistema operacional:
  • A solicitação da API envia um evento de pressionamento de botão ao convidado.

  • Vários serviços do sistema são interrompidos como resultado do evento de pressionamento de botão. O desligamento normal é acionado pelo evento de pressionamento do botão de desligamento de ACPI do hipervisor.

  • O desligamento de ACPI é iniciado.

  • A instância será desligada quando o processo de desligamento normal terminar. Não existe um tempo de desligamento configurável para o SO.

  • Se o sistema operacional da instância não for desligado de forma limpa em alguns minutos, um desligamento forçado será executado.

  • A execução da instância é interrompida.

  • O status da instância muda para stopping e depois para stopped.

  • [Auto Scaling] Se a instância estiver em um grupo do Auto Scaling, quando ela estiver em qualquer estado do Amazon EC2 diferente de running ou se o status para as verificações de status mudar para impaired, o Amazon EC2 Auto Scaling considerará a instância como não íntegra e a substituirá. Para obter mais informações, consulte Verificações de integridade de instâncias do Auto Scaling no Guia do usuário do Amazon EC2 Auto Scaling.

Quando você interrompe uma instância, o seguinte é perdido:
  • Dados armazenados na RAM.

  • Dados armazenados nos volumes de armazenamento de instância.

  • O endereço IPv4 público que o Amazon EC2 atribuiu automaticamente à instância quando ela foi iniciada. Para manter um endereço IPv4 público que nunca muda, é possível associar um endereço IP elástico à instância.

Quando você interrompe uma instância, o seguinte persiste:
  • Quaisquer volumes do Amazon EBS anexados.

  • Dados armazenados nos volumes do Amazon EBS anexados.

  • Endereços IPv4 privados.

  • Endereços IPv6.

  • O endereço IP elástico a ser associado à instância. Observe que, quando a instância for interrompida, você será cobrado pelos endereços IP elásticos associados.

Para obter informações sobre o que acontece quando você interrompe uma instância do Mac, consulte Interromper e encerrar sua instância do Mac.

O que acontece quando você inicia uma instância

Quando você inicia uma instância, as alterações são registradas no nível da instância.

Quando você inicia uma instância do EC2, o seguinte ocorre:
  • Na maioria dos casos, a instância é migrada para um novo computador host subjacente (embora em alguns casos, como quando uma instância está alocada a um host em uma configuração de Host dedicado, ela permaneça no host atual).

  • O Amazon EC2 atribuirá um novo endereço IPv4 público à instância se ela estiver configurada para receber um endereço IPv4 público. Para manter um endereço IPv4 público que nunca muda, é possível associar um endereço IP elástico à instância.

Modificar uma instância interrompida

Quando a instância for interrompida, será possível gerenciar seu volume do dispositivo raiz como qualquer outro volume e também modificá-lo (por exemplo, reparar problemas no sistema de arquivos ou atualizar o software).

Você só poderá modificar os atributos a seguir de uma instância quando ela for interrompida:
  • Tipo de instância

  • Dados do usuário

  • Kernel

  • Disco RAM

Se você tentar modificar esses atributos enquanto a instância estiver sendo executada, o Amazon EC2 retornará o erro IncorrectInstanceState.

É possível alterar os seguintes atributos de uma instância interrompida usando o console do Amazon EC2 ou a AWS CLI:
  • Tipo de instância

  • Dados do usuário

  • Otimização de EBS

A modificação dos seguintes atributos usando o console do Amazon EC2 não é possível:
  • DeleteOnTermination

  • Kernel

  • Disco RAM

Modificar um atributo de instância

É possível modificar um atributo de instância usando o console do Amazon EC2 ou a linha de comando.

Console
Para modificar o seguinte no AWS Management Console Consulte este recurso

Tipo de instância

Alterar o tipo de instância

Dados do usuário

Dados do usuário e console

Otimização de EBS

Modificar a otimização do EBS

O atributo DeleteOnTermination do volume raiz

Atualizar o mapeamento de dispositivos de blocos de uma instância em execução. Não é necessário interromper a instância para alterar esse atributo.

Command line
Para modificar um atributo da instância usando a linha de comando

É possível usar os comandos a seguir para modificar os atributos da instância. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessar o Amazon EC2.

Modificar o volume raiz de uma instância

Você pode modificar o volume raiz de uma instância executando as etapas a seguir.

  1. Desanexe o volume da instância interrompida.

  2. Anexe o volume a uma instância em execução.

  3. Modifique o volume.

  4. Desanexe o volume da instância em execução.

  5. Associe o volume à instância parada.

Reanexe o volume raiz usando o nome de dispositivo de armazenamento especificado como dispositivo raiz no mapeamento de dispositivos de blocos para a instância. Para obter etapas detalhadas sobre como separar e anexar um volume a uma instância, consulte Desvincular um volume do Amazon EBS de uma instância do LinuxVincular um volume de Amazon EBS a uma instância. Para obter ajuda adicional com a especificação de mapeamentos de dispositivos de blocos, consulte Mapeamentos de dispositivos de blocos.

Habilitar a proteção contra interrupção

Para impedir que uma instância seja interrompida acidentalmente, habilite a proteção contra interrupção da instância. A proteção contra interrupção também protege a instância contra término acidental.

O atributo DisableApiStop da API ModifyInstanceAttribute do Amazon EC2 controla se a instância pode ser interrompida Esse atributo pode ser definido usando o console do Amazon EC2, a AWS CLI ou a API do Amazon EC2. Você pode definir o valor desse atributo ao executar a instância, enquanto a instância estiver em execução ou quando a instância for interrompida.

Importante

Definir o atributo DisableApiStop da ação da API ModifyInstanceAttribute do Amazon EC2 não impede que você interrompa acidentalmente uma instância ao iniciar um desligamento da instância usando os comandos shutdown ou poweroff do sistema operacional.

Considerações sobre a proteção contra interrupção
  • Habilitar a proteção contra interrupção não impede que a AWS interrompa a instância quando há eventos programados para interromper a instância.

  • Habilitar a proteção contra interrupção não impede que Amazon EC2 Auto Scaling termine uma instância quando ela não estiver íntegra ou durante eventos de redução da escala horizontal. É possível controlar se um grupo do Auto Scaling pode encerrar uma instância específica ao reduzir a escala horizontalmente usando a proteção contra redução da escala da instância na horizontal.

  • A proteção contra interrupção não só impede que a instância seja interrompida acidentalmente, mas também previne o término acidental durante o uso do console, da AWS CLI ou da API. No entanto, isso não define automaticamente o atributo DisableApiTermination. Observe que, quando o atributo DisableApiStop é definido como false, o atributo DisableApiTermination é usado para determinar se a instância pode ser encerrada usando o console, a AWS CLI ou a API. Para mais informações, consulte Encerrar a instância.

  • Não é possível habilitar a proteção contra interrupção para instâncias compatíveis com o armazenamento de instâncias.

  • Não é possível habilitar a proteção contra interrupção para instâncias spot.

  • A API do Amazon EC2 segue um modelo de consistência eventual quando você habilita ou desabilita a proteção contra interrupção. Isso significa que o resultado da execução de comandos para definir o atributo da proteção contra interrupção poderá não ser imediatamente visível para todos os comandos subsequentes que forem executados. Para obter mais informações, consulte Eventual consistency (Consistência eventual) na Referência da API do Amazon EC2.

Habilitar a proteção contra interrupção de uma instância na inicialização

Habilite a proteção contra interrupções de uma instância ao executar a instância usando um dos métodos a seguir.

Console
Como habilitar a proteção contra término de uma instância na inicialização
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel, escolha Executar instância.

  3. Configure sua instância no novo assistente de inicialização de instância.

  4. Para habilitar a proteção contra interrupções, em Advanced details (Detalhes avançados), em Stop protection (Proteção contra interrupções), escolha Enable (Habilitar).

AWS CLI
Como habilitar a proteção contra término de uma instância na inicialização

Use o comando run-instances da AWS CLI para iniciar a instância e especifique o parâmetro disable-api-stop.

aws ec2 run-instances \ --image-id ami-a1b2c3d4e5example \ --instance-type t3.micro \ --key-name MyKeyPair \ --disable-api-stop \ ...

Habilitar a proteção contra interrupção de uma instância em execução ou interrompida

Habilite a proteção contra interrupções de uma instância enquanto a instância é executada ou interrompida usando um dos métodos a seguir.

Console
Para habilitar a proteção contra encerramento de uma instância em execução ou interrompida
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

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

  3. Selecione a instância e escolha Ações > Configurações da instância > Alterar proteção contra interrupção.

  4. Marque a caixa de seleção Enable (Habilitar) e escolha Save (Salvar).

AWS CLI
Para habilitar a proteção contra encerramento de uma instância em execução ou interrompida

Use o comando modify-instance-attribute da AWS CLI e especifique o parâmetro disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --disable-api-stop

Desabilitar a proteção contra interrupção de uma instância em execução ou interrompida

Desabilite a proteção contra interrupções de uma instância em execução ou interrompida usando um dos métodos a seguir.

Console
Para desabilitar a proteção contra interrupção de uma instância em execução ou interrompida
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

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

  3. Selecione a instância e escolha Actions (Ações), Instance Settings (Configurações da instância) e Change Termination Protection (Alterar proteção contra interrupção).

  4. Desmarque a caixa de seleção Enable (Habilitar) e escolha Save (Salvar).

AWS CLI
Para desabilitar a proteção contra interrupção de uma instância em execução ou interrompida

Use o comando modify-instance-attribute da AWS CLI e especifique o parâmetro no-disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --no-disable-api-stop

Teste a resposta da aplicação para interromper e iniciar

É possível usar o AWS Fault Injection Simulator para testar como suas aplicações respondem quando sua instância é interrompida e iniciada. Para obter mais informações, consulte o Guia do usuário do AWS Fault Injection Simulator.

Solução de problemas na interrupção da instância

Se você interrompeu uma instância baseada no Amazon EBS e ela aparentar estar "presa" no estado stopping, será possível interrompê-la à força. Para obter mais informações, consulte Solução de problemas na interrupção da instância.