

# Monitorar e responder de forma programática aos eventos emitidos pelo EC2 Fleet ou pela frota spot usando o Amazon EventBridge
<a name="monitor-ec2-fleet-using-eventbridge"></a>

Quando o estado de um EC2 Fleet ou frota spot é alterado, é emitida uma notificação. A notificação é disponibilizada como um evento que é enviado para Amazon EventBridge (anteriormente conhecido como Amazon CloudWatch Events). Os eventos são emitidos com base no melhor esforço.

É possível usar o Amazon EventBridge para criar regras que acionem ações programáticas em resposta a um evento. Por exemplo, você pode criar duas regras do EventBridge: uma acionada quando um estado da frota muda e outra acionada quando uma instância na frota é encerrada. Neste exemplo, você pode configurar a primeira regra para que, se o estado da frota for alterado, a regra invoque um tópico do SNS, enviando uma notificação por e-mail para você. É possível configurar a segunda regra para que, se uma instância na frota for encerrada, a regra invoque uma função do Lambda para executar uma nova instância.

**nota**  
Apenas frotas do tipo `maintain` e `request` emitem eventos. As frotas do tipo `instant` não emitem eventos porque enviam solicitações únicas síncronas e o estado da frota é conhecido imediatamente na resposta. Para usar o Amazon EventBridge para monitorar eventos da frota, o tipo de solicitação deve ser `maintain` ou `request`.

Para obter instruções sobre como descrever o histórico de eventos de uma frota, consulte [Descrever o histórico de eventos para o EC2 Fleet](describe-ec2-fleet.md#describe-ec2-fleet-event-history).

**Topics**
+ [Criar regras do Amazon EventBridge para monitorar eventos do EC2 Fleet ou da frota spot](#fleet_create-eventbridge-rules)
+ [Tipos de evento de Frota do EC2](#ec2-fleet-event-types)
+ [Tipos de evento de frota spot](#spot-fleet-event-types)

## Criar regras do Amazon EventBridge para monitorar eventos do EC2 Fleet ou da frota spot
<a name="fleet_create-eventbridge-rules"></a>

Quando uma notificação de alteração de estado é emitida para um EC2 Fleet ou frota spot, ela é enviada como um evento para o Amazon EventBridge como um arquivo JSON. Se o EventBridge detectar um padrão de evento que corresponda a um padrão definido em uma regra, o EventBridge invocará um destino (ou destinos) especificado(s) na regra.

É possível escrever regras do EventBridge para automatizar ações com base em padrões de eventos correspondentes. 

Os seguintes campos no evento formam o padrão de evento que está definido na regra:

`"source": "aws.ec2fleet"`  
Identifica que o evento é de Frota do EC2.

`"detail-type": "EC2 Fleet State Change"`  
Identifica o tipo de evento.

`"detail": { "sub-type": "submitted" }`  
Identifica o subtipo de evento.

Para obter a lista de eventos do EC2 Fleet e da frota spot e dados de eventos de exemplo, consulte [Tipos de evento de Frota do EC2](#ec2-fleet-event-types) e [Tipos de evento de frota spot](#spot-fleet-event-types).

**Topics**
+ [Criar uma regra de EventBridge para enviar uma notificação](#eventbridge-send-notification)
+ [Criar uma regra de EventBridge para acionar uma função do Lambda](#eventbridge-trigger-lambda)

### Criar uma regra de EventBridge para enviar uma notificação
<a name="eventbridge-send-notification"></a>

O exemplo a seguir cria uma regra de EventBridge para enviar um e-mail, mensagem de texto ou notificação por push móvel sempre que o Amazon EC2 emite uma notificação de Frota do EC2. O sinal neste exemplo é emitido como um evento de `EC2 Fleet State Change`, que aciona a ação definida pela regra.

**Pré-requisito**  
Antes de criar a regra EventBridge, você deve criar o tópico do Amazon SNS para e-mail, mensagem de texto ou notificação por push móvel.

**Para criar uma regra de EventBridge para enviar uma notificação quando um estado de Frota do EC2 muda**

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

1. Selecione **Criar regra**.

1. Em **Define rule detail** (Definir detalhe da regra), faça o seguinte:

   1. Informe um **Name (Nome)** para a regra e, opcionalmente, uma descrição.

      Uma regra não pode ter o mesmo nome que outra regra na mesma região e no mesmo barramento de eventos.

   1. Em **Event Bus** (Barramento de eventos), escolha **default** (padrão). Quando um serviço da AWS em sua conta gerar um evento, ele sempre irá para o barramento de eventos padrão da sua conta.

   1. Em **Rule type** (Tipo de regra), escolha **Rule with an event pattern** (Regra com um padrão de evento).

   1. Escolha **Próximo**.

1. Em **Build event pattern** (Criar padrão de evento), faça o seguinte:

   1. Em **Event source** (Origem do evento), escolha **Eventos da AWS ou eventos de parceiro do EventBridge**.

   1. Em **Event pattern** (Padrão de evento), nesse exemplo, você especificará o seguinte padrão de evento para corresponder ao evento `EC2 Fleet Instance Change`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"]
      }
      ```

      Para adicionar o padrão de evento, é possível usar um modelo escolhendo **Event pattern form** (Formulário de padrão de evento), ou especifique seu próprio padrão escolhendo **Custom pattern (JSON editor)** (Padrão personalizado (editor JSON)), como segue:

      1. Para usar um modelo para criar o padrão de evento, faça o seguinte:

         1. Escolha **Event pattern form** (Formulário de evento).

         1. Em **Event source** (Origem do evento), escolha **AWS services** (Serviços da ).

         1. Para ** Service** (Serviço da AWS), escolha **EC2 Fleet** (Frota do EC2).

         1. Em **Event type** (Tipo de evento), escolha **EC2 Fleet Instance Change** (Alteração da instância da frota do EC2).

         1. Para personalizar o modelo, escolha **Edit pattern** (Editar padrão) e faça as alterações para corresponder ao padrão de evento de exemplo.

      1. (Alternativa) Para especificar um padrão de evento personalizado, faça o seguinte:

         1. Escolha **Custom pattern (JSON editor)** (Padrão personalizado (editor JSON)).

         1. Na caixa **Event pattern** (Padrão de evento), adicione o padrão de evento para este exemplo.

   1. Escolha **Próximo**.

1. Em **Select target(s)** (Selecionar destino(s)), faça o seguinte:

   1. Em **Tipos de destino**, escolha **Serviço da AWS**.

   1. Em **Select a target** (Selecione um destino), escolha **SNS topic** (Tópico do SNS) para enviar um email, mensagem de texto ou notificação por push móvel quando o evento ocorrer.

   1. Em **Topic** (Tópico), escolha um tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte [Usar o Amazon SNS para mensagens de aplicação para pessoa (A2P)](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

   1. (Opcional) Em **Additional settings** (Configurações adicionais), é possível, opcionalmente, definir configurações adicionais. Para obter mais informações, consulte [Criar regras do Amazon EventBridge que reajam a eventos](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (etapa 16) no *Guia do usuário do Amazon EventBridge*.

   1. Escolha **Próximo**.

1. (Opcional) Em **Tags** (Etiquetas), é possível atribuir, opcionalmente, uma ou mais etiquetas à sua regra e, em seguida, escolher **Next** (Próximo).

1. Em **Review and create** (Revisar e criar), faça o seguinte:

   1. Revise os detalhes da regra e modifique-os conforme necessário.

   1. Escolha **Criar regra**.

Para obter mais informações, consulte [Amazon EventBridge rules](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) (Regras do Amazon EventBridge) e [Amazon EventBridge event patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) (Padrões de eventos do Amazon EventBridge) no *Amazon EventBridge User Guide* (Manual do usuário do Amazon EventBridge).

### Criar uma regra de EventBridge para acionar uma função do Lambda
<a name="eventbridge-trigger-lambda"></a>

O exemplo a seguir cria uma regra de EventBridge para acionar uma função do Lambda toda vez que Amazon EC2 emite uma notificação de Frota do EC2. O sinal neste exemplo é emitido como um evento de `EC2 Fleet Instance Change`, subtipo `launched`, que aciona a ação definida pela regra.

Antes de criar a regra de EventBridge, você deve criar a função do Lambda.

**Como criar a função do Lambda a ser usada na regra EventBridge**

1. Abra o console do AWS Lambda em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Escolha **Create function**.

1. Digite um nome para sua função, configure o código e escolha **Create function** (Criar função).

   Para ter mais informações, consulte [Criar sua primeira função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) no *Guia do desenvolvedor do AWS Lambda*.

**Para criar uma regra de EventBridge para acionar uma função do Lambda quando uma instância em um estado de Frota do EC2 muda**

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

1. Selecione **Criar regra**.

1. Em **Define rule detail** (Definir detalhe da regra), faça o seguinte:

   1. Informe um **Name (Nome)** para a regra e, opcionalmente, uma descrição.

      Uma regra não pode ter o mesmo nome que outra regra na mesma região e no mesmo barramento de eventos.

   1. Em **Event Bus** (Barramento de eventos), escolha **default** (padrão). Quando um serviço da AWS em sua conta gerar um evento, ele sempre irá para o barramento de eventos padrão da sua conta.

   1. Em **Rule type** (Tipo de regra), escolha **Rule with an event pattern** (Regra com um padrão de evento).

   1. Escolha **Próximo**.

1. Em **Build event pattern** (Criar padrão de evento), faça o seguinte:

   1. Em **Event source** (Origem do evento), escolha **Eventos da AWS ou eventos de parceiro do EventBridge**.

   1. Em **Event pattern** (Padrão de evento) nesse exemplo, você especificará o seguinte padrão de evento para corresponder ao evento `EC2 Fleet Instance Change` e ao subtipo `launched`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"],
       "detail": {
         "sub-type": ["launched"]
      }
      ```

      Para adicionar o padrão de evento, é possível usar um modelo escolhendo **Event pattern form** (Formulário de padrão de evento), ou especifique seu próprio padrão escolhendo **Custom pattern (JSON editor)** (Padrão personalizado (editor JSON)), como segue:

      1. Para usar um modelo para criar o padrão de evento, faça o seguinte:

         1. Escolha **Event pattern form** (Formulário de evento).

         1. Em **Event source** (Origem do evento), escolha **AWS services** (Serviços da ).

         1. Para ** Service** (Serviço da AWS), escolha **EC2 Fleet** (Frota do EC2).

         1. Em **Event type** (Tipo de evento), escolha **EC2 Fleet Instance Change** (Alteração da instância da frota do EC2).

         1. Selecione **Edit pattern** (Editar padrão) e adicione `"detail": {"sub-type": ["launched"]` para corresponder ao padrão do evento de exemplo. Para o formato JSON adequado, insira uma vírgula (`,`) após o colchete anterior (`]`).

      1. (Alternativa) Para especificar um padrão de evento personalizado, faça o seguinte:

         1. Escolha **Custom pattern (JSON editor)** (Padrão personalizado (editor JSON)).

         1. Na caixa **Event pattern** (Padrão de evento), adicione o padrão de evento para este exemplo.

   1. Escolha **Próximo**.

1. Em **Select target(s)** (Selecionar destino(s)), faça o seguinte:

   1. Em **Tipos de destino**, escolha **Serviço da AWS**.

   1. Em **Select a target** (Selecione um destino), escolha **SNS topic** (Tópico do SNS) para enviar um email, mensagem de texto ou notificação por push móvel quando o evento ocorrer.

   1. Para **Topic** (Tópico), escolha a **Lambda function** (função Lambda) e, para **Function** (Função), escolha a função que você criou para responder quando o evento ocorrer.

   1. (Opcional) Em **Additional settings** (Configurações adicionais), é possível, opcionalmente, definir configurações adicionais. Para obter mais informações, consulte [Criar regras do Amazon EventBridge que reajam a eventos](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (etapa 16) no *Guia do usuário do Amazon EventBridge*.

   1. Escolha **Próximo**.

1. (Opcional) Em **Tags** (Etiquetas), é possível atribuir, opcionalmente, uma ou mais etiquetas à sua regra e, em seguida, escolher **Next** (Próximo).

1. Em **Review and create** (Revisar e criar), faça o seguinte:

   1. Revise os detalhes da regra e modifique-os conforme necessário.

   1. Escolha **Criar regra**.

Para obter um tutorial sobre como criar uma função do Lambda e uma EventBridge regra que executa a função do Lambda, consulte [Tutorial: Log the State of an Amazon EC2 Instance Using EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-log-ec2-instance-state.html) (Tutorial: Registrar em log o estado de uma instância do Amazon EC2 usando o EventBridge) no *AWS Lambda User Guide* (Guia do usuário do Amazon EventBridge).

## Tipos de evento de Frota do EC2
<a name="ec2-fleet-event-types"></a>

Existem cinco tipos de eventos de Frota do EC2. Para cada tipo de evento, existem vários subtipos.

**Topics**
+ [Alteração do estado da EC2 Fleet](#ec2-fleet-state-change)
+ [Alteração da solicitação de instância spot da EC2 Fleet](#ec2-fleet-spot-instance-request-change)
+ [Alteração da instância da EC2 Fleet](#ec2-fleet-instance-change)
+ [Informações da EC2 Fleet](#ec2-fleet-info)
+ [Erro de EC2 Fleet](#ec2-fleet-config-not-valid)

### Alteração do estado da EC2 Fleet
<a name="ec2-fleet-state-change"></a>

A Frota do EC2 envia um evento `EC2 Fleet State Change` para Amazon EventBridge quando um estado Frota do EC2 mudar.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
    "detail-type": "EC2 Fleet State Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "sub-type": "active"
    }
}
```

Os possíveis valores para `sub-type` são:

`active`  
A solicitação de Frota do EC2 foi validada e o Amazon EC2 está tentando manter o número de destino das instâncias em execução.

`deleted`  
A solicitação de Frota do EC2 foi excluída, e não há outras instâncias em execução. A solicitação de Frota do EC2 foi excluída dois dias depois que as instâncias foram encerradas.

`deleted_running`  
A solicitação de Frota do EC2 foi excluída e não executará instâncias adicionais. Suas instâncias existentes continuam sendo executadas até que sejam interrompidas ou encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam interrompidas ou encerradas. 

`deleted_terminating`  
A solicitação de Frota do EC2 foi excluída, e as instâncias estão sendo encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam encerradas. 

`expired`  
A solicitação de Frota do EC2 expirou. Se a solicitação tiver sido criada com conjunto `TerminateInstancesWithExpiration`, um evento `terminated` subsequente indicará que as instâncias estão encerradas.

`modify_in_progress`  
A solicitação de Frota do EC2 está sendo modificada. A solicitação permanece nesse estado até que a modificação seja totalmente processada.

`modify_succeeded`  
A solicitação de Frota do EC2 foi modificada.

`submitted`  
A solicitação de Frota do EC2 está sendo avaliada, e o Amazon EC2 está se preparando para executar o número de destino de instâncias. 

`progress`  
A solicitação de Frota do EC2 está em processo de ser atendida.

### Alteração da solicitação de instância spot da EC2 Fleet
<a name="ec2-fleet-spot-instance-request-change"></a>

A Frota do EC2 envia um evento de `EC2 Fleet Spot Instance Request Change` para Amazon EventBridge quando uma solicitação de Instância spot na frota muda de estado.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
    "detail-type": "EC2 Fleet Spot Instance Request Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
    ],
    "detail": {
        "spot-instance-request-id": "sir-rmqske6h",
        "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Os possíveis valores para `sub-type` são:

`active`  
A solicitação de instância spot foi atendida e tem uma instância spot associada.

`cancelled`  
Você cancelou a solicitação de instância spot ou a solicitação de instância spot expirou.

`disabled`  
Você interrompeu a instância spot.

`submitted`  
A solicitação de instância spot foi enviada.

### Alteração da instância da EC2 Fleet
<a name="ec2-fleet-instance-change"></a>

O Frota do EC2 envia um evento de `EC2 Fleet Instance Change` para Amazon EventBridge quando uma instância na frota muda de estado.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
    "detail-type": "EC2 Fleet Instance Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:23Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "instance-id": "i-0c594155dd5ff1829",
        "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
        "sub-type": "launched"
    }
}
```

Os possíveis valores para `sub-type` são:

`launched`  
Uma nova instância foi executada.

`terminated`  
A instância foi encerrada.

`termination_notified`  
Uma notificação de encerramento de instância foi enviada quando uma instância spot foi encerrada pelo Amazon EC2 durante a redução da escala na vertical, quando a capacidade de destino da frota foi modificada para baixo, p. ex., de uma capacidade de destino de 4 para uma capacidade de destino de 3.

### Informações da EC2 Fleet
<a name="ec2-fleet-info"></a>

A Frota do EC2 envia um evento de `EC2 Fleet Information` para Amazon EventBridge quando há um erro durante a execução. O evento informativo não impede a frota de tentar atender à sua capacidade de destino.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "76529817-d605-4571-7224-d36cc1b2c0c4",
    "detail-type": "EC2 Fleet Information",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T08:17:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
    ],
    "detail": {
        "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
        "sub-type": "launchSpecUnusable"
    }
}
```

Os possíveis valores para `sub-type` são:

`fleetProgressHalted`  
O preço em cada especificação de execução não é válido porque está abaixo do preço spot (todas as especificações de execução produziram `launchSpecUnusable` eventos). Uma especificação de execução pode se tornar válida se o preço spot mudar.

`launchSpecTemporarilyBlacklisted`  
A configuração não é válida e várias tentativas de executar instâncias falharam. Para obter mais informações, consulte a descrição do evento.

`launchSpecUnusable`  
O preço em uma especificação de execução não é válido porque está abaixo do preço spot.

`registerWithLoadBalancersFailed`  
Falha na tentativa de registrar instâncias com balanceadores de carga. Para obter mais informações, consulte a descrição do evento.

### Erro de EC2 Fleet
<a name="ec2-fleet-config-not-valid"></a>

A Frota do EC2 envia um evento de `EC2 Fleet Error` para Amazon EventBridge quando há um erro durante a execução. O evento de erro impede a frota de tentar atender à sua capacidade de destino.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
    "detail-type": "EC2 Fleet Error",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-10-07T01:44:24Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
    ],
    "detail": {
        "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Os possíveis valores para `sub-type` são:

`iamFleetRoleInvalid`  
A frota do EC2 não tem as permissões necessárias para executar ou encerrar uma instância.

`allLaunchSpecsTemporarilyBlacklisted`  
Nenhuma das configurações é válida e várias tentativas de executar instâncias falharam. Para obter mais informações, consulte a descrição do evento.

`spotInstanceCountLimitExceeded`  
Você atingiu o limite do número de Instâncias spot que você pode executar.

`spotFleetRequestConfigurationInvalid`  
A configuração não é válida. Para obter mais informações, consulte a descrição do evento.

## Tipos de evento de frota spot
<a name="spot-fleet-event-types"></a>

Existem cinco tipos de eventos de frota spot. Para cada tipo de evento, existem vários subtipos.

**Topics**
+ [Alteração do estado da frota spot do EC2](#spot-fleet-state-change)
+ [Alteração da solicitação de instância spot da frota spot do EC2](#spot-fleet-spot-instance-request-change)
+ [Alteração da instância da frota spot do EC2](#spot-fleet-instance-change)
+ [Informações sobre a frota spot do EC2](#spot-fleet-info)
+ [Erro na frota spot do EC2](#spot-fleet-config-not-valid)

### Alteração do estado da frota spot do EC2
<a name="spot-fleet-state-change"></a>

A Frota spot envia um `EC2 Spot Fleet State Change` evento para Amazon EventBridge quando uma frota spot muda de estado.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b",
    "detail-type": "EC2 Spot Fleet State Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:57:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55"
    ],
    "detail": {
        "sub-type": "submitted"
    }
}
```

Os possíveis valores para `sub-type` são:

`active`  
A solicitação de frota spot foi validada e o Amazon EC2 está tentando manter o número de destino das instâncias em execução.

`cancelled`  
A solicitação de frota spot foi cancelada e não há instâncias em execução. A frota spot será excluída dois dias após o encerramento das instâncias.

`cancelled_running`  
A solicitação de frota spot foi cancelada e não executará instâncias adicionais. Suas instâncias existentes continuam sendo executadas até que sejam interrompidas ou encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam interrompidas ou encerradas. 

`cancelled_terminating`  
A solicitação de frota spot foi cancelada e as instâncias estão sendo encerradas. A solicitação permanece nesse estado até que todas as instâncias sejam encerradas. 

`expired`  
A solicitação de frota spot expirou. Se a solicitação tiver sido criada com conjunto `TerminateInstancesWithExpiration`, um evento `terminated` subsequente indicará que as instâncias estão encerradas.

`modify_in_progress`  
A solicitação de frota spot está sendo modificada. A solicitação permanece nesse estado até que a modificação seja totalmente processada.

`modify_succeeded`  
A solicitação de frota spot foi modificada.

`submitted`  
A solicitação de frota spot está sendo avaliada, e o Amazon EC2 está se preparando para executar o número de destino de instâncias. 

`progress`  
A solicitação de frota spot está em processo de atendimento.

### Alteração da solicitação de instância spot da frota spot do EC2
<a name="spot-fleet-spot-instance-request-change"></a>

A Frota spot envia um evento de `EC2 Spot Fleet Spot Instance Request Change` para Amazon EventBridge quando uma solicitação de Instância spot da frota muda de estado.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2",
    "detail-type": "EC2 Spot Fleet Spot Instance Request Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:53:21Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1"
    ],
    "detail": {
        "spot-instance-request-id": "sir-a2w9gc5h",
        "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Os possíveis valores para `sub-type` são:

`active`  
A solicitação de instância spot foi atendida e tem uma instância spot associada.

`cancelled`  
Você cancelou a solicitação de instância spot ou a solicitação de instância spot expirou.

`disabled`  
Você interrompeu a instância spot.

`submitted`  
A solicitação de instância spot foi enviada.

### Alteração da instância da frota spot do EC2
<a name="spot-fleet-instance-change"></a>

A frota spot envia um evento de `EC2 Spot Fleet Instance Change` para Amazon EventBridge quando uma instância na frota muda de estado.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "11591686-5bd7-bbaa-eb40-d46529c2710f",
    "detail-type": "EC2 Spot Fleet Instance Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T07:25:02Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61"
    ],
    "detail": {
        "instance-id": "i-08b90df1e09c30c9b",
        "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}",
        "sub-type": "launched"
    }
}
```

Os possíveis valores para `sub-type` são:

`launched`  
Uma nova instância foi executada.

`terminated`  
A instância foi encerrada.

`termination_notified`  
Uma notificação de encerramento de instância foi enviada quando uma instância spot foi encerrada pelo Amazon EC2 durante a redução da escala na vertical, quando a capacidade de destino da frota foi modificada para baixo, p. ex., de uma capacidade de destino de 4 para uma capacidade de destino de 3.

### Informações sobre a frota spot do EC2
<a name="spot-fleet-info"></a>

A frota spot envia um evento do `EC2 Spot Fleet Information` para Amazon EventBridge quando há um erro durante o atendimento. O evento informativo não impede a frota de tentar atender à sua capacidade de destino.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "73a60f70-3409-a66c-635c-7f66c5f5b669",
    "detail-type": "EC2 Spot Fleet Information",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-08T20:56:12Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1"
    ],
    "detail": {
        "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291",
        "sub-type": "launchSpecUnusable"
    }
}
```

Os possíveis valores para `sub-type` são:

`fleetProgressHalted`  
O preço em cada especificação de execução não é válido porque está abaixo do preço spot (todas as especificações de execução produziram `launchSpecUnusable` eventos). Uma especificação de execução pode se tornar válida se o preço spot mudar.

`launchSpecTemporarilyBlacklisted`  
A configuração não é válida e várias tentativas de executar instâncias falharam. Para obter mais informações, consulte a descrição do evento.

`launchSpecUnusable`  
O preço em uma especificação de execução não é válido porque está abaixo do preço spot.

`registerWithLoadBalancersFailed`  
Falha na tentativa de registrar instâncias com balanceadores de carga. Para obter mais informações, consulte a descrição do evento.

### Erro na frota spot do EC2
<a name="spot-fleet-config-not-valid"></a>

A frota spot envia um evento do `EC2 Spot Fleet Error` para Amazon EventBridge quando há um erro durante o atendimento. O evento de erro impede a frota de tentar atender à sua capacidade de destino.

A seguir estão dados de exemplo para esse evento. 

```
{
    "version": "0",
    "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2",
    "detail-type": "EC2 Spot Fleet Error",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T06:56:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17"
    ],
    "detail": {
        "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Os possíveis valores para `sub-type` são:

`iamFleetRoleInvalid`  
A frota spot não tem as permissões necessárias para executar ou encerrar uma instância.

`allLaunchSpecsTemporarilyBlacklisted`  
Nenhuma das configurações é válida e várias tentativas de executar instâncias falharam. Para obter mais informações, consulte a descrição do evento.

`spotInstanceCountLimitExceeded`  
Você atingiu o limite do número de Instâncias spot que você pode executar.

`spotFleetRequestConfigurationInvalid`  
A configuração não é válida. Para obter mais informações, consulte a descrição do evento.