

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando o Elastic Beanstalk com a Amazon EventBridge
EventBridge

Usando a Amazon EventBridge, você pode configurar regras orientadas por eventos que monitoram seus recursos do Elastic Beanstalk e iniciam ações direcionadas que usam outros serviços. AWS Por exemplo, você pode definir uma regra para enviar notificações por e-mail sinalizando um tópico do Amazon SNS sempre que a integridade de um ambiente de produção mudar para um status de *Warning* (Aviso). . Ou você pode definir uma função do Lambda para passar uma notificação ao Slack sempre que a integridade do seu ambiente mudar para um status *Degradated* (Degradado) ou *Severe* (Grave).

Você pode criar regras na Amazon EventBridge para atuar em qualquer um dos seguintes eventos do Elastic Beanstalk:
+ *Alterações de estado para operações de ambiente (incluindo operações de criação, atualização e encerramento). * O evento especificará se a alteração de estado foi iniciada, bem-sucedida ou falhou.
+ *Alterações de estado para outros recursos. *Além dos ambientes, outros recursos monitorados incluem balanceadores de carga, grupos de escalabilidade automática e instâncias.
+ *Transição de integridade para ambientes.* O evento indica onde a integridade do ambiente passou de um determinado estado para outro. 
+ *Alteração de estado para atualizações gerenciadas.* O evento especificará se a alteração de estado foi iniciada, bem-sucedida ou falhou.

Para capturar eventos específicos do Elastic Beanstalk nos quais você está interessado, defina EventBridge padrões específicos de eventos que possam ser usados para detectar os eventos. Os padrões de eventos têm a mesma estrutura que os eventos aos quais correspondem. O padrão menciona os campos com os quais você deseja fazer a correspondência e fornece os valores que você está procurando. Os eventos são emitidos com base no melhor esforço. Eles são entregues pelo Elastic EventBridge Beanstalk para quase em tempo real em circunstâncias operacionais normais. No entanto, podem surgir situações que podem atrasar ou impedir a entrega de um evento.

Para obter uma lista de campos incluídos nos eventos do Elastic Beanstalk e seus possíveis valores de string, consulte [Mapeamento de campo de evento do Elastic Beanstalk](#eb-eventbridge-mapping). Para obter informações sobre como EventBridge as regras funcionam com padrões de eventos, consulte [Eventos e padrões de eventos em EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html). 

## Monitore um recurso do Elastic Beanstalk com EventBridge


Com EventBridge, você pode criar regras que definem ações a serem tomadas quando o Elastic Beanstalk emite eventos para seus recursos. Por exemplo, você pode criar uma regra que envia uma mensagem de e-mail sempre que o status de um ambiente for alterado. 

O EventBridge console tem uma opção de **padrão predefinida** para criar padrões de eventos do Elastic Beanstalk. Se você selecionar essa opção no EventBridge console ao criar uma regra, poderá criar rapidamente um padrão de eventos do Elastic Beanstalk. Você só precisa selecionar os campos e os valores do evento. Ao fazer seleções, o console constrói e exibe o padrão do evento. Como alternativa, você pode editar manualmente o padrão do evento que você criar e pode salvá-lo como um padrão personalizado. O console também fornece a opção para exibir um **Sample Event** (Exemplo de evento) detalhado que você pode copiar e colar no padrão de evento que está criando.

Se você preferir digitar ou copiar e colar um padrão de evento no EventBridge console, poderá optar por usar a opção **Padrão personalizado** no console. Ao fazer isso, você não precisará passar pelas etapas de seleção de campos e valores descritos anteriormente. Este tópico oferece exemplos de [padrões de correspondência de eventos ](#eb-eventbridge-patterns) e [eventos do Elastic Beanstalk](#eb-eventbridge-examples) que você pode usar. 

**Para criar uma regra para um evento de recurso**

1. Faça login AWS usando uma conta que tenha permissões de uso EventBridge e do Elastic Beanstalk.

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

1. No painel de navegação, escolha **Regras**.

1. Escolha **Create rule**.

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

1. Em **Barramento de eventos**, escolha **padrão**. Quando um AWS serviço em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.

1. Em **Rule type**, escolha **Rule with an event pattern**.

1. Escolha **Próximo**.

1. Em **Origem do evento**, escolha **AWS eventos ou eventos de EventBridge parceiros**.

1. (Opcional) Para **Exemplo de evento**, selecione**Eventos da AWS **. Insira *Elastic Beanstalk* no campo de pesquisa. Isso fornecerá uma lista de exemplos de eventos do Elastic Beanstalk que é possível escolher para exibição. Essa etapa simplesmente exibe um exemplo de evento que você pode referenciar. Isso não afeta o resultado da criação da regra. A seção [Eventos demonstrativos do Elastic Beanstalk](#eb-eventbridge-examples) mais adiante neste tópico fornecerá exemplos do mesmo tipo de evento.

1. Na seção **Event patter** (Padrão de evento), selecione **Event pattern form** (Formulário de padrão de evento).
**nota**  
Se você já tem texto para um padrão de evento e não precisa que o EventBridge console o crie para você, selecione **Padrão personalizado (editor JSON)**. Você pode inserir manualmente ou copiar e colar texto na caixa **Event pattern** (Padrão de evento). Selecione **Next** (Seguinte) e acesse a etapa sobre como inserir um destino.

1. Em **Fonte do evento**, selecione **Serviços da AWS **. 

1. Em **Serviço da AWS **, selecione **Elastic Beanstalk**.

1. Em **Event type** (Tipo de evento), selecione **Status Change** (Alteração de status).

1. Essa etapa aborda como você pode trabalhar com os campos de evento **detail type** (tipo de detalhe), **status**e **severity** (gravidade) do Elastic Beanstalk. À medida que você escolhe esses campos e os valores que deseja corresponder, o console cria e exibe o padrão do evento. 
   + Se você selecionar *somente um* valor para **Tipos de detalhes específicos**, poderá escolher um ou mais valores para o próximo campo na hierarquia.
   + Se você escolher *mais de um* valor para **Tipos de detalhes específicos**, não escolha valores específicos para os próximos campos na hierarquia. Isso evita uma lógica de correspondência ambígua entre campos no seu padrão de evento.

   O campo de evento **environment** (ambiente) não é afetado por essa hierarquia. Portanto, ele é exibido conforme descrito na próxima etapa.

1. Para o ambiente, selecione **Any environment** (Qualquer ambiente) ou **Specific environment(s)** (Ambientes específicos).
   + Se você selecionar **Ambientes específicos**, poderá escolher um ou mais ambientes na lista suspensa. EventBridge adiciona todos os ambientes que você seleciona na lista *EnvironmentName[]* na seção de *detalhes* do padrão do evento. Em seguida, sua regra filtra todos os eventos para incluir apenas os ambientes específicos que você escolher.
   + Se você selecionar **Any environment** (Qualquer ambiente), nenhum ambiente será adicionado ao seu padrão de evento. Por isso, sua regra não filtra qualquer dos eventos do Elastic Beanstalk com base no ambiente.

1. Escolha **Próximo**.

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

1. Em **Select a target** (Selecionar um destino), escolha a ação de destino a ser executada quando um evento de alteração de estado de recurso for recebido do Elastic Beanstalk.

   Por exemplo, é possível usar um tópico do Amazon Simple Notification Service (SNS) para enviar um e-mail ou mensagem de texto quando ocorrer um evento. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para saber mais, consulte [Usar o Amazon SNS para notificações de usuários](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html).
**Importante**  
Algumas ações de destino podem exigir o uso de outros serviços e gerar cobranças adicionais, como o Amazon SNS ou o serviço Lambda. Para obter mais informações sobre AWS preços, consulte[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alguns serviços fazem parte do nível de uso AWS gratuito. Se for um cliente novo, você pode testar esses serviços gratuitamente. Consulte [https://aws.amazon.com/free/](https://aws.amazon.com/free/) para obter mais informações. 

1. (Opcional) Escolha **Add another target** (Adicionar outro destino) para especificar uma ação de destino adicional para a regra de evento.

1. Escolha **Próximo**.

1. (Opcional) Insira uma ou mais tags para a regra. Para obter mais informações, consulte as [ EventBridge tags da Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html) no *Guia EventBridge do usuário da Amazon*.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e selecione **Criar regra**.

## Eventos demonstrativos de padrões de eventos do Elastic Beanstalk


Os padrões de eventos têm a mesma estrutura que os eventos aos quais correspondem. O padrão menciona os campos com os quais você deseja fazer a correspondência e fornece os valores que você está procurando.
+ *Health status change* (Alteração de estado de integridade) para todos os ambientes

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Health status change"
      ]
  }
  ```
+ *Health status change* (Alteração do estado de integridade) para os seguintes ambientes: `myEnvironment1` e `myEnvironment2`. Esse padrão de evento filtra para esses dois ambientes específicos, enquanto o exemplo anterior de *Health status change* (Alteração do estado de integridade) que não filtra envia eventos para todos os ambientes.

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Health status change"
      ],
      "detail": {
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Elastic Beanstalk resource status change* (Alteração de status do recurso do Elastic Beanstalk) para todos os ambientes

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Elastic Beanstalk resource status change"
      ]
  }
  ```
+ *Elastic Beanstalk resource status change* (Alteração de status do recurso do Elastic Beanstalk) com `Status` *a atualização do ambiente falhou* e `Severity` *ERRO* para os seguintes ambientes: `myEnvironment1` e `myEnvironment2`

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Elastic Beanstalk resource status change"
      ],
      "detail": {
          "Status": [
              "Environment update failed"
              ],
          "Severity": [
              "ERROR"
              ],
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Other resource status change* (Alteração de status de outros recursos) para balanceadores de carga, grupos de Auto Scaling e instâncias

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Other resource status change"
      ]
  }
  ```
+ *Managed update status change* (Alteração de status de atualização gerenciada) para ambientes

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Managed update status change"
      ]
  }
  ```
+ Para capturar *all events (todos os eventos)* do Elastic Beanstalk (exclua a seção `detail-type`)

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ]
  }
  ```

## Eventos demonstrativos do Elastic Beanstalk


Veja a seguir um evento demonstrativo do Elastic Beanstalk para uma *alteração de status de recurso*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Elastic Beanstalk resource status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:31:54Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment creation started",
      "EventDate":1604363513951,
      "ApplicationName":"myApplication",
      "Message":"createEnvironment is starting.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

Veja a seguir um evento demonstrativo do Elastic Beanstalk para uma *alteração de status de integridade*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Health status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:34:48Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment health changed",
      "EventDate":1604363687870,
      "ApplicationName":"myApplication",
      "Message":"Environment health has transitioned from Pending to Ok. Initialization completed 1 second ago and took 2 minutes.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

## Mapeamento de campo de evento do Elastic Beanstalk


A tabela a seguir mapeia os campos de eventos do Elastic Beanstalk e seus possíveis valores de string para o campo. EventBridge `detail-type` Para obter mais informações sobre como EventBridge funciona com padrões de eventos para um serviço, consulte [Eventos e padrões de eventos em EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html). 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/AWSHowTo.eventbridge.html)