

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

------