

# Gerenciar as instâncias spot
<a name="using-spot-instances-request"></a>

O Amazon EC2 inicia uma instância spot quando há capacidade disponível. A instância spot será executada até ser interrompida ou até você a encerrar.

**Topics**
+ [Encontrar as instâncias spot](#using-spot-instances-running)
+ [Encontre instâncias iniciadas por uma solicitação específica](#find-request-spot-instances)
+ [Parar uma instância spot](#stopping-a-spot-instance)
+ [Iniciar uma instância spot](#starting-a-spot-instance)
+ [Encerrar uma instância spot](#terminating-a-spot-instance)

## Encontrar as instâncias spot
<a name="using-spot-instances-running"></a>

Uma instância spot aparece na página **Instâncias** no console junto com as instâncias sob demanda. Use o procedimento a seguir para encontrar as instâncias spot.

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

**Para encontrar suas instâncias spot**

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. Para encontrar todas as instâncias spot, no painel de pesquisa, escolha **Ciclo de vida da instância = spot**.

1. Para confirmar que uma instância é uma instância spot, selecione a instância, escolha a guia **Detalhes** e verifique o valor de **Ciclo de vida**. O valor de uma instância spot é `spot` e o valor de uma instância sob demanda é `normal`.

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

**Para encontrar suas instâncias spot**  
Use o seguinte comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances --filters "Name=instance-lifecycle,Values=spot"
```

**Para determinar se uma instância é uma instância spot**  
Use o seguinte comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[*].InstanceLifecycle" \
    --output text
```

Se a saída for `spot`, a instância será uma instância spot. Se não houver saída, a instância será uma instância sob demanda.

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

**Para encontrar suas instâncias spot**  
Use o cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
Get-EC2Instance -Filter @{Name="instance-lifecycle"; Values="spot"}
```

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

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

Se a saída for `Spot`, a instância será uma instância spot. Se não houver saída, a instância será uma instância sob demanda.

------

## Encontre instâncias iniciadas por uma solicitação específica
<a name="find-request-spot-instances"></a>

Use o procedimento a seguir para encontrar as instâncias spot iniciadas por uma solicitação específica de instância spot ou frota spot.

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

**Para encontrar as instâncias spot para uma solicitaçã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 **Solicitações spot**. A lista contém tanto as solicitações de instância spot quanto as solicitações de frota spot.

1. Se uma solicitação de instância spot for atendida, **Capacidade** será o ID da instância spot. Em uma frota spot, a **Capacity (Capacidade)** indica quanto da capacidade solicitada foi atendida. Para visualizar os IDs das instâncias em uma frota spot, escolha a seta de expansão ou selecione a frota e escolha **Instances (Instâncias)**.

1. Em uma frota spot, **Capacidade** indica quanto da capacidade solicitada foi fornecida. Para visualizar os IDs das instâncias em uma frota spot, escolha o ID da frota para abrir sua página de detalhes e localize o painel **Instâncias**.

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

**Para encontrar as instâncias spot para uma solicitação**  
Use o seguinte comando [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html).

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].{ID:InstanceId}"
```

A seguir está um exemplo de saída:

```
[
    {
        "ID": "i-1234567890abcdef0"
    },
    {
        "ID": "i-0598c7d356eba48d7"
    }
]
```

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

**Para encontrar as instâncias spot para uma solicitação**  
Use o cmdlet [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html).

```
(Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).InstanceId
```

------

## Parar uma instância spot
<a name="stopping-a-spot-instance"></a>

Caso não precise das instâncias spot na ocasião, mas quiser reiniciá-las posteriormente sem perder os dados persistentes no volume do Amazon EBS, é possível interrompê-las. As etapas para parar uma instância spot são semelhantes às etapas para parar uma instância sob demanda.

**nota**  
Ao parar uma instância spot, será possível modificar alguns atributos da instância, mas não o tipo dela.   
Não cobramos pelo uso de uma instância spot parada nem por taxas de transferência de dados, mas cobramos pelo armazenamento nos volumes do Amazon EBS.

**Limitações**
+ Você só pode parar uma instância spot se ela foi iniciada a partir de uma solicitação de instância spot `persistent`.
+ Não é possível parar uma instância spot se a solicitação de instância spot associada foi cancelada. Quando a solicitação de instância spot é cancelada, você só pode encerrar a instância spot.
+ Também não é possível parar as instâncias spot em um grupo de frota, grupo de lançamento ou grupo de zonas de disponibilidade.

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

**Para interromper uma instância spot**

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 spot. Se você não salvou o ID da instância spot, consulte [Encontrar as instâncias spot](#using-spot-instances-running).

1. Escolha **Estado da instância** e **Parar instância**.

1. Quando a confirmação for solicitada, escolha **Parar**.

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

**Para interromper uma instância spot**  
Use o comando [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) para interromper manualmente as Instâncias spot.

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

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

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

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

------

## Iniciar uma instância spot
<a name="starting-a-spot-instance"></a>

É possível iniciar uma instância spot que havia parado.

**Pré-requisitos**

É possível iniciar uma instância spot somente se:
+ Você parou manualmente a instância spot.
+ A instância spot é uma instância com EBS.
+ A capacidade da instância spot está disponível.
+ O preço spot é inferior ao preço máximo.

**Limitações**
+ Não é possível iniciar uma instância spot se ela fizer parte da frota ou do grupo de inicialização ou grupo de zona de disponibilidade.

As etapas para iniciar uma instância spot são semelhantes às etapas para iniciar uma instância sob demanda.

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

**Para iniciar uma instância spot**

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 spot. Se você não salvou o ID da instância spot, consulte [Encontrar as instâncias spot](#using-spot-instances-running).

1. Escolha **Instance state (Estado da instância)** e **Start instance (Iniciar instância)**.

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

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

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

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

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

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

------

## Encerrar uma instância spot
<a name="terminating-a-spot-instance"></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.

Se você encerrar uma instância spot em execução ou parada que foi iniciada por uma solicitação de instância spot persistente, a solicitação de instância spot fará a transição para o estado `open` para que a nova instância spot seja iniciada. Para garantir que nenhuma instância spot nova seja iniciada, primeiro é necessário cancelar a solicitação de instância spot.

Se você cancelar uma solicitação de instância spot `active` com uma instância spot em execução, a instância spot em execução não será automaticamente terminada, e você deverá terminá-la manualmente.

Se você cancelar uma solicitação de instância spot `disabled` com uma instância spot parada, a instância spot parada será automaticamente encerrada pelo serviço spot do Amazon EC2. Pode haver um pequeno atraso entre o momento em que você cancelar a solicitação de instância spot e o momento em que o serviço spot terminar a instância spot.

Para obter mais informações, consulte [Cancelar uma solicitação de instância spot](using-spot-instances-cancel.md).

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

**Para encerrar manualmente uma instância spot**

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

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 spot. Se você não salvou o ID da instância spot, consulte [Encontrar as instâncias spot](#using-spot-instances-running).

1. Escolha **Estado da instância** e **Encerrar instância**.

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

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

**Para encerrar manualmente uma instância spot**  
Use o comando [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) para encerrar manualmente as Instâncias spot.

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

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

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

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

------