Amazon Elastic Compute Cloud
User Guide for Linux Instances

Encerre sua instância

Você pode excluir sua instância quando não precisar mais dela. Isso é chamado de encerrar sua instância. Assim que o estado de uma instância mudar para shutting-down ou para terminated, não haverá mais custos para essa instância.

Você não pode se conectar com uma instância ou reiniciá-la depois de tê-la encerrado. No entanto, você pode executar instâncias adicionais usando a mesma AMI. Se você preferir interromper e reiniciar a instância ou hiberná-la, consulte Interrompa e inicie sua instância ou Hibernar a instância do Linux. Para obter mais informações, consulte Diferenças entre reinicialização, parada, hibernação e encerramento.

Encerramento da instância

Depois de encerrar uma instância, ela permanecerá visível no console por um curto período, quando será automaticamente excluída. Você não pode excluir a entrada da instância encerrada por conta própria. Depois que uma instância é encerrada, recursos como tags e volumes são gradualmente dissociados da instância, portanto podem não ficar visíveis na instância encerrada após um breve período.

Quando uma instância é encerrada, os dados em quaisquer volumes de armazenamento de instâncias associados a ela são excluídos.

Por padrão, os volumes do dispositivo raiz do Amazon EBS são excluídos automaticamente quando a instância é encerrada. Contudo, por padrão, todos os volumes do EBS adicionais que você anexar na execução ou todos os volumes do EBS que você anexar a uma instância existente persistirão mesmo após o encerramento da instância. Esse comportamento é controlado pelo atributo DeleteOnTermination do volume, que você pode modificar. Para obter mais informações, consulte Preservação de volumes do Amazon EBS no encerramento da instância.

Você pode impedir que uma instância seja encerrada acidentalmente por alguém usando o Console de gerenciamento da AWS, a CLI e a API. Esse recurso está disponível para instâncias com Amazon EBS e instâncias com armazenamento de instâncias do Amazon EC2. Cada instância tem um atributo DisableApiTermination com o valor padrão de false (ela pode ser encerrada pelo Amazon EC2). Você pode modificar esse atributo enquanto a instância estiver sendo executada ou interrompida (no caso de instâncias baseadas no Amazon EBS). Para obter mais informações, consulte Habilitação da proteção contra o encerramento de uma instância.

Você pode definir se uma instância deve ser interrompida ou encerrada quando o desligamento for iniciado a partir da instância usando um comando do sistema operacional para o desligamento do sistema. Para obter mais informações, consulte Alteração do comportamento de desligamento iniciado da instância.

Se você executar um script no encerramento da instância, sua instância pode ter uma interrupção anormal, pois não há como garantir que os scripts de desativação sejam executados . O Amazon EC2 tenta desativar uma instância corretamente e executar os scripts de desativação do sistema. No entanto, determinados eventos (como falha de hardware) podem impedir que esses scripts de desativação do sistema sejam executados.

O que acontece quando você encerra uma instância (API)

Quando uma instância do EC2 é encerrada usando o comando terminate-instances, o seguinte é registrado no nível do SO:

  • A solicitação da API enviará um evento de pressionamento de botão ao convidado.

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

  • O desligamento de ACPI será 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.

Como encerrar uma instância

Você pode encerrar uma instância usando o Console de gerenciamento da AWS ou a linha de comando.

Para encerrar uma instância usando o console

  1. Antes de encerrar a instância, confirme que não perderá dados verificando se seus volumes do Amazon EBS não serão excluídos no encerramento e se você copiou todos os dados de que precisa dos volumes de armazenamento de instâncias para o Amazon EBS ou o Amazon S3.

  2. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

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

  4. Selecione a instância e escolha Actions, Instance State e Terminate.

  5. Quando a confirmação for solicitada, escolha Sim, encerrar.

Para encerrar uma instância usando a linha de comando

Você pode usar um dos comandos a seguir. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessando o Amazon EC2.

Habilitação da proteção contra o encerramento de uma instância

Por padrão, você pode encerrar sua instância usando o console do Amazon EC2, a interface de linha de comando ou a API. Se você quiser impedir que sua instância seja encerrada acidentalmente usando o Amazon EC2, pode habilitar a proteção contra encerramento para a instância. O atributo DisableApiTermination define se a instância pode ser encerrada usando o console, a CLI ou a API. Por padrão, a proteção contra encerramento está desabilitada para sua instância. 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 (para instâncias baseadas no Amazon EBS).

O atributo DisableApiTermination não impede que você encerre uma instância iniciando o desligamento da instância (usando um comando do sistema operacional para o desligamento do sistema) quando o atributo InstanceInitiatedShutdownBehavior é definido. Para obter mais informações, consulte Alteração do comportamento de desligamento iniciado da instância.

Limites

Não é possível habilitar a proteção contra encerramento para Instâncias spot — uma Instância spot é encerrada quando o preço spot excede o valor que você está disposto a pagar por Instâncias spot. No entanto, é possível preparar seu aplicativo para lidar com interrupções de Instância spot. Para obter mais informações, consulte Interrupções de Instância spots.

O atributo DisableApiTermination não impede que o Amazon EC2 Auto Scaling encerre uma instância. Para instâncias em um grupo do Auto Scaling, use os seguintes recursos do Amazon EC2 Auto Scaling em vez de a proteção contra encerramento do Amazon EC2:

  • Para impedir que as instâncias que fazem parte de um grupo do Auto Scaling sejam encerradas na redução, use a proteção da instância. Para obter mais informações, consulte Proteção de instâncias no Guia do usuário do Amazon EC2 Auto Scaling.

  • Para impedir que o Amazon EC2 Auto Scaling encerre instâncias não íntegras, suspenda o processo ReplaceUnhealthy. Para obter mais informações, consulte Suspensão e retomada dos processos de escalabilidade no Guia do usuário do Amazon EC2 Auto Scaling.

  • Para especificar quais instâncias do Amazon EC2 Auto Scaling devem ser encerradas primeiro, escolha uma política de encerramento. Para obter mais informações, consulte Personalização da política de encerramento no Guia do usuário do Amazon EC2 Auto Scaling.

Para habilitar a proteção contra encerramento de uma instância no momento da execução

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

  2. No painel, escolha Launch Instance (Executar instância) e siga as instruções contidas no assistente.

  3. Na página Configure Instance Details (Configurar detalhes da instância), marque a caixa de seleção Enable termination protection (Habilitar proteção contra encerramento).

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

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

  2. Selecione Yes, Enable (Sim, habilitar).

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

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

  2. Selecione Yes, Disable (Sim, desabilitar).

Para habilitar ou desabilitar a proteção contra encerramento usando a linha de comando

Você pode usar um dos comandos a seguir. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessando o Amazon EC2.

Alteração do comportamento de desligamento iniciado da instância

Por padrão, quando você inicia um desligamento em uma instância baseada no Amazon EBS (usando um comando como shutdown ou poweroff), a instância é interrompida (observe que halt não emite um comando poweroff e, se usado, a instância não será encerrada. Em vez disso, ela colocará a CPU em HLT e a instância permanecerá em execução). Você pode alterar esse comportamento usando o atributo InstanceInitiatedShutdownBehavior para a instância de forma que, em vez de ser desligada, ela seja encerrada. Você pode atualizar esse atributo enquanto a instância estiver sendo executada ou interrompida.

Você pode atualizar o atributo InstanceInitiatedShutdownBehavior usando o console do Amazon EC2 ou a linha de comando. O atributo InstanceInitiatedShutdownBehavior se aplica apenas quando você executa uma desativação do sistema operacional da própria instância; ele não se aplica quando você interrompe uma instância usando a API StopInstances ou o console do Amazon EC2.

Para alterar o comportamento de desligamento de uma instância usando o console

  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, selecione Actions (Ações), Instance Settings (Configurações da instância) e, em seguida, selecione Change Shutdown Behavior (Alterar comportamento do desativação). O comportamento atual já está selecionado.

  4. Para alterar o comportamento, selecione uma opção na lista Shutdown behavior (Comportamento de desativação) e, em seguida, selecione Apply (Aplicar).

    
						A caixa de diálogo de alteração de comportamento de desativação

Para alterar o comportamento de desligamento de uma instância usando a linha de comando

Você pode usar um dos comandos a seguir. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessando o Amazon EC2.

Preservação de volumes do Amazon EBS no encerramento da instância

Quando uma instância é encerrada, o Amazon EC2 usa o valor do atributo DeleteOnTermination para cada volume do Amazon EBS anexado a fim de determinar se o volume será preservado ou excluído. O valor padrão do atributo DeleteOnTermination difere dependendo se o volume é um volume raiz de uma instância.

Por padrão, o atributo DeletionOnTermination para o volume raiz de uma instância é definido como true. Portanto, o padrão é excluir o volume raiz de uma instância quando a instância é encerrada. O atributo DeletionOnTermination pode ser definido pelo criador de uma AMI, bem como pela pessoa que executa a instância. Quando o atributo é alterado pelo criador de uma AMI ou pela pessoa que executa uma instância, a nova configuração substitui a configuração padrão original da AMI. Recomendamos que você verifique a configuração padrão do atributo DeletionOnTermination após executar uma instância com uma AMI.

Por padrão, ao anexar um volume do EBS a uma instância, seu atributo DeleteOnTermination é definido como false. Portanto, o padrão é preservar esses volumes. Exclua um volume para evitar cobranças adicionais. Para obter mais informações, consulte Exclusão de um volume do Amazon EBS. Depois que a instância é encerrada, você pode criar uma snapshot do volume preservado ou anexá-lo a outra instância.

Para verificar o valor do atributo DeleteOnTermination de um volume do EBS que esteja em uso, consulte o mapeamento de dispositivos de bloco da instância. Para obter mais informações, consulte Visualização dos volumes do EBS em um mapeamento de dispositivo de blocos da instância.

Você pode alterar o valor do atributo DeleteOnTermination de um volume quando executar a instância ou enquanto a instância estiver sendo executada.

Alteração do volume raiz a ser mantido na execução usando o console

Usando o console, você pode alterar o atributo DeleteOnTermination quando executar uma instância. Para alterar esse atributo para uma instância em execução, use a linha de comando.

Para alterar o volume raiz de uma instância a ser mantido na execução usando o console

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

  2. No painel do console, selecione Launch Instance (Executar instância).

  3. Na página Choose an Amazon Machine Image (AMI) (Escolher uma imagem de máquina da Amazon), selecione uma AMI e escolha Select (Selecionar).

  4. Siga o assistente para preencher as páginas Choose an Instance Type e Configure Instance Details.

  5. Na página Add Storage, desmarque a caixa de seleção Delete On Termination do volume do dispositivo raiz.

  6. Preencha as páginas restantes do assistente e escolha Launch (Executar).

Você pode verificar a configuração exibindo detalhes do volume do dispositivo raiz no painel de detalhes da instância. Ao lado de Block devices (Dispositivos de blocos), clique na entrada do volume do dispositivo raiz. Por padrão, Delete on termination é True. Se você alterar o comportamento padrão, Delete on termination será False.

Alteração do volume raiz a ser mantido na execução usando a linha de comando

Ao executar uma instância baseada no EBS, você pode usar um dos seguintes comandos para alterar o volume do dispositivo raiz a ser mantido. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessando o Amazon EC2.

Por exemplo, adicione a opção a seguir ao seu comando run-instances:

--block-device-mappings file://mapping.json

Especifique o seguinte em mapping.json:

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false, "SnapshotId": "snap-1234567890abcdef0", "VolumeType": "gp2" } } ]

Alteração do volume raiz de uma instância em execução a ser mantido usando a linha de comando

Você pode usar um dos seguintes comandos para alterar o volume do dispositivo raiz de uma instância baseada no EBS em execução a ser mantido. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessando o Amazon EC2.

Por exemplo, use o comando a seguir:

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

Especifique o seguinte em mapping.json:

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

Solução de problemas

Se sua instância permanecer no estado shutting-down por mais tempo do que o normal, ela será por fim removida (encerrada) por processos automatizados no serviço do Amazon EC2. Para obter mais informações, consulte Solução de problemas de encerramento (desativação) da sua instância.