

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

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

------