

# Alterações do estado de instâncias do Amazon EC2
<a name="ec2-instance-lifecycle"></a>

Uma instância do Amazon EC2 passa por diferentes estados do momento em que você a inicia até seu encerramento.

A ilustração a seguir representa as transições entre os estados da instância.

![\[O ciclo de vida da instância.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/instance_lifecycle.png)


Você poderá receber notificações quando as instâncias mudarem de estado. Para obter mais informações, consulte [Eventos de alteração de estado para instâncias do Amazon EC2](monitoring-instance-state-changes.md).

## Faturamento por estado da instância
<a name="instance-billing-by-state"></a>

A tabela apresentada a seguir fornece uma breve descrição de cada estado da instância e indica se o uso da instância é faturado. Alguns recursos da AWS, como volumes do Amazon EBS e endereços IP elásticos, incorrem em cobranças independentemente do estado da instância. Para obter mais informações, consulte [Evitar cobranças inesperadas](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html) no *Manual do usuário do AWS Billing*.


| Estado da instância | Descrição | Faturamento para uso da instância | 
| --- | --- | --- | 
|  `pending`  |  A instância está se preparando para entrar no estado `running`. Uma instância entra no estado `pending` quando ela é executada ou quando é iniciada após estar no estado `stopped`.  |  Não faturado  | 
|  `running`  |  A instância está em execução e pronta para uso.  |  Faturado  | 
|  `stopping`  |  A instância está se preparando para ser interrompida.  |  Não faturado  Caso hiberne uma instância, você será cobrado enquanto a instância estiver no estado `stopping`.   | 
|  `stopped`  |  A instância está desativada e não pode ser usada. A instância pode ser iniciada a qualquer momento.  |  Não faturado  | 
|  `shutting-down`  |  A instância está se preparando para ser encerrada.  |  Não faturado  | 
|  `terminated`  |  A instância foi permanentemente excluída e não pode ser iniciada.  |  Não faturado  As instâncias reservadas que foram aplicadas a instâncias encerradas são faturadas até o final do prazo de acordo com a opção de pagamento. Para obter mais informações, consulte . [Visão geral de instâncias reservadas para o Amazon EC2](ec2-reserved-instances.md)   | 

## Instâncias pendentes
<a name="instance-launch"></a>

Quando você executa uma instância, ela entra no estado `pending`. O tipo de instância que você especificou na execução determina o hardware de computador host para sua instância. Usamos a imagem de máquina da Amazon (AMI) especificada na execução para inicializar a instância. Depois de a instância estar pronta para você, ela entra no estado `running`. É possível se conectar à instância em execução e usá-la da forma como usaria um computador bem à sua frente.

Assim que sua instância fizer a transição para o estado `running`, você será cobrado por cada segundo, com o mínimo de um minuto, que mantiver a instância em execução, mesmo se a instância permanecer ociosa e você não se conectar a ela.

## Instâncias interrompidas
<a name="instance-stop-start"></a>

Se sua instância falhar na verificação de status ou não estiver executando suas aplicações como esperado, e se o volume do dispositivo raiz de sua instância for um volume do Amazon EBS, será possível parar e iniciar a instância para tentar corrigir o problema.

Quando você para sua instância, ela entra no estado `stopping` e, em seguida, no estado `stopped`. Você não é cobrado pelas taxas de uso ou transferência de dados da sua instância quando ela é `stopped`. Cobranças são geradas pelo armazenamento de qualquer volume do Amazon EBS. Quando sua instância estiver no estado `stopped`, será possível modificar determinados atributos da instância, inclusive o tipo de instância.

Quando você inicia a instância, ela entra no estado `pending` e é movida para um novo computador host (embora em alguns casos ela permaneça no host atual). Quando você interrompe e inicia instância, perde todos os dados nos volumes de armazenamento de instância anexados ao computador host anterior.

Sua instância retém o endereço IPv4 privado, o que significa que um endereço IP elástico associado ao endereço IPv4 privado ou à interface de rede permanece associado à sua instância. Se sua instância tiver um endereço IPv6, ela reterá o endereço IPv6.

Toda vez que você faz a transição de uma instância de `stopped` para `running`, a cobrança é feita por segundo quando a instância está em execução, com no mínimo um minuto por início de instância.

Para obter mais detalhes sobre como interromper e iniciar instâncias, consulte [Início e interrupção de instâncias do Amazon EC2](Stop_Start.md).

## Instâncias hibernadas
<a name="instance-hibernate"></a>

Ao hibernar uma instância, sinalizamos para o sistema operacional para executar hibernação (suspend-to-disk), o que salva o conteúdo da memória da instância (RAM) no volume raiz do Amazon EBS. Persistimos o volume raiz do Amazon EBS e todos os volumes de dados do Amazon EBS da instância anexados. Quando você inicia a instância, o volume raiz do Amazon EBS é restaurado para seu estado anterior, e o conteúdo da RAM é recarregado. Os volumes de dados anexados anteriormente são reanexados e a instância conserva seu ID de instância.

Quando você hiberna a instância, ela entra no estado `stopping` e, em seguida, no estado `stopped`. Não cobramos pelo uso de uma instância hibernada quando ela está no estado `stopped`, mas cobramos quando ela está no estado `stopping`, ao contrário de quando você [interrompe uma instância](#instance-stop-start) sem hiberná-la. Não cobramos pelo uso de taxas de transferência de dados, mas cobramos pelo armazenamento de qualquer volume do Amazon EBS, incluindo armazenamento dos dados da RAM.

Quando você inicia a instância hibernada, ela entra no estado `pending` e a movemos para um novo computador host (embora em alguns casos, ela permaneça no host atual).

Sua instância retém o endereço IPv4 privado, o que significa que um endereço IP elástico associado ao endereço IPv4 privado ou à interface de rede ainda estará associado à sua instância. Se sua instância tiver um endereço IPv6, ela reterá o endereço IPv6.

Para obter mais informações, consulte [Hibernar sua instância do Amazon EC2](Hibernate.md).

## Instâncias de reinicialização
<a name="instance-reboot"></a>

É possível reinicializar sua instância usando o console do Amazon EC2, uma ferramenta da linha de comando e a API do Amazon EC2. Recomendamos que você use o Amazon EC2 para reinicializar sua instância em vez de executar o comando de reinicialização do sistema operacional pela sua instância.

A reinicialização de uma instância equivale a reinicialização de um sistema operacional. A instância permanece no mesmo computador host e mantém seu nome DNS público, endereço IP privado e todos os dados em seus volumes de armazenamento de instância. Normalmente demora alguns minutos para a reinicialização ser concluída, mas o tempo necessário para reinicialização depende da configuração da instância.

Reiniciar uma instância não inicia uma novo período de faturamento de instância; o faturamento por segundo continua sem a cobrança mínima de um minuto.

Para obter mais informações, consulte [Reinicializar uma instância do Amazon EC2](ec2-instance-reboot.md).

## Instâncias encerradas
<a name="instance-termination"></a>

Ao perceber que não necessita mais de uma instância, pode encerrá-la. Assim que o estado de uma instância de mudar para `shutting-down` ou para `terminated`, não haverá mais custos para essa instância.

Se você ativou a proteção de encerramento, não poderá encerrar a instância usando o console, a CLI ou a API.

Depois de encerrar uma instância, ela permanecerá visível no console por um curto período, quando será automaticamente excluída. Também é possível descrever uma instância encerrada usando a CLI e a API. Recursos (como tags) são gradualmente dissociados da instância encerrada, portanto podem não ser visíveis na instância encerrada após um breve período. Você não pode se conectar nem recuperar uma instância encerrada. 

Cada instância baseada no Amazon EBS é compatível com o atributo `InstanceInitiatedShutdownBehavior`, que controla se a instância é interrompida ou encerrada quando você inicia o desligamento de dentro da própria instância (por exemplo, ao usar o comando **shutdown** no Linux). O comportamento padrão é interromper a instância. É possível modificar a configuração desse atributo enquanto a instância estiver sendo executada ou parada.

Cada volume do Amazon EBS oferece suporte ao atributo `DeleteOnTermination`, que controla se o volume é excluído ou preservado ao encerrar a instância à qual ela está associada. Por padrão, o volume raiz é excluído, enquanto os demais volumes do EBS são preservados.

Para obter mais informações, consulte [Encerramento de instâncias do Amazon EC2](terminating-instances.md).

## Diferenças entre os estados de instâncias
<a name="lifecycle-differences"></a>

A tabela a seguir resume as principais diferenças entre reinicialização, parada, hibernação e encerramento da sua instância.


| Característica | Reinicializar | Parar/iniciar (somente instâncias baseadas no Amazon EBS) | Hibernação (somente instâncias baseadas no Amazon EBS) | Encerrar | 
| --- | --- | --- | --- | --- | 
|  Computador host  |  A instância permanece no mesmo computador host.  |  Nós movemos a instância para um novo computador host (embora em alguns casos, ela permaneça no host atual).  |  Nós movemos a instância para um novo computador host (embora em alguns casos, ela permaneça no host atual).  |  Nenhum  | 
|  Endereço IPv4 privado  |  A instância mantém seu endereço IPv4 privado.  |  A instância mantém seu endereço IPv4 privado.  |  A instância mantém seu endereço IPv4 privado.  |  Nenhum  | 
|  Endereço IPv4 público  |  A instância mantém seu endereço IPv4 público.  |  A instância obtém um novo endereço IPv4 público, a menos que tenha uma interface de rede secundária ou um endereço IPv4 privado secundário associado a um endereço IP elástico.  |  A instância obtém um novo endereço IPv4 público, a menos que tenha uma interface de rede secundária ou um endereço IPv4 privado secundário associado a um endereço IP elástico.  |  Nenhum  | 
|  Endereço IP elástico (IPv4)  |  O endereço IP elástico permanece associado à instância  |  O endereço IP elástico permanece associado à instância  |  O endereço IP elástico permanece associado à instância  |  O endereço IP elástico está dissociado da instância  | 
|  Endereço IPv6  |  A instância mantém seu endereço IPv6  |  A instância mantém seu endereço IPv6  |  A instância mantém seu endereço IPv6  |  Nenhum  | 
|  Volumes de armazenamento de instâncias  |  Os dados são preservados  |  Os dados são apagados  |  Os dados são apagados  |  Os dados são apagados  | 
|  Volume raiz  |  O volume é preservado  |  O volume é preservado  |  O volume é preservado  |  O volume é excluído por padrão  | 
|  RAM (conteúdo da memória)  |  A RAM é apagada  |  A RAM é apagada  |  A RAM é salva em um arquivo no volume raiz  |  A RAM é apagada  | 
|  Faturamento  |  O momento de faturamento da instância não sofre alterações.  |  As cobranças de uma instância são interrompidas assim que o estado mudar para `stopping`. Toda vez que uma instância faz a transição de `stopped` para `running`, nós iniciamos um novo período, cobrando o mínimo de um minuto toda vez que você inicia a instância.  |  Você incorre em cobranças quando a instância está no estado `stopping`, mas não incorre em cobranças quando a instância está no estado `stopped`. Toda vez que uma instância faz a transição de `stopped` para `running`, nós iniciamos um novo período, cobrando o mínimo de um minuto toda vez que você inicia a instância.  |  Você deixa de incorrer em cobranças para uma instância assim que o estado é alterado para `shutting-down`.  | 

Comandos de desligamento do sistema operacional sempre encerram uma instância com volume raiz do tipo armazenamento de instância. É possível controlar se os comandos de desligamento do sistema operacional devem interromper ou encerrar uma instância com volume raiz do EBS. Para obter mais informações, consulte [Alterar comportamento de desligamento iniciado da instância](Using_ChangingInstanceInitiatedShutdownBehavior.md).

# Início e interrupção de instâncias do Amazon EC2
<a name="Stop_Start"></a>

Você pode interromper e reiniciar a instância se o volume raiz for um volume do Amazon EBS. Quando você interrompe uma instância, ela é desligada. Quando você inicia uma instância, ela é normalmente migrada para um novo computador host subjacente e recebe um novo endereço IPv4 público.

Uma parada de instância pode ser iniciada pelo usuário (quando você interrompe manualmente a instância) ou iniciada pela AWS (em resposta a um evento de parada programada quando a AWS detecta uma falha irreparável do host subjacente da sua instância).

Para interrupções iniciadas pelo usuário, recomendamos usar o console do Amazon EC2, a CLI ou a API em vez de executar o comando de interrupção do sistema operacional na instância. Ao usar o Amazon EC2, se a instância não for desligada de maneira limpa em alguns minutos, o Amazon EC2 realizará um desligamento forçado. Além disso, o AWS CloudTrail cria um registro de API de quando a instância foi interrompida.

Este tópico descreve como realizar uma interrupção iniciada pelo usuário. Para obter informações sobre uma interrupção realizada pelo AWS, consulte [Gerenciamento das instâncias do Amazon EC2 agendadas para interrupção ou desativação](schedevents_actions_retire.md).

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 [Encerramento de instâncias do Amazon EC2](terminating-instances.md). Se você quiser hibernar uma instância para salvar o conteúdo da memória da instância (RAM), consulte [Hibernar sua instância do Amazon EC2](Hibernate.md). Para obter distinções entre as ações do ciclo de vida da instância, consulte. [Diferenças entre os estados de instâncias](ec2-instance-lifecycle.md#lifecycle-differences)

**Topics**
+ [Como funciona](how-ec2-instance-stop-start-works.md)
+ [Métodos para parar uma instância](instance-stop-methods.md)
+ [Parar e iniciar manualmente](#starting-stopping-instances)
+ [Parar e iniciar automaticamente](#stop-start-ec2-instances-on-a-schedule)
+ [Localizar instâncias em execução e interrompidas](#find-running-and-stopped-instances-in-globalview)
+ [Encontrar os horários de execução inicial e mais recente](#find-initial-launch-time)
+ [Habilitar a proteção contra interrupção](ec2-stop-protection.md)

# Como funciona a inicialização e a interrupção de uma instância do EC2
<a name="how-ec2-instance-stop-start-works"></a>

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

**Topics**
+ [O que acontece quando você interrompe uma instância](#what-happens-stop)
+ [O que acontece quando você inicia uma instância](#what-happens-start)
+ [Teste a resposta da aplicação para interromper e iniciar](#test-stop-start-instance)
+ [Custos relacionados ao início e à interrupção de uma instância](#ec2-stop-start-costs)

## O que acontece quando você interrompe uma instância
<a name="what-happens-stop"></a>

Veja a seguir o que normalmente acontece quando você interrompe uma instância usando o método de parada padrão. Observe que alguns aspectos podem variar dependendo do [método de parada](instance-stop-methods.md) usado.

**Alterações registradas 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 do sistema operacional é 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 do sistema operacional 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 estado 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 das 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 [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) no *Amazon EC2 Auto Scaling User Guide*.
+ [Instâncias do Windows] Quando você interrompe e inicia uma instância do Windows, o agente de inicialização executa tarefas na instância, como alterar as letras das unidades de quaisquer volumes do Amazon EBS anexados. Para obter mais informações sobre esses padrões e como é possível alterá-los, consulte [Usar o agente do EC2Launch v2 para realizar tarefas durante a execução da instância EC2 Windows](ec2launch-v2.md).

**Recursos perdidos**
+ 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](elastic-ip-addresses-eip.md) à instância.

**Recursos que persistem**
+ Qualquer volume raiz e de dados do Amazon EBS que esteja anexado.
+ Dados armazenados em volumes do Amazon EBS.
+ Qualquer [interface de rede](using-eni.md) anexada.

  Uma interface de rede inclui os seguintes recursos, que também persistem:
  + 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](elastic-ip-addresses-eip.md#eip-pricing).

O diagrama a seguir ilustra o que é perdido e o que persiste quando uma instância do Amazon EC2 é interrompida. O diagrama é dividido em três partes: a primeira parte, chamada **Instância do EC2 em execução**, mostra a instância no estado `running` com seus recursos. A segunda parte, chamada **Instância do EC2 parada**, mostra a instância no estado `stopped` com os recursos que persistem. A terceira parte, chamada **Perdido**, mostra os recursos que são perdidos quando a instância é interrompida.

![\[O endereço IPv4 público, a RAM e os dados de armazenamento da instância são perdidos quando uma instância é interrompida.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/stop-instance.png)


Para obter informações sobre o que acontece quando você interrompe uma instância do Mac, consulte [Parar ou terminar a instância do Mac no Amazon EC2](mac-instance-stop.md).

## O que acontece quando você inicia uma instância
<a name="what-happens-start"></a>
+ 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](dedicated-hosts-understanding.md), ela permaneça no host atual).
+ Os volumes e interfaces de rede do EBS associados são reconectados à instância.
+ O Amazon EC2 atribui um novo endereço IPv4 público à instância se ela estiver configurada para receber um endereço IPv4 público, a menos que tenha uma interface de rede secundária ou um endereço IPv4 privado secundário associado a um endereço IP elástico.
+ Se você interrompe uma instância em um placement group e depois a inicia novamente, ela ainda é executada no placement group. Contudo, ocorrerá uma falha no início se não houver capacidade suficiente para a instância. Se você receber um erro de capacidade ao iniciar uma instância em um grupo de posicionamento que já tenha instâncias em execução, interrompa todas as instâncias no grupo de posicionamento e inicie-as novamente. Iniciar as instâncias pode migrá-las para o hardware com capacidade para todas as instâncias solicitadas.

## Teste a resposta da aplicação para interromper e iniciar
<a name="test-stop-start-instance"></a>

É possível usar o AWS Fault Injection Service para testar como suas aplicações respondem quando sua instância é interrompida e iniciada. Para saber mais, consulte o [Guia do usuário do AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

## Custos relacionados ao início e à interrupção de uma instância
<a name="ec2-stop-start-costs"></a>

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.

# Métodos para parar uma instância
<a name="instance-stop-methods"></a>

Há quatro maneiras de realizar uma parada iniciada pelo usuário: parada padrão, parada com ignorar o desligamento do sistema operacional, parada forçada e parada forçada com ignorar o desligamento do sistema operacional. A tabela a seguir compara as principais diferenças entre os métodos de parada:


| Método de parada | Objetivo principal | Caso de uso | Comando da CLI | 
| --- | --- | --- | --- | 
| Parada padrão | Desligamento normal da instância com tentativa de desligamento normal do sistema operacional. | Parada típica de uma instância. |  <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0</pre>  | 
| Parada com ignorar o desligamento do sistema operacional | Ignora o desligamento normal do sistema operacional ao parar uma instância. | Quando ignorar o desligamento normal do sistema operacional é necessário. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| Forçar a parada | Resolve instâncias travadas. Tenta primeiro uma parada padrão; se a instância não para, interrompe a instância à força. | Quando a instância está travada no estado stopping. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| Forçar a parada com ignorar o desligamento do sistema operacional | Força a parada e ignora o desligamento normal do sistema operacional ao parar uma instância. | Quando forçar a parada e ignorar o desligamento normal do sistema operacional são necessários. | <pre>aws ec2 stop-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

Para obter instruções sobre como usar cada método, consulte:
+ [Parar uma instância com um desligamento normal do sistema operacional](Stop_Start.md#stop-instance-with-graceful-os-shutdown)
+ [Parar uma instância e ignorar o desligamento normal do sistema operacional](Stop_Start.md#stop-instance-bypass-graceful-os-shutdown)
+ [Forçar a interrupção de uma instância](TroubleshootingInstancesStopping.md#force-stop-instance)

**Topics**
+ [Parada padrão](#ec2-instance-default-stop)
+ [Parada com ignorar o desligamento do sistema operacional](#ec2-instance-stop-with-skip-os-shutdown)
+ [Forçar a parada](#ec2-instance-force-stop)
+ [Forçar a parada com ignorar o desligamento do sistema operacional](#ec2-instance-force-stop-with-skip-os-shutdown)

As seções a seguir fornecem informações mais detalhadas sobre os quatro métodos diferentes de parada iniciada pelo usuário.

## Parada padrão
<a name="ec2-instance-default-stop"></a>

O método de parada padrão é a maneira padrão de parar uma instância. Quando você emite o comando StopInstances, a instância faz a transição do estado `running` para `stopping` e, finalmente, para `stopped`, conforme ilustrado no diagrama a seguir:

![\[Fluxo de parada padrão\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/stop-instance-flow-1.png)


**Objetivo:** desligamento normal da instância com tentativa de desligamento normal do sistema operacional.

**Impacto nos dados:** preserva os dados no volume raiz e nos volumes de dados do EBS. Os dados no volume de armazenamento de instância são perdidos.

**Quando usar:** a primeira tentativa de parada em paradas típicas.

**nota**  
Se você já tentou realizar uma parada com ignorar desligamento do sistema operacional, uma tentativa subsequente de parada padrão durante a mesma sessão de transição de estado não executará um desligamento normal do sistema operacional. Ignorar o desligamento normal do sistema operacional é uma ação irreversível para a sessão atual da instância.

## Parada com ignorar o desligamento do sistema operacional
<a name="ec2-instance-stop-with-skip-os-shutdown"></a>

Quando é necessário ignorar o desligamento normal do sistema operacional, o método de parada com ignorar desligamento do sistema operacional pode ser usado para parar uma instância e ignorar o desligamento normal do sistema operacional, conforme ilustrado no diagrama a seguir:

![\[Fluxo de parar com ignorar desligamento do sistema operacional\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/stop-instance-flow-3.png)


**Atenção**  
Ignorar o desligamento normal do sistema operacional pode resultar em perda ou corrompimento de dados (por exemplo, conteúdo da memória não transferido para o disco ou perda de E/S em andamento) ou em scripts de desligamento ignorados.

**Objetivo:** ignorar o desligamento normal do sistema operacional ao parar uma instância.

**Impacto nos dados:** pode resultar em perda ou corrompimento de dados. O conteúdo da memória pode não ser transferido para o disco e as operações de E/S em andamento podem ser perdidas. Pode ignorar scripts de desligamento.

**Quando usar:** quando é necessário ignorar o desligamento normal do sistema operacional. Se usada enquanto uma parada padrão com desligamento normal do sistema operacional estiver em andamento, o desligamento normal do sistema operacional será ignorado.

**nota**  
Ignorar o desligamento normal do sistema operacional é uma ação irreversível para a sessão de transição de estado atual da instância. Uma tentativa de parada padrão subsequente durante esta sessão não tentará um desligamento normal do sistema operacional. 

## Forçar a parada
<a name="ec2-instance-force-stop"></a>

O método de forçar a parada é usado para lidar com instâncias que estão presas no estado `stopping`. Normalmente, uma instância fica paralisada devido a um problema de hardware subjacente (indicado por uma falha na [verificação do status do sistema](monitoring-system-instance-status-check.md#system-status-checks)).

O método de parada forçada primeiro tenta realizar uma parada padrão. Se a instância permanecer presa no estado `stopping`, o parâmetro `force` encerrará a instância à força e fará a transição da instância para o estado `stopped`, conforme indicado no diagrama a seguir:

![\[Fluxo de parada forçada\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/stop-instance-flow-2.png)


**Objetivo:** lida com instâncias bloqueadas no estado `stopping`. Tenta primeiro uma parada padrão. Se a instância não for interrompida, ela será desligada à força.

**Impacto nos dados:** tenta primeiro uma parada padrão, mas se a parada forçada continuar, isso pode causar perda ou corrompimento de dados. Em casos raros, resulta em gravações pós-parada em volumes do EBS ou em outros recursos compartilhados.

**Quando usar:** segunda tentativa de parada quando uma instância permanece travada após uma parada padrão. Para obter mais informações, consulte [Solucionar problemas de interrupção de instâncias do Amazon EC2](TroubleshootingInstancesStopping.md).

## Forçar a parada com ignorar o desligamento do sistema operacional
<a name="ec2-instance-force-stop-with-skip-os-shutdown"></a>

Quando forçar a parada e ignorar o desligamento normal do sistema operacional são necessários, o método de forçar a parada com ignorar desligamento do sistema operacional pode ser usado para levar uma instância ao estado `stopped`, conforme ilustrado no diagrama a seguir:

![\[Fluxo de forçar a parada com ignorar o desligamento do sistema operacional\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/stop-instance-flow-4.png)


**Objetivo:** combina forçar a parada com ignorar o desligamento normal do sistema operacional ao parar uma instância.

**Impacto nos dados:** ignorar o desligamento do sistema operacional pode resultar em perda ou corrompimento de dados. O conteúdo da memória pode não ser transferido para o disco e as operações de E/S em andamento podem ser perdidas. Pode ignorar scripts de desligamento. Se a parada forçada ocorrer, ela poderá causar perda ou corrompimento adicional de dados. Em casos raros, resulta em gravações pós-parada nos volumes do EBS ou em outros recursos compartilhados.

**Quando usar:** quando você quer ter certeza de que sua instância será interrompida e deseja ignorar o desligamento normal do sistema operacional. Se usada enquanto uma parada padrão com desligamento normal do sistema operacional estiver em andamento, o desligamento normal do sistema operacional será ignorado.

## Início e interrupção manuais das instâncias
<a name="starting-stopping-instances"></a>

É possível iniciar e parar instâncias baseadas no Amazon EBS (instâncias com volumes-raiz do EBS). Não é possível iniciar e parar instâncias com um volume-raiz de armazenamento de instância.

Ao usar o método padrão para parar uma instância, uma tentativa de desligamento normal do sistema operacional (SO) é feita. É possível ignorar o desligamento normal do sistema operacional; no entanto, isso pode colocar em risco a integridade dos dados. 

**Atenção**  
Quando você interrompe uma instância, os dados em todos os volumes de armazenamento de instâncias são apagados. Antes de interromper uma instância, verifique se você copiou todos os dados necessários dos volumes de armazenamento de instância para um armazenamento persistente, como o Amazon EBS ou o Amazon S3.

[Instâncias do Linux] Usar o comando **halt** do sistema operacional de 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.

Você pode iniciar um desligamento usando os comandos **shutdown** ou **poweroff** do sistema operacional. Quando você usa um comando do sistema operacional, a instância é interrompida por padrão. É possível alterar esse comportamento. Para obter mais informações, consulte [Alterar comportamento de desligamento iniciado da instância](Using_ChangingInstanceInitiatedShutdownBehavior.md).

**nota**  
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 [Solucionar problemas de interrupção de instâncias do Amazon EC2](TroubleshootingInstancesStopping.md).

**Topics**
+ [Parar uma instância com um desligamento normal do sistema operacional](#stop-instance-with-graceful-os-shutdown)
+ [Parar uma instância e ignorar o desligamento normal do sistema operacional](#stop-instance-bypass-graceful-os-shutdown)
+ [Iniciar uma instância](#start-ec2-instance)

### Parar uma instância com um desligamento normal do sistema operacional
<a name="stop-instance-with-graceful-os-shutdown"></a>

É possível parar uma instância usando o método de parada padrão, que inclui uma tentativa de desligamento normal do sistema operacional. Para obter mais informações, consulte [Parada padrão](instance-stop-methods.md#ec2-instance-default-stop).

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

**Para parar uma instância usando o método padrã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 à esquerda, escolha **Instâncias** e, em seguida, selecione a instância.

1. Escolha **Estado da instância** e **Parar instância**. Se a opção estiver desabilitada, significa que a instância já está interrompida ou que o volume raiz é um armazenamento de instância.

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

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

**Para parar uma instância usando o método padrão**  
Use o comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html).

```
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
```

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

**Para parar uma instância usando o método padrão**  
Use o cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html). 

```
Stop-EC2Instance -InstanceId i-1234567890abcdef0
```

------

### Parar uma instância e ignorar o desligamento normal do sistema operacional
<a name="stop-instance-bypass-graceful-os-shutdown"></a>

É possível ignorar o desligamento normal do sistema operacional ao parar uma instância. Para obter mais informações, consulte [Parada com ignorar o desligamento do sistema operacional](instance-stop-methods.md#ec2-instance-stop-with-skip-os-shutdown).

**Atenção**  
Ignorar o desligamento normal do sistema operacional pode resultar em perda ou corrompimento de dados (por exemplo, conteúdo da memória não transferido para o disco ou perda de E/S em andamento) ou em scripts de desligamento ignorados.

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

**Para parar uma instância e ignorar o desligamento normal do sistema operacional**

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** e selecione a instância.

1. Escolha **Instance state (Estado da instância)** e **Stop instance (Interromper instância)**.

1. Em **Ignorar desligamento do sistema operacional**, marque a caixa de seleção **Ignorar desligamento do sistema operacional**. Se você não vir essa opção no console, isso significa que ela ainda não está disponível no console na região atual. No entanto, você pode acessar esse recurso usando a AWS CLI ou o SDK, ou até mesmo experimentar outra região no console.

1. Escolha **Parar**.

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

**Para parar uma instância e ignorar o desligamento normal do sistema operacional**  
Use o comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) com `--skip-os-shutdown`.

```
aws ec2 stop-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

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

**Para parar uma instância e ignorar o desligamento normal do sistema operacional**  
Use o cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) com `-SkipOsShutdown $true`.

```
Stop-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

### Iniciar uma instância
<a name="start-ec2-instance"></a>

Você pode iniciar uma instância parada.

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

**Para iniciar uma instância**

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 à esquerda, selecione **Instâncias**.

1. Selecione a instância e escolha **Estado da instância** e **Iniciar instância**.

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

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

**Para iniciar uma instância**  
Use o comando [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html).

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

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

**Para iniciar uma instância**  
Use o cmdlet [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## Parar e iniciar instâncias automaticamente
<a name="stop-start-ec2-instances-on-a-schedule"></a>

É 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?](https://repost.aws/knowledge-center/stop-start-instance-scheduler) (Como uso o Instance Scheduler com o CloudFormation para agendar instâncias do EC2?) Observe que [se aplicam outras cobranças](https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/cost.html). 

**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, consulte [Como usar o Lambda para interromper e iniciar instâncias do Amazon EC2 em intervalos regulares?](https://repost.aws/knowledge-center/start-stop-lambda-eventbridge)

**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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/get-started-with-ec2-auto-scaling.html).

## Localizar todas as instâncias em execução e interrompidas
<a name="find-running-and-stopped-instances-in-globalview"></a>

É possível 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](https://console.aws.amazon.com/ec2globalview/home). Isso é útil especialmente para inventariar e localizar instâncias esquecidas. Para obter informações sobre como usar o Visualização Global , consulte [Visualizar recursos entre regiões usando a Visualização Global da AWS](global-view.md).

Como alternativa, você pode executar um comando ou cmdlet em cada região na qual tenha instâncias.

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

**Para obter o número de instâncias do EC2 em uma região**  
Use o seguinte comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) para contar as instâncias na região atual. Você precisa executar esse comando em cada região na qual tenha instâncias.

```
aws ec2 describe-instances \
    --region us-east-2 \
    --query "length(Reservations[].Instances[])"
```

O seguinte é um exemplo de saída.

```
27
```

**Para obter um resumo de informações sobre suas instâncias do EC2 em uma região**  
Use o seguinte comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html). Você precisa executar esse comando em cada região na qual tenha instâncias.

```
aws ec2 describe-instances \
    --region us-east-2 \
    --query "Reservations[].Instances[].[InstanceId,InstanceType,PrivateIpAddress]" \
    --output table
```

O seguinte é um exemplo de saída.

```
---------------------------------------------------------
|                   DescribeInstances                   |
+---------------------+---------------+-----------------+
|  i-0e3e777f4362f1bf7|  t2.micro     |  10.0.12.9      |
|  i-09453945dcf1529e9|  t2.micro     |  10.0.143.213   |
|  i-08fd74f3f1595fdbd|  m7i.4xlarge  |  10.0.1.103     |
+---------------------+---------------+-----------------+
```

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

**Para obter o número de instâncias do EC2 em uma região**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -Region us-east-2).Instances.Length
```

O seguinte é um exemplo de saída.

```
27
```

**Para obter um resumo de informações sobre suas instâncias do EC2 em uma região**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html). Você precisa executar esse comando em cada região na qual tenha instâncias.

```
(Get-EC2Instance).Instances | Select InstanceId, InstanceType, PrivateIpAddress
```

O seguinte é um exemplo de saída.

```
InstanceId          InstanceType PrivateIpAddress
----------          ------------ ----------------
i-0e3e777f4362f1bf7 t2.micro     10.0.12.9
i-09453945dcf1529e9 t2.micro     10.0.143.213
i-08fd74f3f1595fdbd m7i.4xlarge  10.0.1.103
```

------

## Encontrar os horários de execução inicial e mais recente
<a name="find-initial-launch-time"></a>

Quando você descreve uma instância, o horário de execução dela é o mais recente. Depois que você interrompe e inicia uma instância, o horário de execução reflete o horário de início da nova instância. Para descobrir o horário de execução inicial de uma instância, mesmo depois de interrompê-la e iniciá-la, consulte a hora em que a interface de rede primária foi anexada à instância.

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

**Para localizar o horário mais recente de inicialização**  
Selecione a instância e encontre **Hora de inicialização** em **Detalhes da instância** na guia **Detalhes**.

**Para encontrar a hora inicial de inicialização**  
Selecione a instância e encontre a interface de rede primária (o índice do dispositivo é 0) em **Interfaces de rede** na guia **Rede**.

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

**Para encontrar os horários inicial e mais recente de inicialização**  
Use o seguinte comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) para exibir o horário inicial de inicialização e o horário mais recente de inicialização da instância especificada.

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query 'Reservations[].Instances[].{InstanceID:InstanceId,InitialLaunch:NetworkInterfaces[0].Attachment.AttachTime,LastLaunch:LaunchTime}'
```

O seguinte é um exemplo de saída.

```
[
    {
        "InstanceID": "i-1234567890abcdef0",
        "InitialLaunch": "2024-04-19T00:47:08+00:00",
        "LastLaunch": "2024-05-27T06:24:06+00:00"
    }
]
```

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

**Para localizar o horário mais recente de inicialização**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.LaunchTime
```

O seguinte é um exemplo de saída.

```
Monday, May 27, 2024 6:24:06 AM
```

**Para encontrar a hora inicial de inicialização**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.NetworkInterfaces.Attachment.AttachTime
```

O seguinte é um exemplo de saída.

```
Friday, April 19, 2024 12:47:08 AM
```

------

# Habilitar a proteção contra interrupção para as instâncias do EC2
<a name="ec2-stop-protection"></a>

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 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) do Amazon EC2 controla se a instância pode ser interrompida usando o console do Amazon EC2, a AWS CLI ou a API do Amazon EC2. É possível 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.

**Considerações**
+ Habilitar a proteção contra interrupção não impede que você interrompa acidentalmente uma instância iniciando um desligamento da instância com um comando do sistema operacional, como **shutdown** ou **poweroff**.
+ Habilitar a proteção contra interrupção não impede que a AWS interrompa a instância quando houver um [evento programado](monitoring-instances-status-check_sched.md) 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html). 
+ 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 obter mais informações, consulte [Encerramento de instâncias do Amazon EC2](terminating-instances.md).
+ Não é possível habilitar a proteção contra interrupções para uma instância cujo volume raiz seja um armazenamento de instância.
+ 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](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html) no *Guia do desenvolvedor do Amazon EC2*.

**Topics**
+ [Habilitar a proteção contra interrupção de uma instância na inicialização](#enable-stop-protection-at-launch)
+ [Habilitar a proteção contra interrupção de uma instância em execução ou interrompida](#enable-stop-protection-on-running-or-stopped-instance)
+ [Desabilitar a proteção contra interrupção de uma instância em execução ou interrompida](#disable-stop-protection-on-running-or-stopped-instance)

## Habilitar a proteção contra interrupção de uma instância na inicialização
<a name="enable-stop-protection-at-launch"></a>

É possível habilitar a proteção contra interrupções de uma instância ao inicializá-la.

------
#### [ 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/](https://console.aws.amazon.com/ec2/).

1. No painel, escolha **Executar instância**.

1. Configure sua instância no [novo assistente de inicialização de instância](ec2-launch-instance-wizard.md).

1. 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para inicializar a instância. Adicione o seguinte parâmetro.

```
--disable-api-stop
```

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

**Como habilitar a proteção contra término de uma instância na inicialização**  
Use o cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para inicializar a instância. Adicione o seguinte parâmetro.

```
-DisableApiStop $true
```

------

## Habilitar a proteção contra interrupção de uma instância em execução ou interrompida
<a name="enable-stop-protection-on-running-or-stopped-instance"></a>

É possível habilitar a proteção contra interrupções de uma instância enquanto a instância estiver em execução ou interrompida.

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

**Para habilitar a proteção contra interrupção de uma instância**

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 à esquerda, selecione **Instâncias**.

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

1. Marque a caixa de seleção **Habilitar** e escolha **Salvar**.

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

**Para habilitar a proteção contra interrupção de uma instância**  
Use o comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

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

**Para habilitar a proteção contra interrupção de uma instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $true
```

------

## Desabilitar a proteção contra interrupção de uma instância em execução ou interrompida
<a name="disable-stop-protection-on-running-or-stopped-instance"></a>

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/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação à esquerda, selecione **Instâncias**.

1. 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).

1. Desmarque a caixa de seleção **Habilitar** e escolha **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](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

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

**Para desabilitar a proteção contra interrupção de uma instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $false
```

------

# Hibernar sua instância do Amazon EC2
<a name="Hibernate"></a>

Ao hibernar uma instância, o Amazon EC2 indica a realização da hibernação (suspend-to-disk) ao sistema operacional. A hibernação salva os conteúdos da memória da instância (RAM) para o volume raiz do Amazon Elastic Block Store (Amazon EBS). O Amazon EC2 persiste o volume raiz do EBS e todos os volumes de dados do EBS anexados. Quando a instância é iniciada:
+ O volume raiz do EBS é restaurado para seu estado anterior
+ Os conteúdos da RAM são recarregados
+ Os processos que estavam em execução anteriormente na instância são retomados
+ Os volumes de dados anexados anteriormente são reanexados e a instância conserva seu ID de instância.

É possível hibernar uma instância apenas se ela estiver [habilitada para hibernação](enabling-hibernation.md) e atender aos [pré-requisitos de hibernação](hibernating-prerequisites.md).

Se uma instância ou aplicação levar muito tempo para o bootstrap e criar um espaço de memória para se tornar totalmente produtivo, será possível usar a hibernação para preaquecer a instância. Para pré-aquecer a instância:

1. Execute-a com a hibernação habilitada.

1. Coloque-a em um estado desejado.

1. Deixe-a em hibernação para que ela fique pronta para ser retomada no estado desejado sempre que necessário.

Você não terá cobranças pelo uso de uma instância em hibernação quando ela estiver no estado `stopped` ou pela transferência de dados quando o conteúdo da RAM for transferido para o volume raiz do EBS. Você terá cobranças pelo armazenamento de quaisquer volumes do EBS, incluindo o armazenamento de conteúdo da RAM.

Se não precisar mais de uma instância, é possível encerrá-la a qualquer momento, incluindo quando ela está em um estado `stopped` (em hibernação). Para obter mais informações, consulte [Encerramento de instâncias do Amazon EC2](terminating-instances.md).

**Topics**
+ [Como funciona](instance-hibernate-overview.md)
+ [Pré-requisitos](hibernating-prerequisites.md)
+ [Configurar uma AMI para oferecer suporte à hibernação](hibernation-enabled-AMI.md)
+ [Habilitar hibernação da instância](enabling-hibernation.md)
+ [Desabilitar o KASLR em uma instância (apenas Ubuntu)](hibernation-disable-kaslr.md)
+ [Hibernar uma instância](hibernating-instances.md)
+ [Iniciar um instância em hibernação](hibernating-resuming.md)
+ [Solução de problemas](troubleshoot-instance-hibernate.md)

# Como a hibernação de instâncias do Amazon EC2 funciona
<a name="instance-hibernate-overview"></a>

O diagrama a seguir mostra uma visão geral básica do processo de hibernação para instâncias do EC2.

![\[Visão geral do fluxo de hibernação.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/hibernation-flow.png)


## O que acontece quando uma instância é colocada em hibernação
<a name="how-instance-hibernation-works"></a>

Quando uma instância é colocada em hibernação, o seguinte acontece:
+ O instância entrará no estado `stopping`. O Amazon EC2 sinaliza o sistema operacional para realizar a hibernação (suspend-to-disk). A hibernação congela todos os processos, salva o conteúdo da RAM no volume raiz do EBS e, depois, executa um desligamento normal.
+ Quando o desligamento é concluído, a instância muda para o estado `stopped`.
+ Todos os volumes do EBS permanecem anexados à instância, e seus dados são mantidos, incluindo o conteúdo salvo da RAM.
+ Todos os volumes de armazenamento de instâncias do Amazon EC2 permanecem associados à instância, mas os dados nos volumes de armazenamento de instância são perdidos.
+ Na maioria dos casos, a instância é migrada para um novo computador host subjacente quando ele é iniciado. Isso também acontece ao interromper e iniciar uma instância.
+ Quando a instância é iniciada, ela é carregada e o sistema operacional lê o conteúdo da RAM no volume raiz do EBS antes de descongelar os processos para retomar ao seu estado.
+ A instância retém seus endereços IPv4 privados e todos os endereços IPv6. Quando a instância é iniciada, ela continua a reter os endereços IPv4 privados e todos os endereços IPv6.
+ O Amazon EC2 libera o endereço IPv4 público. Quando a instância é iniciada, o Amazon EC2 atribui a ela um novo endereço IPv4 público.
+ A instância retém os endereços IP elásticos associados. Você é cobrado por todos os endereços IP elásticos associados a uma instância em hibernação.

Para obter informações sobre como a hibernação difere da reinicialização, da interrupção e do encerramento, consulte [Diferenças entre os estados de instâncias](ec2-instance-lifecycle.md#lifecycle-differences).

## Limitações
<a name="instance-hibernate-limitations"></a>
+ Quando você hiberna uma instância, os dados em todos os volumes de armazenamento de instâncias são perdidos.
+ (Instâncias do Linux) Não é possível hibernar uma instância do Linux com mais de 150 GiB de RAM.
+ (Instâncias do Windows) Não é possível hibernar uma instância do Windows com mais de 16 GiB de RAM.
+ Enquanto sua instância está hibernando, você não pode modificá-la. Isso é diferente para uma instância parada que não está hibernando, na qual você pode modificar certos atributos, como o tipo ou o tamanho da instância.
+ Se você criar um snapshot ou uma AMI a partir de uma instância que está hibernada ou que tenha hibernação habilitada, talvez não consiga se conectar a uma nova instância iniciada a partir da AMI ou de uma AMI criada pelo snapshot.
+ (Apenas instâncias spot) Se o Amazon EC2 colocar sua instância spot em hibernação, somente o Amazon EC2 poderá reiniciá-la. Se você mesmo colocar a instância spot em hibernação ([hibernação iniciada pelo usuário](hibernating-instances.md)), poderá reiniciá-la. Uma instância spot colocada em hibernação só poderá ser reiniciada se houver capacidade disponível e se o preço spot for menor ou igual ao preço máximo especificado.
+ Não é possível hibernar uma instância que está em um grupo do Auto Scaling ou é usada pelo Amazon ECS. Se sua instância estiver em um grupo do Auto Scaling, e você tentar hiberná-la, o serviço Amazon EC2 Auto Scaling marcará a instância interrompida como não íntegra e poderá encerrá-la e executar uma instância substituta. Para obter mais informações, consulte [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) no *Amazon EC2 Auto Scaling User Guide*.
+ Não é possível efetuar a hibernação de uma instância configurada para inicializar no modo UEFI com o [UEFI Secure Boot](uefi-secure-boot.md) habilitado.
+ Se você hibernar uma instância que foi executada em um Reserva de capacidade, o Reserva de capacidade não garante que a instância hibernada possa retornar depois de tentar iniciá-la.
+ Você não pode hibernar uma instância que usa um kernel abaixo de 5.10 se o modo Federal Information Processing Standard (FIPS) estiver ativado.
+ Não oferecemos suporte à manutenção de uma instância em hibernação por mais de 60 dias. Para manter a instância por mais que 60 dias, inicie, interrompa e inicialize a instância em hibernação.
+ Atualizamos constantemente nossa plataforma com atualizações e patches de segurança, o que entra em conflito com instâncias em hibernação. Notificamos você sobre as atualizações críticas que exijam uma inicialização das instâncias em hibernação para que você possa executar um desligamento ou uma reinicialização para aplicar as atualizações e os patches de segurança necessários.

## Considerações sobre colocar uma instância spot em hibernação
<a name="spot-hibernation-considerations"></a>
+ Se *você* colocar em hibernação a instância spot, poderá reiniciá-la, desde que haja capacidade disponível e o preço spot seja menor ou igual ao preço máximo especificado.
+ Se o *Amazon EC2* colocar a instância spot em hibernação: 
  + Somente o Amazon EC2 poderá reiniciar a instância.
  + O Amazon EC2 reinicia a instância spot que foi colocada em hibernação quando a capacidade fica disponível por um preço spot igual ou inferior ao preço máximo especificado por você.
  + Dois minutos antes que o Amazon EC2 coloque a instância spot em hibernação, você receberá um aviso de interrupção.

  Para obter mais informações, consulte [Interrupções de instâncias spot](spot-interruptions.md).

# Pré-requisitos para a hibernação de instância do EC2
<a name="hibernating-prerequisites"></a>

É possível habilitar o suporte à hibernação para uma instância sob demanda ou uma instância spot ao iniciá-la. Não é possível habilitar a hibernação em uma instância existente, esteja ela em execução ou parada. Para obter mais informações, consulte [Habilitar hibernação da instância](enabling-hibernation.md).

**Topics**
+ [Regiões da AWS](#hibernation-prereqs-regions)
+ [AMIs](#hibernation-prereqs-supported-amis)
+ [Famílias de instâncias](#hibernation-prereqs-supported-instance-families)
+ [Tamanho da instância RAM](#instance-ram-size)
+ [Tipo do volume de raiz](#hibernation-prereqs-root-volume-type)
+ [Tamanho do volume raiz](#hibernation-prereqs-ebs-root-volume-size)
+ [Criptografia do volume raiz](#hibernation-prereqs-ebs-root-volume-encryption)
+ [Tipo de volume do EBS](#hibernation-prereqs-ebs-volume-types)
+ [Solicitações de instância Spot](#hibernation-prereqs-spot-request)

## Regiões da AWS
<a name="hibernation-prereqs-regions"></a>

É possível usar a hibernação com instâncias em todas as Regiões da AWS.

## AMIs
<a name="hibernation-prereqs-supported-amis"></a>

É necessário usar uma AMI do HVM que ofereça suporte à hibernação. As seguintes AMIs oferecem suporte para hibernação:

### AMIs do Linux
<a name="hibernation-prereqs-supported-amis-linux"></a>

**AMIs para tipos de instância Intel e AMD**
+ AMI do AL2023 lançada em 20/09/2023 ou posteriormente ¹
+ AMI do Amazon Linux 2 lançada em 29/08/2019 ou posterior
+ AMI do Amazon Linux 2018.03 lançada em 16/11/2018 ou posterior
+ AMI do CentOS versão 8 ² (uma [configuração adicional](hibernation-enabled-AMI.md#configure-centos-for-hibernation) é necessária)
+ AMI do Fedora versão 34 ou posterior ² (uma [configuração adicional](hibernation-enabled-AMI.md#configure-fedora-for-hibernation) é necessária)
+ AMI do Red Hat Enterprise Linux (RHEL) 9 ² (uma [configuração adicional](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) é necessária)
+ AMI do Red Hat Enterprise Linux (RHEL) 8 ² (uma [configuração adicional](hibernation-enabled-AMI.md#configure-RHEL-for-hibernation) é necessária)
+ AMI do Ubuntu 22.04.2 LTS (Jammy Jellyfish) lançada com o número de série 20230303 ou posterior ³
+ AMI do Ubuntu 20.04 LTS (Focal Fossa) lançada com o número de série 20210820 ou posterior ³
+ AMI do Ubuntu 18.04 LTS (Bionic Beaver) lançada com o número de série 20190722.1 ou posterior ³ ⁵
+ AMI do Ubuntu 16.04 LTS (Xenial Xerus) ³ ⁴ ⁵ (uma [configuração adicional](hibernation-enabled-AMI.md#configure-ubuntu1604-for-hibernation) é necessária)

**AMIs para tipos de instância Graviton**
+ AMI do AL2023 (ARM de 64 bits) lançada em 01/07/2024 ou posteriormente ¹
+ AMI do Amazon Linux 2 (Arm de 64 bits) lançada em 20/6/2024 ou posterior
+ AMI do Ubuntu 22.04.2 LTS (ARM de 64 bits) (Jammy Jellyfish) lançada com o número de série 20240701 ou posterior ³
+ AMI do Ubuntu 20.04 LTS (ARM de 64 bits) (Focal Fossa) lançada com o número de série 20240701 ou posterior ³

 

¹ Para a AMI mínima do AL2023, [é necessária uma configuração adicional](hibernation-enabled-AMI.md#configure-AL2023-minimal-for-hibernation).

² Para CentOS, Fedora e Red Hat Enterprise Linux, a hibernação é compatível apenas com instâncias baseadas em Nitro.

³ Recomendamos desabilitar o KASLR em instâncias com o Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver) e Ubuntu 16.04 LTS (Xenial Xerus). Para obter mais informações, consulte [Desabilitar o KASLR em uma instância (apenas Ubuntu)](hibernation-disable-kaslr.md).

⁴ Para a AMI do Ubuntu 16.04 LTS (Xenial Xerus), a hibernação não é compatível com os tipos de instância `t3.nano`. Nenhum patch será disponibilizado porque o Ubuntu (Xenial Xerus) encerrou o suporte em abril de 2021. Se quiser usar os tipos de instância `t3.nano`, recomendamos que você atualize para a AMI do Ubuntu 22.04.2 LTS (Jammy Jellyfish), a AMI do Ubuntu 20.04 LTS (Focal Fossa) ou a AMI do Ubuntu 18.04 LTS (Bionic Beaver).

⁵ O suporte ao Ubuntu 18.04 LTS (Bionic Beaver) e Ubuntu 16.04 LTS (Xenial Xerus) chegou ao fim da vida útil.

Para configurar sua AMI para oferecer suporte à hibernação, consulte [Configurar uma AMI para oferecer suporte à hibernação](hibernation-enabled-AMI.md).

O suporte para outras versões do Ubuntu e outros sistemas operacionais será disponibilizado em breve.

### AMIs do Windows
<a name="hibernation-prereqs-supported-amis-windows"></a>
+ AMI do Windows Server 2022 lançada em 13/09/2023 ou posterior.
+ AMI do Windows Server 2019 lançada em 11/09/2019 ou posterior.
+ AMI do Windows Server 2016 lançada em 11/09/2019 ou posterior.
+ AMI do Windows Server 2012 R2 lançada em 11/09/2019 ou posterior.
+ AMI do Windows Server 2012 lançada em 11/09/2019 ou posterior.

## Famílias de instâncias
<a name="hibernation-prereqs-supported-instance-families"></a>

É necessário usar uma família de instâncias que ofereça suporte à hibernação. No entanto, não há suporte a instâncias bare metal.
+ Uso geral: M3, M4, M5, M5a, M5ad, M5d, M6a, M6g, M6gd, M6i, M6id, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gd, M8gn, M8i, M8i-flex, T2, T3, T3a, T4g
+ Otimizadas para computação: C3, C4, C5, C5d, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gd, C8gn, C8i, C8i-flex
+ Otimizadas para memória: R3, R4, R5, R5a, R5ad, R5d, R6a, R6g, R6gd, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, R8a, R8g, R8gb, R8gd, R8gn, R8i, R8i-flex, X2gd, X8aedz, X8i
+ Otimizadas para armazenamento: I3, I3en, I4g, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen

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

**Para obter os tipos de instância que oferecem suporte à 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, selecione **Instance Types (Tipos de instância)**.

1. Adicione o filtro **Suporte à hibernação sob demanda = true**.

1. (Opcional) Adicione filtros para ampliar o escopo de tipos específicos de instância de interesse.

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

**Para obter os tipos de instância que oferecem suporte à hibernação**  
Use o comando [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/describe-instance-types/.html). Observe que os tipos de instância disponíveis variam de acordo com a região.

```
aws ec2 describe-instance-types \
    --filters Name=hibernation-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

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

**Para obter os tipos de instância que oferecem suporte à hibernação**  
Use o cmdlet [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html). Observe que os tipos de instância disponíveis variam de acordo com a região.

```
(Get-EC2InstanceType `
    -Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
```

------

## Tamanho da instância RAM
<a name="instance-ram-size"></a>

**Instâncias Linux**: devem ter menos de 150 GiB.

**Instâncias Windows**: devem ser inferiores ou iguais a 16 GiB. Para colocar uma instância T3 ou T3a em hibernação, recomendamos pelo menos 1 GiB de RAM.

## Tipo do volume de raiz
<a name="hibernation-prereqs-root-volume-type"></a>

O volume raiz deve ser um volume do EBS, e não um volume de armazenamento de instâncias.

## Tamanho do volume raiz
<a name="hibernation-prereqs-ebs-root-volume-size"></a>

O volume raiz deve ser grande o suficiente para armazenar o conteúdo da RAM e acomodar o uso esperado, por exemplo, sistema operacional ou aplicações. Quando você habilita a hibernação, é alocado espaço no volume raiz no lançamento para armazenar a RAM.

## Criptografia do volume raiz
<a name="hibernation-prereqs-ebs-root-volume-encryption"></a>

O volume raiz deve ser criptografado para garantir a proteção do conteúdo confidencial existente na memória no momento da hibernação. Quando os dados da RAM são movidos para o volume raiz do EBS, eles sempre são criptografados. A criptografia do volume raiz é imposta na execução da instância.

Use uma das três opções a seguir para garantir que o volume raiz seja um volume criptografado do EBS:
+ **Criptografia do EBS por padrão**: é possível habilitar a criptografia do EBS por padrão para garantir que todos os novos volumes do EBS criados na sua conta da AWS sejam criptografados. Dessa forma, você habilita a hibernação para suas instâncias sem especificar a intenção da criptografia na execução da instância. Para obter mais informações, consulte [Habilitar criptografia por padrão](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html).
+ **Criptografia EBS de uma “única etapa”**: é possível iniciar instâncias do EC2 criptografadas com suporte de EBS a partir de uma AMI não criptografada e, ao mesmo tempo, habilitar a hibernação. Para obter mais informações, consulte [Usar criptografia com AMIs com EBS](AMIEncryption.md).
+ **AMI criptografada**: é possível habilitar a criptografia do EBS usando uma AMI criptografada para iniciar sua instância. Se a sua AMI não tiver um snapshot raiz criptografado, será possível copiá-lo para uma nova AMI e solicitar a criptografia. Para obter mais informações, consulte [Criptografar uma imagem não criptografada durante a cópia](AMIEncryption.md#copy-unencrypted-to-encrypted) e [Copiar um AMI](CopyingAMIs.md#ami-copy-steps).

## Tipo de volume do EBS
<a name="hibernation-prereqs-ebs-volume-types"></a>

Os volumes do EBS devem usar um dos seguintes tipos de volume do EBS:
+ SSD para uso geral (`gp2` e `gp3`)
+ IOPS provisionado SSD (`io1` e `io2`)

Se você escolher um tipo de volume SSD de IOPS Provisionado SSD, você deverá provisionar o volume do EBS com as IOPS apropriadas para alcançar a performance ideal para hibernação. Para obter mais informações, consulte [Tipos de volumes do Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) no *Guia do usuário do Amazon EC2*.

## Solicitações de instância Spot
<a name="hibernation-prereqs-spot-request"></a>

Os seguintes requisitos se aplicam a instâncias spot:
+ O tipo de solicitação da instância spot deve ser `persistent`.
+ Não é possível especificar um grupo de execução na solicitação de instância spot.

# Configurar uma AMI para oferecer suporte à hibernação
<a name="hibernation-enabled-AMI"></a>

As seguintes AMIs do Linux podem oferecer suporte à hibernação de uma instância do Amazon EC2, desde que você conclua as etapas adicionais de configuração descritas nesta seção.

**Topics**
+ [AMI do AL2023 mínima lançada em 20/09/2023 ou posteriormente](#configure-AL2023-minimal-for-hibernation)
+ [AMI do Amazon Linux 2 mínima lançada em 29/08/2019 ou posterior](#configure-AL2-minimal-for-hibernation)
+ [Amazon Linux 2 lançado antes de 29/08/2019](#configure-AL2-for-hibernation)
+ [Amazon Linux lançado antes de 16/11/2018](#configure-AL-for-hibernation)
+ [CentOS versão 8 ou posterior](#configure-centos-for-hibernation)
+ [Fedora versão 34 ou posterior](#configure-fedora-for-hibernation)
+ [Red Hat Enterprise Linux versão 8 ou 9](#configure-RHEL-for-hibernation)
+ [Ubuntu 20.04 LTS (Focal Fossa) liberado antes do número de série 20210820](#configure-ubuntu2004-for-hibernation)
+ [Ubuntu 18.04 (Bionic Beaver) lançado antes do número de série 20190722.1](#configure-ubuntu1804-for-hibernation)
+ [Ubuntu 16.04 (Xenial Xerus)](#configure-ubuntu1604-for-hibernation)

Para as AMIs do Linux e do Windows que oferecem suporte à hibernação e para as quais *nenhuma configuração adicional* é necessária, consulte [AMIs](hibernating-prerequisites.md#hibernation-prereqs-supported-amis).

Para obter mais informações, consulte [Update instance software on your Amazon Linux 2 instance](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html).

## AMI do AL2023 mínima lançada em 20/09/2023 ou posteriormente
<a name="configure-AL2023-minimal-for-hibernation"></a>

**Para configurar uma AMI do AL2023 mínima lançada em 20/09/2023 ou posteriormente e permitir hibernação**

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. Reinicie o serviço .

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## AMI do Amazon Linux 2 mínima lançada em 29/08/2019 ou posterior
<a name="configure-AL2-minimal-for-hibernation"></a>

**Para configurar uma AMI do Amazon Linux 2 mínima lançada antes de 29/08/2019 para permitir hibernação**

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Reinicie o serviço .

   ```
   [ec2-user ~]$ sudo systemctl start hibinit-agent
   ```

## Amazon Linux 2 lançado antes de 29/08/2019
<a name="configure-AL2-for-hibernation"></a>

**Como configurar uma AMI do Amazon Linux 2 lançada antes de 29/08/2019 para suportar hibernação**

1. Atualize o kernel para `4.14.138-114.102` ou posterior.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.14.138-114.102` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Interrompa a instância e crie uma AMI. Para obter mais informações, consulte [Criação de uma AMI baseada no Amazon EBS](creating-an-ami-ebs.md).

## Amazon Linux lançado antes de 16/11/2018
<a name="configure-AL-for-hibernation"></a>

**Para configurar uma AMI do Amazon Linux lançada antes de 16/11/2018 para oferecer suporte à hibernação**

1. Atualize o kernel para `4.14.77-70.59` ou posterior.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.14.77-70.59` ou maior.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Interrompa a instância e crie uma AMI. Para obter mais informações, consulte [Criação de uma AMI baseada no Amazon EBS](creating-an-ami-ebs.md).

## CentOS versão 8 ou posterior
<a name="configure-centos-for-hibernation"></a>

**Para configurar uma AMI do CentOS versão 8 ou posterior para suportar hibernação**

1. Atualize o kernel para `4.18.0-305.7.1.el8_4.x86_64` ou posterior.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Instale o repositório Fedora Extra Packages for Enterprise Linux (EPEL).

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Habilite o agente de hibernação para iniciar na inicialização.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.18.0-305.7.1.el8_4.x86_64` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

## Fedora versão 34 ou posterior
<a name="configure-fedora-for-hibernation"></a>

**Para configurar uma AMI do Fedora versão 34 ou posterior para suportar hibernação**

1. Atualize o kernel para `5.12.10-300.fc34.x86_64` ou posterior.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo dnf install ec2-hibinit-agent
   ```

1. Habilite o agente de hibernação para iniciar na inicialização.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `5.12.10-300.fc34.x86_64` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

## Red Hat Enterprise Linux versão 8 ou 9
<a name="configure-RHEL-for-hibernation"></a>

**Para configurar uma AMI do Red Hat Enterprise Linux 8 ou 9 para suportar hibernação**

1. Atualize o kernel para `4.18.0-305.7.1.el8_4.x86_64` ou posterior.

   ```
   [ec2-user ~]$ sudo yum update kernel
   ```

1. Instale o repositório Fedora Extra Packages for Enterprise Linux (EPEL).

   Versão 8 da RHEL:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
   ```

   Versão 9 da RHEL:

   ```
   [ec2-user ~]$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo yum install ec2-hibinit-agent
   ```

1. Habilite o agente de hibernação para iniciar na inicialização.

   ```
   [ec2-user ~]$ sudo systemctl enable hibinit-agent.service
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.18.0-305.7.1.el8_4.x86_64` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

## Ubuntu 20.04 LTS (Focal Fossa) liberado antes do número de série 20210820
<a name="configure-ubuntu2004-for-hibernation"></a>

**Para configurar uma AMI do Ubuntu 20.04 LTS (Focal Fossa) lançada antes do número de série 20210820 para ser compatível com hibernação**

1. Atualize o linux-aws-kernel para `5.8.0-1038.40` ou posterior, e grub2 para `2.04-1ubuntu26.13` ou posterior.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `5.8.0-1038.40` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

1. Confirme se a versão do grub2 está atualizada para `2.04-1ubuntu26.13` ou posterior.

   ```
   [ec2-user ~]$ dpkg --list | grep grub2-common
   ```

## Ubuntu 18.04 (Bionic Beaver) lançado antes do número de série 20190722.1
<a name="configure-ubuntu1804-for-hibernation"></a>

**Para configurar uma AMI do Ubuntu 18.04 LTS lançada antes do número de série 20190722.1 para suportar hibernação**

1. Atualize o kernel para `4.15.0-1044` ou posterior.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt dist-upgrade
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.15.0-1044` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

## Ubuntu 16.04 (Xenial Xerus)
<a name="configure-ubuntu1604-for-hibernation"></a>

Para configurar o Ubuntu 16.04 LTS para ser compatível com a hibernação, é necessário instalar o pacote do kernel linux-aws-hwe versão 4.15.0-1058-aws ou posterior e o agente ec2-hibint.

**Importante**  
O pacote do kernel `linux-aws-hwe` é totalmente compatível com o Canonical. O suporte padrão para o Ubuntu 16.04 LTS terminou em abril de 2021, e o pacote não recebe mais atualizações regulares. No entanto, ele receberá atualizações de segurança adicionais até que o suporte de Manutenção de segurança estendida termine em 2024. Para obter mais informações, consulte [Amazon EC2 Hibernation for Ubuntu 16.04 LTS now available](https://ubuntu.com/blog/amazon-ec2-hibernation-for-ubuntu-16-04-lts-now-available) no blog do Canonical Ubuntu.  
Recomendamos que você atualize para a AMI do Ubuntu 20.04 LTS (Focal Fossa) ou a AMI do Ubuntu 18.04 LTS (Bionic Beaver).

**Como configurar uma AMI do Ubuntu 16.04 LTS para que seja compatível com a hibernação**

1. Atualize o kernel para `4.15.0-1058-aws` ou posterior.

   ```
   [ec2-user ~]$ sudo apt update
   [ec2-user ~]$ sudo apt install linux-aws-hwe
   ```

1. Instale o pacote `ec2-hibinit-agent` dos repositórios.

   ```
   [ec2-user ~]$ sudo apt install ec2-hibinit-agent
   ```

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. Confirme se a versão do kernel está atualizada para `4.15.0-1058-aws` ou posterior.

   ```
   [ec2-user ~]$ uname -a
   ```

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

------

# Desabilitar o KASLR em uma instância (apenas Ubuntu)
<a name="hibernation-disable-kaslr"></a>

Para executar a hibernação em uma instância recém-executada com o Ubuntu 16.04 LTS (Xenial Xerus), o Ubuntu 18.04 LTS (Bionic Beaver) lançado com o número de série 20190722.1 ou posterior ou o Ubuntu 20.04 LTS (Focal Fossa) lançado com o número de série 20210820 ou posterior, recomendamos desabilitar o KASLR (Kernel Address Space Layout Randomization). No Ubuntu 16.04 LTS, Ubuntu 18.04 LTS ou Ubuntu 20.04 LTS, o KASLR é habilitado por padrão.

O KASLR é um recurso de segurança do kernel padrão do Linux que ajuda a mitigar as ramificações de e a exposição e às vulnerabilidades de acesso à memória ainda não descobertas por randomização do valor base do endereço do kernel. Com o KASLR habilitado, há uma possibilidade de a instância não ser retomada depois de ter estado em hibernação.

Para saber mais sobre o KASLR, consulte [Recursos do Ubuntu](https://wiki.ubuntu.com/Security/Features).

**Para desabilitar o KASLR em uma instância executada com o Ubuntu**

1. Conecte-se à sua instância usando SSH. Para obter mais informações, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).

1. Abra o arquivo `/etc/default/grub.d/50-cloudimg-settings.cfg` com seu editor de preferência. Edite a linha `GRUB_CMDLINE_LINUX_DEFAULT` para anexar a opção `nokaslr` no final, conforme mostrado no exemplo a seguir.

   ```
   GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 nokaslr"
   ```

1. Salve o arquivo e saia do editor.

1. Execute o comando a seguir para recompilar a configuração do grub.

   ```
   sudo update-grub
   ```

1. Reinicialize a instância.

   ```
   sudo reboot
   ```

1. Execute o seguinte comando para confirmar que `nokaslr` foi adicionado.

   ```
   cat /proc/cmdline
   ```

   A saída do comando deve incluir a opção `nokaslr`.

# Hibernar uma instância do Amazon EC2
<a name="hibernating-instances"></a>

Será possível iniciar a hibernação em uma instância sob demanda ou de uma instância spot se a instância for baseada em EBS, estiver [habilitada para hibernação](enabling-hibernation.md) e atender aos [pré-requisitos para hibernação](hibernating-prerequisites.md). Se uma instância não puder hibernar com sucesso, ocorrerá um desligamento normal.

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

**Para hibernar uma instância**

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 uma instância e escolha **Instance state (Estado da instância)** e **Hibernate instance (Hibernar instância)**. Se **Hibernate instance (Hibernar instância)** estiver desabilitado, a instância já estará em hibernação ou interrompida ou não poderá ser hibernada. Para obter mais informações, consulte [Pré-requisitos para a hibernação de instância do EC2](hibernating-prerequisites.md).

1. Quando a confirmação for solicitada, escolha **Hibernate (Hibernar)**. Pode demorar alguns minutos para que a instância hiberne. O estado da instância primeiro muda para **Interrompendo** e, em seguida, muda para **Interrompido** quando a instância tiver hibernado.

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

**Para hibernar uma instância**  
Use o comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) e especifique o parâmetro `--hibernate`.

```
aws ec2 stop-instances \
    --instance-ids i-1234567890abcdef0 \
    --hibernate
```

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

**Para hibernar uma instância**  
Use o cmdlet [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html).

```
Stop-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -Hibernate $true
```

------

É possível verificar se a hibernação foi iniciada em uma instância.

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

**Para visualizar se a hibernação foi iniciada em uma instância**

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 **Detalhes**, na seção **Detalhes da instância)**, verifique o valor de **Mensagem de transição de estado**.

   **Client.UserInitiatedHibernate: hibernação iniciada pelo usuário** indica que você iniciou a hibernação da instância sob demanda ou da instância spot.

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

**Para visualizar se a hibernação foi iniciada em uma instância**  
Use o comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) e especifique o filtro `state-reason-code` para ver as instâncias nas quais a hibernação foi iniciada.

```
aws ec2 describe-instances \
    --filters "Name=state-reason-code,Values=Client.UserInitiatedHibernate"
```

O campo da saída a seguir indica que a hibernação foi iniciada na instância sob demanda ou na instância spot.

```
"StateReason": {
    "Code": "Client.UserInitiatedHibernate"
}
```

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

**Para visualizar se a hibernação foi iniciada em uma instância**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) e especifique o filtro `state-reason-code` para ver as instâncias nas quais a hibernação foi iniciada.

```
Get-EC2Instance `
    -Filter @{Name="state-reason-code";Value="Client.UserInitiatedHibernate"}
```

------

# Iniciar um instância do Amazon EC2 em hibernação
<a name="hibernating-resuming"></a>

Inicie uma instância em hibernação da mesma maneira como faria em uma instância interrompida.

Para instâncias spot, se o Amazon EC2 colocou a instância em hibernação, só Amazon EC2 poderá reiniciá-la. Você só poderá reiniciar uma instância spot em hibernação se tiver sido *você* que a colocou em hibernação. Instâncias spot colocadas em hibernação só poderão ser reiniciadas se houver capacidade disponível e se o preço spot for menor ou igual ao preço máximo especificado.

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

**Para iniciar um instância em 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 uma instância em hibernação e escolha **Instance state (Estado da instância)** e **Start instance (Iniciar instância)**. Pode demorar alguns minutos para que a instância entre no estado `running`. Durante esse tempo, as [verificações de status](monitoring-system-instance-status-check.md#types-of-instance-status-checks) da instância mostram a instância em um estado de falha até que a instância seja iniciada.

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

**Para iniciar um instância em hibernação**  
Use o comando [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html).

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

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

**Para iniciar um instância em hibernação**  
Use o cmdlet [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html).

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

# Solucionar problemas de hibernação de instâncias do Amazon EC2
<a name="troubleshoot-instance-hibernate"></a>

Use estas informações para ajudar a diagnosticar e corrigir problemas que podem ser encontrados ao hibernar uma instância.

**Topics**
+ [Não é possível hibernar imediatamente após a execução](#hibernate-troubleshooting-1)
+ [A transição de stopping para stopped demora muito tempo, e o estado da memória não é restaurado depois da execução](#hibernate-troubleshooting-2)
+ [A instância está "presa" no estado stopping](#hibernate-troubleshooting-3)
+ [Não é possível iniciar a instância spot imediatamente após a hibernação](#hibernate-troubleshooting-4)
+ [Falha ao retomar instâncias spot](#hibernate-troubleshooting-5)

## Não é possível hibernar imediatamente após a execução
<a name="hibernate-troubleshooting-1"></a>

Você receberá uma mensagem de erro se tentar hibernar uma instância muito rapidamente depois de executá-la.

Após iniciar a execução, aguarde cerca de dois minutos para instâncias do Linux e cerca de cinco minutos para instâncias do Windows para hiberná-las.

## A transição de stopping para stopped demora muito tempo, e o estado da memória não é restaurado depois da execução
<a name="hibernate-troubleshooting-2"></a>

Quando demora muito tempo para que a instância em hibernação faça a transição do estado `stopping` para `stopped`, e se o estado da memória não é restaurado depois da execução, isso pode indicar que a hibernação não foi configurada corretamente.

**Instâncias do Linux**

Verifique o log do sistema da instância e procure as mensagens relacionadas à hibernação. Para acessar o log do sistema, [conecte-se](connect-to-linux-instance.md) à instância ou use o comando [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html). Localize as linhas do log no `hibinit-agent`. Se as linhas do log indicarem uma falha ou se não houver linhas no log, muito provavelmente terá ocorrido uma falha na configuração da hibernação na execução.

Por exemplo, a seguinte mensagem indica que o volume raiz da instância não é grande o suficiente: `hibinit-agent: Insufficient disk space. Cannot create setup for hibernation. Please allocate a larger root device.`

Se a última linha do log no `hibinit-agent` for `hibinit-agent: Running: swapoff /swap`, a hibernação foi configurada com êxito.

Se você não vir nenhum log desses processos, talvez sua AMI não ofereça suporte à hibernação. Para obter informações sobre as AMIs compatíveis, consulte [Pré-requisitos para a hibernação de instância do EC2](hibernating-prerequisites.md). Se você usou sua própria AMI do Linux, certifique-se de seguir as instruções para [Configurar uma AMI para oferecer suporte à hibernação](hibernation-enabled-AMI.md).

**Windows Server 2016 e posterior**  
Verifique o log de execução do EC2 e procure mensagens relacionadas à hibernação. Para acessar o log de execução do EC2, [conecte-se](connecting_to_windows_instance.md) à instância e abra o arquivo `C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log` em um editor de texto. Se você estiver usando EC2Launch v2, abra `C:\ProgramData\Amazon\EC2Launch\log\agent.log`.

**nota**  
Por padrão, o Windows oculta os arquivos e as pastas sob `C:\ProgramData`. Para visualizar os diretórios e os arquivos do EC2, insira o caminho no Windows Explorer ou altere as propriedades da pasta para visualizar os arquivos e as pastas ocultos.

Localize as linhas do log para hibernação. Se as linhas do log indicarem uma falha ou se não houver linhas no log, muito provavelmente terá ocorrido uma falha na configuração da hibernação na execução.

Por exemplo, a seguinte mensagem indica que a hibernação falhou na configuração: `Message: Failed to enable hibernation.` Se a mensagem de erro incluir valores ASCII decimais, será possível converter os valores ASCII em texto simples para ler a mensagem de erro completa.

Se a linha do log contiver `HibernationEnabled: true`, a hibernação terá sido configurada com êxito.

**Windows Server 2012 R2 e anteriores**  
Verifique o log de configuração do EC2 e procure mensagens relacionadas à hibernação. Para acessar o log de configuração do EC2, [conecte-se](connecting_to_windows_instance.md) à instância e abra o arquivo `C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt` em um editor de texto. Localize as linhas do log para `SetHibernateOnSleep`. Se as linhas do log indicarem uma falha ou se não houver linhas no log, muito provavelmente terá ocorrido uma falha na configuração da hibernação na execução.

Por exemplo, a seguinte mensagem indica que o volume raiz da instância não é grande o suficiente: `SetHibernateOnSleep: Failed to enable hibernation: Hibernation failed with the following error: There is not enough space on the disk.`

Se a linha do log for `SetHibernateOnSleep: HibernationEnabled: true`, a hibernação terá sido configurada com êxito.

**Tamanho da instância do Windows**  
Se você estiver usando uma instância do Windows T3 ou T3a com menos de 1 GiB de RAM, tente aumentar o tamanho da instância para uma que tenha pelo menos 1 GiB de RAM.

## A instância está "presa" no estado stopping
<a name="hibernate-troubleshooting-3"></a>

Se você tiver hibernado sua instância e ela aparentar estar "presa" no estado `stopping`, será possível interrompê-la à força. Para obter mais informações, consulte [Solucionar problemas de interrupção de instâncias do Amazon EC2](TroubleshootingInstancesStopping.md).

## Não é possível iniciar a instância spot imediatamente após a hibernação
<a name="hibernate-troubleshooting-4"></a>

Se você tentar iniciar uma instância spot até dois minutos após colocá-la em hibernação, poderá receber o seguinte erro:

`You failed to start the Spot Instance because the associated Spot Instance request is not in an appropriate state to support start.`

Aguarde cerca de dois minutos para as instâncias do Linux e cerca de cinco minutos para as instâncias do Windows e tente iniciar a instância novamente.

## Falha ao retomar instâncias spot
<a name="hibernate-troubleshooting-5"></a>

Se a instância spot foi colocada em hibernação com sucesso, mas não foi possível retomá-la e, em vez disso, ela foi reinicializada (uma nova inicialização em que o estado de hibernação não é retido), talvez os dados do usuário contivessem o seguinte script:

```
/usr/bin/enable-ec2-spot-hibernation
```

Remova esse script do campo **Dados de usuário** no modelo de inicialização e solicite uma nova instância spot.

Observe que, mesmo havendo falha ao retomar a instância, se o estado de hibernação não for preservado, a instância ainda poderá ser iniciada da mesma forma que aconteceria se ela estivesse no estado `stopped`.

# Reinicializar uma instância do Amazon EC2
<a name="ec2-instance-reboot"></a>

Reinicializar a instância equivale a reinicializar o sistema operacional. Na maioria dos casos, leva apenas alguns minutos para reinicializar sua instância.

Quando você reinicializa uma instância, ela mantém o seguinte:
+ Nome DNS público (IPv4)
+ Endereço IPv4 privado
+ Endereço IPv4 público
+ Endereço IPv6 (se aplicável)
+ Todos os dados em seus volumes de armazenamento de instância

A reinicialização de uma instância não inicia um novo período de faturamento de instância, ao contrário de [interromper e iniciar](Stop_Start.md) uma instância (que inicia um novo período de faturamento com uma cobrança mínima de um minuto).

A reinicialização da instância pode ser iniciada pelo usuário (quando você a reinicializa manualmente) ou iniciada pela AWS (para recuperação automática da instância ou em resposta a um evento de reinicialização programado para manutenção necessária, por exemplo, para aplicar atualizações que exijam reinicialização).

Para reinicializações iniciadas pelo usuário, recomendamos usar o console do Amazon EC2, a CLI ou a API em vez de executar o comando de reinicialização do sistema operacional na instância. Ao usar o Amazon EC2, se a instância não for desligada de maneira limpa em alguns minutos, o Amazon EC2 realizará uma reinicialização forçada. Além disso, o AWS CloudTrail cria um registro de API de quando a instância foi reinicializada.

Este tópico descreve como realizar uma reinicialização iniciada pelo usuário. Para obter informações sobre reinicializações realizadas pela AWS, consulte [Recuperação automática de instâncias](ec2-instance-recover.md) e [Gerenciamento das instâncias do Amazon EC2 agendadas para reinicialização](schedevents_actions_reboot.md).

**Importante**  
Se houver atualizações sendo instaladas em sua instância, recomendamos não reiniciar ou fechar sua instância usando o console do Amazon EC2 ou a linha de comando até que todas as atualizações estejam instaladas. Ao usar o console ou a linha de comando Amazon EC2 para reinicializar ou fechar sua instância, há risco que sua instância seja reinicializada forçadamente. Uma "hard reboot" enquanto as atualizações estão sendo instaladas poderia colocar suas instâncias em um estado instável.

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

**Como reinicializar uma instância**

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 escolha **Instance State** (Estado da instância), **Reboot instance** (Reinicializar a instância).

1. Escolha **Reboot (Reinicializar)** quando a confirmação for solicitada.

   A instância permanecerá no estado `running`.

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

**Para reinicializar uma instância**  
Use o comando [reboot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html).

```
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0
```

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

**Como reinicializar uma instância**  
Use o cmdlet [Restart-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html).

```
Restart-EC2Instance -InstanceId i-1234567890abcdef0
```

------

**Para executar um experimento controlado de injeção de falha**  
É possível usar o AWS Fault Injection Service para testar como suas aplicações respondem quando sua instância é reinicializada. Para obter mais informações, consulte o [Guia do usuário da AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

# Encerramento de instâncias do Amazon EC2
<a name="terminating-instances"></a>

**Atenção**  
**O encerramento de uma instância é permanente e irreversível.**  
Depois de encerrar uma instância, não será mais possível se conectar a ela e ela não poderá ser recuperada. Todos os volumes anexados do Amazon EBS configurados para serem excluídos no encerramento também serão excluídos permanentemente e não poderão ser recuperados. Todos os dados armazenados em volumes de armazenamento de instância serão perdidos permanentemente. Para obter mais informações, consulte [Como funciona o encerramento de uma instância](how-ec2-instance-termination-works.md).  
Antes de encerrar uma instância, certifique-se de ter feito backup de todos os dados que você precise reter após o encerramento no armazenamento persistente.

É possível 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.

Não é possível conectar-se a uma instância ou iniciá-la depois de interrompê-la. No entanto, é possível executar novas instâncias usando a mesma AMI.

Se você preferir interromper ou hibernar a instância, consulte [Início e interrupção de instâncias do Amazon EC2](Stop_Start.md) ou [Hibernar sua instância do Amazon EC2](Hibernate.md). Para obter mais informações, consulte [Diferenças entre os estados de instâncias](ec2-instance-lifecycle.md#lifecycle-differences).

**Topics**
+ [Como funciona o encerramento de uma instância](how-ec2-instance-termination-works.md)
+ [Métodos para encerrar uma instância](instance-terminate-methods.md)
+ [Encerrar uma instância com um desligamento normal do sistema operacional](#terminating-instances-console)
+ [Encerrar uma instância e ignorar o desligamento normal do sistema operacional](#terminating-instances-bypass-graceful-os-shutdown)
+ [Solucionar problemas de encerramento da instância](#troubleshoot-instance-terminate)
+ [Alterar proteção contra encerramento de instância](Using_ChangingDisableAPITermination.md)
+ [Alterar comportamento de desligamento iniciado da instância](Using_ChangingInstanceInitiatedShutdownBehavior.md)
+ [Preservação de dados quando uma instância for encerrada](preserving-volumes-on-termination.md)

# Como funciona o encerramento de uma instância
<a name="how-ec2-instance-termination-works"></a>

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

O diagrama apresentado a seguir mostra o que é perdido e o que persiste quando uma instância do Amazon EC2 é encerrada. Quando uma instância é encerrada, os dados em quaisquer volumes de armazenamento de instância e os dados armazenados na RAM da instância são apagados. Todos os endereços IP elásticos associados à instância são desanexados. Para os volumes raiz e volumes de dados do Amazon EBS, o resultado depende da configuração **Excluir no encerramento** definida para cada volume.

![\[Os endereços IP, a RAM, os volumes de armazenamento de instância e o volume raiz do EBS são perdidos quando uma instância é encerrada.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/terminate-instance.png)


## Considerações
<a name="terminate-instance-overview"></a>
+ **Persistência de dados**
  + Volumes do armazenamento de instância: todos os dados são excluídos permanentemente quando a instância é encerrada. 
  + Volume raiz do EBS:
    + Quando anexado na inicialização, é excluído por padrão quando a instância é encerrada.
    + Quando anexado após a inicialização, persiste por padrão quando a instância é encerrada.
  + Volumes de dados do EBS:
    + Quando anexados na inicialização usando o console: persistem por padrão quando a instância é encerrada.
    + Quando anexados na inicialização usando a CLI: excluídos por padrão quando a instância é encerrada.
    + Quando anexados após a inicialização usando o console ou a CLI: persistem por padrão quando a instância é encerrada.
**nota**  
Quaisquer volumes que não forem excluídos após o encerramento da instância continuarão incorrendo em cobranças. É possível alterar a configuração para que um volume seja excluído ou persista após o encerramento da instância. Para obter mais informações, consulte [Preservação de dados quando uma instância for encerrada](preserving-volumes-on-termination.md).
+ **Proteção contra encerramento acidental**
  + Para evitar que uma instância seja encerrada acidentalmente por alguém, [habilite a proteção contra encerramento](Using_ChangingDisableAPITermination.md).
  + Para controlar se uma instância é interrompida ou encerrada quando o desligamento é iniciado usando a instância, altere o [comportamento de desligamento iniciado pela instância](Using_ChangingInstanceInitiatedShutdownBehavior.md).
+ **Scripts de desativação**: se você executar um script no encerramento da instância, ela poderá sofrer uma interrupção anormal, pois não há como garantir que os scripts de desativação serão executados. O Amazon EC2 tenta desativar uma instância de forma limpa corretamente e executar quaisquer scripts de desativação do sistema. No entanto, determinados eventos (como falhas de hardware) podem impedir que esses scripts de desativação do sistema sejam executados.
+ **Instâncias bare metal**: as instâncias bare metal x86 não oferecem suporte à desativação cooperativa.

## O que acontece quando você encerra uma instância
<a name="what-happens-terminate"></a>

**Alterações registradas 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 do sistema é fornecido pelo **systemd** (Linux) ou pelo processo do sistema (Windows). 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á desativada após o término do processo de desativação normal. Não existe um tempo de desligamento configurável para o SO. A instância permanece visível no console por um curto período e depois a entrada é excluída automaticamente.

**Recursos perdidos**
+ Dados armazenados nos volumes de armazenamento de instância.
+ Volume raiz do EBS se o atributo `DeleteOnTermination` estiver definido como `true`.
+ Volumes de dados do EBS (anexados no lançamento ou após) se o atributo `DeleteOnTermination` estiver definido como `true`.

**Recursos que persistem**
+ Volume raiz do EBS se o atributo `DeleteOnTermination` estiver definido como `false`.
+ Volumes de dados do EBS (anexados no lançamento ou após) se o atributo `DeleteOnTermination` estiver definido como `false`.

## Teste da resposta da aplicação ao encerramento da instância
<a name="test-terminate-instance"></a>

É possível usar o AWS Fault Injection Service para testar como suas aplicações respondem quando sua instância é encerrada. Para saber mais, consulte o [Guia do usuário do AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

# Métodos para encerrar uma instância
<a name="instance-terminate-methods"></a>

**Atenção**  
**O encerramento de uma instância é permanente e irreversível.**  
Depois de encerrar uma instância, não será mais possível se conectar a ela e ela não poderá ser recuperada. Todos os volumes anexados do Amazon EBS configurados para serem excluídos no encerramento também serão excluídos permanentemente e não poderão ser recuperados. Todos os dados armazenados em volumes de armazenamento de instância serão perdidos permanentemente. Para obter mais informações, consulte [Como funciona o encerramento de uma instância](how-ec2-instance-termination-works.md).  
Antes de encerrar uma instância, certifique-se de ter feito backup de todos os dados que você precise reter após o encerramento no armazenamento persistente.

Existem quatro maneiras de realizar um encerramento de instância iniciado pelo usuário: encerramento padrão, encerramento com ignorar desligamento do sistema operacional, encerramento forçado e encerramento forçado com ignorar desligamento do sistema operacional. A tabela a seguir compara as principais diferenças entre os métodos de encerramento:

**nota**  
Não será possível encerrar uma instância se a proteção contra encerramento estiver ativada. Para obter mais informações, consulte [Alterar proteção contra encerramento de instância](Using_ChangingDisableAPITermination.md).


| Método de encerramento | Objetivo principal | Caso de uso | Comando da CLI | 
| --- | --- | --- | --- | 
| Encerramento padrão | Desligamento normal da instância com tentativa de desligamento normal do sistema operacional. | Encerramento de instância típico. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0</pre> | 
| Encerrar com ignorar desligamento do sistema operacional | Ignora o desligamento normal do sistema operacional ao encerrar uma instância. | Quando ignorar o desligamento normal do sistema operacional é necessário. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| Forçar finalização | Resolve instâncias travadas. Tenta primeiro um encerramento padrão; se a instância não conseguir encerrar, encerra-a à força. | Quando a instância está travada no estado shutting-down. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| Encerrar à força com ignorar o encerramento do sistema operacional | A força encerra e ignora o encerramento normal do sistema operacional ao encerrar uma instância. | Quando é necessário encerrar o sistema à força e ignorar o encerramento normal do sistema operacional. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

Para obter instruções sobre como usar cada método, consulte:
+ [Encerrar uma instância com um desligamento normal do sistema operacional](terminating-instances.md#terminating-instances-console)
+ [Encerrar uma instância e ignorar o desligamento normal do sistema operacional](terminating-instances.md#terminating-instances-bypass-graceful-os-shutdown)
+ [Encerrar uma instância à força](TroubleshootingInstancesShuttingDown.md#force-terminate-ec2-instance)

## Encerrar uma instância com um desligamento normal do sistema operacional
<a name="terminating-instances-console"></a>

É possível encerrar uma instância usando o método de parada padrão, que inclui uma tentativa de desligamento normal do sistema operacional. Para obter mais informações, consulte [Métodos para encerrar uma instância](instance-terminate-methods.md).

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

**Para encerrar uma instância usando o método de encerramento padrã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 escolha **Estado da instância** e **Encerrar instância**.

1. Quando a confirmação for solicitada, escolha **Encerrar (excluir)**.

1. Após encerrar uma instância, ela permanecerá visível por um breve período, com um estado de `terminated`.

   Se o encerramento apresentar falhas ou se uma instância encerrada permanecer visível por mais do que algumas horas, consulte [Instância encerrada ainda sendo exibida](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying).

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

**Para encerrar uma instância usando o método de encerramento padrão**  
Use o comando [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html).

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
```

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

**Para encerrar uma instância usando o método de encerramento padrão**  
Use o cmdlet [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html).

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## Encerrar uma instância e ignorar o desligamento normal do sistema operacional
<a name="terminating-instances-bypass-graceful-os-shutdown"></a>

É possível ignorar o desligamento normal do sistema operacional ao encerrar uma instância. Para obter mais informações, consulte [Métodos para encerrar uma instância](instance-terminate-methods.md).

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

**Para encerrar uma instância e ignorar o desligamento normal do sistema operacional**

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 escolha **Estado da instância** e **Encerrar instância**.

1. Em **Ignorar desligamento do sistema operacional**, marque a caixa de seleção **Ignorar desligamento do sistema operacional**. Se você não vir essa opção no console, isso significa que ela ainda não está disponível no console na região atual. No entanto, você pode acessar esse recurso usando a AWS CLI ou o SDK, ou até mesmo experimentar outra região no console.

1. Escolha **Encerrar (excluir).**

1. Após encerrar uma instância, ela permanecerá visível por um breve período, com um estado de `terminated`.

   Se o encerramento apresentar falhas ou se uma instância encerrada permanecer visível por mais do que algumas horas, consulte [Instância encerrada ainda sendo exibida](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying).

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

**Para encerrar uma instância e ignorar o desligamento normal do sistema operacional**  
Use o comando [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) com `--skip-os-shutdown`.

```
aws ec2 terminate-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

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

**Para encerrar uma instância e ignorar o desligamento normal do sistema operacional**  
Use o cmdlet [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) com `-SkipOsShutdown $true`.

```
Remove-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

## Solucionar problemas de encerramento da instância
<a name="troubleshoot-instance-terminate"></a>

O solicitante deve ter permissão para chamar `ec2:TerminateInstances`. Para obter mais informações, consulte [Exemplos de políticas para trabalhar com instâncias](ExamplePolicies_EC2.md#iam-example-instances).

Se você encerrar a instância e outra instância for iniciada, provavelmente você configurou a escalabilidade automática por meio de um recurso como o Frota do EC2 ou o Amazon EC2 Auto Scaling. Para obter mais informações, consulte [Instâncias executadas ou encerradas automaticamente](TroubleshootingInstancesShuttingDown.md#automatic-instance-create-or-delete).

**nota**  
Não será possível encerrar uma instância se a proteção contra encerramento estiver ativada. Para obter mais informações, consulte [Alterar proteção contra encerramento de instância](Using_ChangingDisableAPITermination.md).

Se sua instância permanecer nesse estado `shutting-down` por mais tempo do que o normal, você pode tentar forçar o encerramento. Se permanecer no estado `shutting-down`, ele deverá ser limpo (encerrado) por processos automatizados dentro do serviço Amazon EC2. Para obter mais informações, consulte [Encerramento atrasado da instância](TroubleshootingInstancesShuttingDown.md#instance-stuck-terminating).

# Alterar proteção contra encerramento de instância
<a name="Using_ChangingDisableAPITermination"></a>

Para evitar que sua instância seja encerrada acidentalmente usando a API do Amazon EC2, independentemente de você chamar `TerminateInstances` diretamente ou usar outra interface, como o console do Amazon EC2, habilite a *proteção contra encerramento* da instância. O atributo `DisableApiTermination` controla se a instância pode ser encerrada. Por padrão, a proteção contra encerramento está desabilitada para sua instância. É possível definir o valor desse atributo ao inicializar a instância ou enquanto a instância estiver em execução ou interrompida.

O atributo `DisableApiTermination` não impede que você encerre uma instância ao iniciar o desligamento nela (por exemplo, usando um comando do sistema operacional para o desligamento do sistema) quando o atributo `InstanceInitiatedShutdownBehavior` está definido como `terminate`. Para obter mais informações, consulte [Alterar comportamento de desligamento iniciado da instância](Using_ChangingInstanceInitiatedShutdownBehavior.md).

**Considerações**
+ Habilitar a proteção contra encerramento não impede que a AWS encerre a instância quando há um [evento programado](monitoring-instances-status-check_sched.md) para encerrá-la.
+ Habilitar a proteção contra encerramento não impede que Amazon EC2 Auto Scaling encerre uma instância quando ela não estiver íntegra ou durante eventos de redução horizontal da escala. É possível controlar se um grupo do Auto Scaling pode encerrar uma instância específica ao escalar usando a [proteção contra redução horizontal da escala da instância](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html). É possível controlar se um grupo do Auto Scaling pode encerrar instâncias não íntegras [suspendendo o processo de escala ReplaceUnhealthy](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html).
+ Você não pode habilitar a proteção contra encerramento para Instâncias spot.

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

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

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

1. No painel, escolha **Executar instância**.

1. Expanda **Advanced details** (Detalhes avançados). Em **Proteção contra encerramento**, selecione **Habilitar**.

1. Quando acabar de especificar os detalhes da instância, escolha **Iniciar instância**.

**Para alterar a proteção contra encerramento de uma instância**

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, selecione **Instances** (Instâncias).

1. Selecione a instância.

1. Selecione **Ações**, **Configurações da instância** e **Alterar proteção contra encerramento**.

1. Em **Proteção contra encerramento**, selecione ou desmarque **Habilitar**.

1. Escolha **Salvar**.

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

**Para habilitar a proteção contra encerramento de uma instância**  
Use o comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

**Para desabilitar a proteção contra encerramento de uma instância**  
Use o comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

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

**Para habilitar a proteção contra encerramento de uma instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $true
```

**Para desabilitar a proteção contra encerramento de uma instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $false
```

------

## Encerramento de múltiplas instâncias com proteção contra encerramento
<a name="terminate-multiple"></a>

Se você encerrar múltiplas instâncias em diversas zonas de disponibilidade usando a mesma solicitação e uma ou mais das instâncias especificadas estiverem habilitadas para a proteção contra encerramento, a solicitação falhará e apresentará os seguintes resultados:
+ As instâncias especificadas que estão na mesma zona de disponibilidade que a instância protegida não estão terminadas.
+ As instâncias especificadas que estão em zonas de disponibilidade diferentes, em que nenhuma outra instância especificada está protegida, estão terminadas corretamente.

**Exemplo**  
Suponha que você tenha as quatro instâncias apresentadas a seguir em duas zonas de disponibilidade.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)

Se você tentar terminar todas essas instâncias na mesma solicitação, a solicitação relatará falha com os seguintes resultados:
+ A **Instância 1** e a **Instância 2** foram encerradas com êxito porque nenhuma das instâncias está habilitada para a proteção contra encerramento.
+ A **Instância 3** e a **Instância 4** não são encerradas porque a **Instância 3** está habilitada para a proteção contra encerramento.

# Alterar comportamento de desligamento iniciado da instância
<a name="Using_ChangingInstanceInitiatedShutdownBehavior"></a>

**Atenção**  
**O encerramento de uma instância é permanente e irreversível.**  
Depois de encerrar uma instância, não será mais possível se conectar a ela e ela não poderá ser recuperada. Todos os volumes anexados do Amazon EBS configurados para serem excluídos no encerramento também serão excluídos permanentemente e não poderão ser recuperados. Todos os dados armazenados em volumes de armazenamento de instância serão perdidos permanentemente. Para obter mais informações, consulte [Como funciona o encerramento de uma instância](how-ec2-instance-termination-works.md).  
Antes de encerrar uma instância, certifique-se de ter feito backup de todos os dados que você precise reter após o encerramento no armazenamento persistente.

Por padrão, ao iniciar um desligamento de uma instância baseada no Amazon EBS (usando comandos como **shutdown** ou **poweroff**), a instância será interrompida. É possível alterar esse comportamento usando o atributo `InstanceInitiatedShutdownBehavior` para a instância de forma que, em vez de ser desligada, ela seja encerrada. É possível atualizar esse atributo enquanto a instância estiver sendo executada ou interrompida.

O comando **halt** não inicia um desligamento. Se ele for usado, a instância não será encerrada. Em vez disso, ele colocará a CPU em `HLT` e a instância permanecerá em execução.

**nota**  
O `InstanceInitiatedShutdownBehavior` atributo só se aplica quando você executa um desligamento a partir do sistema operacional da instância em si. Ele não se aplica quando você interrompe uma instância usando a API `StopInstances` ou o console do Amazon EC2.

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

**Alterar o comportamento de desligamento iniciado da instância**

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.

1. Escolha **Actions (Ações)**, **Instance settings (Configurações da instância)**, **Change shutdown behavior (Alterar comportamento de desativação)**.

   O **comportamento de desligamento** exibe o comportamento atual.

1. Para alterar o comportamento, em **Comportamento de desligamento**, selecione **Interromper** ou **Encerrar**. 

1. Escolha **Salvar**.

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

**Alterar o comportamento de desligamento iniciado da instância**  
Use o comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --instance-initiated-shutdown-behavior terminate
```

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

**Alterar o comportamento de desligamento iniciado da instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -InstanceInitiatedShutdownBehavior terminate
```

------

# Preservação de dados quando uma instância for encerrada
<a name="preserving-volumes-on-termination"></a>

Quando uma instância do Amazon EC2 é encerrada, é possível preservar os dados nos volumes de armazenamento da instância ou nos volumes do Amazon EBS. Este tópico explica como garantir que seus dados persistam além do encerramento da instância.

## Como o encerramento da instância afeta os volumes raiz e de dados
<a name="how-instance-termination-affects-root-and-data-volumes"></a>

**Volumes de armazenamento de instâncias**  
Quando uma instância é encerrada, os volumes de armazenamento de instância são excluídos automaticamente e os dados são perdidos. Para preservar esses dados além do tempo de vida da instância, antes de encerrá-la, copie manualmente os dados para um armazenamento persistente, como um volume do Amazon EBS, um bucket do Amazon S3 ou um sistema de arquivos do Amazon EFS. Para obter mais informações, consulte [Opções de armazenamento para as instâncias do Amazon EC2](Storage.md).

**Volumes do Amazon EBS**  
Quando uma instância é encerrada, os volumes do EBS são excluídos ou preservados, dependendo do valor do atributo `DeleteOnTermination` para cada volume:
+ **Sim** (console) / `true` (CLI): o volume é excluído quando a instância é encerrada.
+ **Não** (console) / `false` (CLI): o volume é preservado quando a instância é encerrada. Os volumes preservados continuam a incorrer em cobranças.
**nota**  
Depois que uma instância é encerrada, é possível criar um snapshot do volume preservado ou anexá-lo a outra instância. Para evitar incorrer em cobranças, exclua o volume.

## Comportamento de exclusão padrão para volumes do EBS
<a name="default-deletion-behavior-for-ebs-volumes"></a>

O valor `DeleteOnTermination` padrão difere dependendo do tipo de volume, se o volume foi anexado na inicialização ou depois e do método (console ou CLI) usado para anexá-lo:


| Tipo de volume | Anexado quando | Método para anexar | Comportamento padrão no encerramento da instância | 
| --- | --- | --- | --- | 
| Volume raiz | Na inicialização | Console ou CLI | Excluir | 
| Volume raiz | Após a inicialização | Console ou CLI | Preservar | 
| Volume de dados | Na inicialização | Console | Preservar | 
| Volume de dados | Na inicialização | CLI | Excluir | 
| Volume de dados | Após a inicialização | Console e CLI | Preservar | 

## Verificar as configurações de persistência do volume
<a name="check-ebs-volume-persistence-settings"></a>

O valor padrão na inicialização de um volume do EBS é determinado pelo atributo `DeleteOnTermination` definido na AMI. É possível alterar o valor na inicialização da instância substituindo a configuração da AMI. Recomendamos verificar a configuração padrão do atributo `DeleteOnTermination` após iniciar uma instância.

**Para verificar se um volume do Amazon EBS será excluído no encerramento da instância**

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.

1. Escolha a guia **Armazenamento**.

1. Em **Dispositivos de bloco**, role para a direita para verificar a coluna **Excluir no encerramento**.
   + Se **Sim**, o volume será excluído quando a instância for encerrada.
   + Se **Não**, o volume não será excluído quando a instância for encerrada. Quaisquer volumes não excluídos continuarão incorrendo em cobranças.

## Alteração do volume raiz para persistir na inicialização
<a name="delete-on-termination-ebs-volume"></a>

É possível alterar atributo `DeleteOnTermination` de um volume do EBS ao inicializar uma instância. O procedimento a seguir também pode ser usado para um volume de dados.

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

**Para alterar o volume-raiz de uma instância para que persista na inicialização**

1. Siga o procedimento para [executar uma instância](ec2-launch-instance-wizard.md), mas não execute a instância até concluir as etapas a seguir para alterar o volume raiz a ser mantido.

1. No painel **Configurar armazenamento**, escolha **Avançado**.

1. Em **Volumes do EBS**, expanda as informações do volume raiz.

1. Em **Excluir no encerramento**, escolha **Não**.

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 alterar o volume-raiz de uma instância para que persista na inicialização**  
Use o comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para alterar o valor de `DeleteOnTermination` no mapeamento de dispositivos de blocos.

Adicione a opção `--block-device-mappings`:

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

Em `mapping.json`, especifique o nome do dispositivo (por exemplo, `/dev/sda1` ou `/dev/xvda`), e em `DeleteOnTermination`, especifique `false`.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

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

**Para alterar o volume-raiz de uma instância para que persista na inicialização**  
Use o cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para alterar o valor de `DeleteOnTermination` no mapeamento de dispositivos de blocos.

Adicione a opção `-BlockDeviceMapping`:

```
-BlockDeviceMapping $bdm
```

Em `bdm`, especifique o nome do dispositivo (por exemplo, `/dev/sda1` ou `/dev/xvda`), e em `DeleteOnTermination`, especifique `false`.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## Alteração do volume raiz de uma instância em execução para persistir
<a name="delete-on-termination-running-instance"></a>

É possível alterar o volume raiz do EBS de uma instância em execução para que ele persista. O procedimento a seguir também pode ser usado para um volume de dados.

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

**Para alterar o volume-raiz para que persista**  
Use o comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

Em `mapping.json`, especifique o nome do dispositivo (por exemplo, `/dev/sda1` ou `/dev/xvda`), e em `--DeleteOnTermination`, especifique `false`.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

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

**Para alterar o volume-raiz para que persista**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

Adicione a opção `-BlockDeviceMapping`:

```
-BlockDeviceMapping $bdm
```

Em `bdm`, especifique o nome do dispositivo (por exemplo, `/dev/sda1` ou `/dev/xvda`), e em `DeleteOnTermination`, especifique `false`.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

# Desativação da instância
<a name="instance-retirement"></a>

A instância é programada para ser desativada quando a AWS detecta uma falha irreparável do hardware subjacente que hospeda a instância. O tipo de volume raiz da instância determina o comportamento da desativação da instância:
+ Se o volume raiz da instância for um volume do Amazon EBS, a instância será interrompida e você poderá iniciá-la novamente a qualquer momento. Iniciar a instância interrompida migra-a para o novo hardware.
+ Se o volume raiz da instância for um volume de armazenamento de instância, a instância será encerrada e não poderá ser usada novamente.

Para obter mais informações sobre os tipos de eventos de instância, consulte [Eventos programados para instâncias do Amazon EC2](monitoring-instances-status-check_sched.md).

**Topics**
+ [Identificar instâncias programadas para desativação](#instance-retirement-identify)
+ [Ações a serem executadas para instâncias baseadas em EBS programadas para desativação](#instance-retirement-actions-EBS)
+ [Ações a serem executadas para instâncias com armazenamento de instâncias programadas para desativação](#instance-retirement-actions-instance-store)

## Identificar instâncias programadas para desativação
<a name="instance-retirement-identify"></a>

Se a sua instância estiver programada para desativação, você receberá um e-mail antes do evento com o ID e a data de desativação da instância. Você também pode verificar se há instâncias programadas para desativação.

**Importante**  
Se uma instância estiver programada para desativação, recomendamos que você aja o mais rápido possível, pois talvez a instância já esteja inacessível. Para obter mais informações, consulte [Check if your instance is reachable](#check-instance).

**Topics**
+ [Monitore o e-mail dos contatos da conta](#identify-by-email)
+ [Verificar suas instâncias](#identify-in-console-cli)

### Monitore o e-mail dos contatos da conta
<a name="identify-by-email"></a>

Se uma instância estiver programada para desativação, o contato principal da conta e o contato de operações receberão um e-mail antes do evento. Esse e-mail inclui o ID da instância e a data de desativação programada. Para mais informações, consulte [Update the primary contact for your AWS account](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html) e [Update the alternate contacts for your AWS account](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-alternate.html) no *Guia de referência do AWS Gerenciamento de contas*.

### Verificar suas instâncias
<a name="identify-in-console-cli"></a>

Se você usar uma conta de e-mail que não verifica regularmente, poderá perder uma notificação de desativação da instância. Você pode verificar a qualquer momento se alguma de suas instâncias está programada para ser desativada.<a name="identify-retiring-instances"></a>

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

**Para identificar instâncias programadas para desativaçã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 **EC2 Dashboard (Painel do EC2)**. Em **Scheduled events (Eventos agendados)**, é possível ver os eventos associados a volumes e instâncias do Amazon EC2, organizados por região.  
![\[Eventos agendados\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/dashboard-scheduled-events.png)

1. Se você tiver uma instância com um evento agendado listado, selecione o link abaixo do nome da região para acessar a página **Events (Eventos)**.

1. A página **Events (Eventos)** lista todos os recursos com eventos associados a eles. Para visualizar as instâncias que estão agendadas para desativação, selecione **Instance resources (Recursos da instância)** na primeira lista de filtros e, em seguida, **Instance stop or retirement (Interrupção ou desativação de instância)** na segunda lista de filtros.

1. Se os resultados do filtro mostrarem que uma instância está agendada para desativação, selecione-a e anote a data e a hora do campo **Start time (Hora de início)** no painel de detalhes. Essa é a data de desativação da instância.

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

**Para encontrar instâncias programadas para desativação**  
Use o seguinte comando [describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html). Repita o procedimento em cada região na qual você tenha instâncias em execução.

```
aws ec2 describe-instance-status --filters Name=event.code,Values=instance-retirement
```

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

**Para encontrar instâncias programadas para desativação**  
Use o cmdlet [Get-EC2InstanceStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceStatus.html). Repita o procedimento em cada região na qual você tenha instâncias em execução.

```
Get-EC2InstanceStatus -Filter @{Name="event.code"; Values="instance-retirement"}
```

------

## Ações a serem executadas para instâncias baseadas em EBS programadas para desativação
<a name="instance-retirement-actions-EBS"></a>

Para preservar os dados em sua instância sendo desativada, é possível executar uma das ações a seguir. É importante que você execute essa ação antes da data de desativação da instância, para evitar períodos de desativação e perda de dados imprevistos.

Para instâncias do Linux, se você não tiver certeza se a instância é baseada no EBS ou no armazenamento de instâncias, consulte [Volumes raiz para as instâncias do Amazon EC2](RootDeviceStorage.md).

**Verifique se sua instância está acessível**

Quando você for notificado de que sua instância está programada para desativação, recomendamos que execute a seguinte ação o mais rápido possível:
+ Verifique se sua instância está acessível [conectando-se](connect.md) ou fazendo ping na instância.
+ Se sua instância estiver acessível, planeje interromper/iniciar a instância em um momento apropriado antes da data de desativação programada, quando o impacto for mínimo. Para obter mais informações sobre como interromper e iniciar sua instância e o que esperar quando a instância é interrompida, como o efeito em endereços IP elásticos, públicos e privados associados à instância, consulte [Início e interrupção de instâncias do Amazon EC2](Stop_Start.md). Observe que os dados em volumes de armazenamento de instâncias são perdidos quando você interrompe e inicia sua instância.
+ Se sua instância estiver inacessível, você deverá agir imediatamente e executar uma [interrupção/inicialização](Stop_Start.md) para recuperar sua instância.
+ Se preferir [encerrar](terminating-instances.md) sua instância, planeje fazê-lo o mais rápido possível, para que você pare de receber cobranças pela instância.

**Crie um backup da sua instância**  
Crie uma AMI baseada em EBS em sua instância para que você tenha um backup. Para garantir a integridade dos dados, interrompa a instância antes de criar a AMI. Espere a data de desativação agendada para a interrupção da instância ou interrompa a instância por conta própria antes dessa data. É possível iniciar a instância novamente a qualquer momento. Para obter mais informações, consulte [Criação de uma AMI baseada no Amazon EBS](creating-an-ami-ebs.md).

**Execute uma instância de substituição**  
Depois de criar uma AMI a partir da sua instância, é possível usar a AMI para iniciar uma instância de substituição. No console do Amazon EC2, selecione sua nova AMI e escolha **Iniciar instância a partir da AMI**. Configure os parâmetros da sua instância e escolha **Iniciar instância**. Para obter mais informações sobre cada campo, consulte [Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console](ec2-launch-instance-wizard.md).

## Ações a serem executadas para instâncias com armazenamento de instâncias programadas para desativação
<a name="instance-retirement-actions-instance-store"></a>

Para preservar os dados em sua instância sendo desativada, é possível executar uma das ações a seguir. É importante que você execute essa ação antes da data de desativação da instância, para evitar períodos de desativação e perda de dados imprevistos.

**Atenção**  
Se o volume raiz da instância for de armazenamento de instância e a data de desativação for atingida, a instância será encerrada, tornando impossível recuperar tanto a instância quanto qualquer dado que estivesse armazenado nela. Independentemente do tipo de volume raiz da instância, os dados nos volumes de armazenamento de instância são perdidos quando a instância é desativada, mesmo que os volumes estejam anexados a uma instância com volume raiz do EBS.

**Verifique se sua instância está acessível**

Quando você for notificado de que sua instância está programada para desativação, recomendamos que execute a seguinte ação o mais rápido possível:
+ Verifique se sua instância está acessível [conectando-se](connect-to-linux-instance.md) ou fazendo ping na instância.
+ Se sua instância estiver inacessível, é provável que haja muito pouco que possa ser feito para recuperá-la. Para obter mais informações, consulte [Solucionar problemas de uma instância inacessível do Amazon EC2](troubleshoot-unreachable-instance.md). A AWS encerrará a instância na data de desativação programada, portanto, para uma instância inacessível, é possível [encerrar ](terminating-instances.md)a instância por conta própria.

**Execute uma instância de substituição**  
Crie uma AMI baseada no Amazon S3 usando as ferramentas da AMI na sua instância, conforme descrito em [Criação de uma AMI baseada no Amazon S3](creating-an-ami-instance-store.md). No console do Amazon EC2, selecione sua nova AMI e escolha **Iniciar instância a partir da AMI**. Configure os parâmetros da sua instância e escolha **Iniciar instância**. Para obter mais informações sobre cada campo, consulte [Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console](ec2-launch-instance-wizard.md).

**Converta sua instância em uma instância baseada em EBS**  
Transfira seus dados para um volume do EBS, obtenha um snapshot do volume e crie a AMI a partir do snapshot. É possível executar uma instância de substituição a partir da nova AMI. Para obter mais informações, consulte [Conversão da AMI baseada no Amazon S3 em uma AMI baseada no EBS](Using_ConvertingS3toEBS.md).