

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á.

# Tutorial: registre o estado de um grupo de Auto Scaling usando EventBridge
<a name="eb-log-as-group-state"></a>

É possível executar uma função do [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) que registre um [evento](eb-events.md) sempre que um grupo do Auto Scaling iniciar ou terminar uma instância do Amazon EC2, além de registrar se o evento de inicialização ou término teve êxito.

Para obter informações sobre mais cenários que usam eventos do Amazon EC2 Auto Scaling[, EventBridge consulte Use to handle Auto Scaling events no Amazon *EC2 Auto*](https://docs.aws.amazon.com/autoscaling/latest/userguide/automating-ec2-auto-scaling-with-eventbridge.html) Scaling User Guide.

Neste tutorial, você cria uma função Lambda e cria uma [regra](eb-rules.md) no EventBridge console que chama essa função quando um grupo do Amazon EC2 Auto Scaling inicia ou encerra uma instância.

**Topics**
+ [Pré-requisitos](#eb-as-prereqs)
+ [Etapa 1: criar uma função do Lambda](#eb-as-create-lambda-function)
+ [Etapa 2: Criar uma regra](#eb-as-create-rule)
+ [Etapa 3: Testar a regra](#eb-as-test-rule)
+ [Etapa 4: confirmar o êxito](#success)
+ [Etapa 5: limpar os recursos](#cleanup)

## Pré-requisitos
<a name="eb-as-prereqs"></a>

Para concluir este tutorial, serão necessários os seguintes recursos:
+ Um grupo do Auto Scaling. Para obter mais informações, consulte [Como criar um grupo do Auto Scaling usando uma configuração de execução](https://docs.aws.amazon.com/autoscaling/latest/userguide/create-asg.html) no Guia do usuário do Amazon EC2 Auto Scaling.

## Etapa 1: criar uma função do Lambda
<a name="eb-as-create-lambda-function"></a>

Crie uma função do Lambda para registrar os eventos de aumento e redução da escala na horizontal para seu grupo do Auto Scaling. 

**Criar uma função do Lambda**

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

1. Escolha **Create function** (Criar função).

1. Escolha **Author from scratch** (Criar do zero).

1. Insira um nome para a função do Lambda. Por exemplo, atribua à função o nome `LogAutoScalingEvent`.

1. Deixe o resto das opções como padrão e escolha **Criar função**.

1. Na guia **Código** da página da função, clique duas vezes em **index.js**.

1. Substitua o código existente pelo código a seguir.

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogAutoScalingEvent');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. Escolha **Deploy (Implantar)**.

## Etapa 2: Criar uma regra
<a name="eb-as-create-rule"></a>

Crie uma regra para executar a função do Lambda criada na etapa 1. A regra é executada quando seu grupo do Auto Scaling inicia ou interrompe uma instância.

**Para criar uma regra do**

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. Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como `TestRule`

1. Em **Barramento de Eventos**, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione **padrão**. Quando um serviço da AWS 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. Selecione **Next** (Próximo).

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

1. Em **Event pattern** (Padrão de evento), faça o seguinte:

   1. Em **Origem do evento,** selecione **ajuste de escala automático** na lista suspensa.

   1. Em **Tipo de evento**, selecione **Iniciar e encerrar instância** na lista suspensa.

   1. Escolha **Qualquer evento de instância** e **Qualquer nome de grupo**.

1. Escolha **Próximo**.

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

1. Em **Selecionar um destino**, escolha a **função do Lambda** na lista suspensa.

1. Em **Função**, selecione a função do Lambda criada na seção **Etapa 1: criar uma função do Lambda**. Neste exemplo, selecione `LogAutoScalingEvent`.

1. Escolha **Próximo**.

1. Escolha **Próximo**.

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

## Etapa 3: Testar a regra
<a name="eb-as-test-rule"></a>

Você pode testar a regra escalando manualmente um grupo do Auto Scaling para que ele inicie uma instância. Espere alguns minutos para que o evento que aumenta a escala horizontalmente ocorra, verifique se sua função do Lambda foi invocada.

**Para testar a regra usando um grupo do Auto Scaling**

1. Para aumentar o tamanho de seu grupo do Auto Scaling, faça o seguinte:

   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 **Auto Scaling**, **Auto Scaling Groups (Grupos de Auto Scaling)**.

   1. Marque a caixa de seleção para seu grupo do Auto Scaling.

   1. Na guia **Details (Detalhes)**, escolha **Edit (Editar)**. Em **Desejada**, aumente a capacidade desejada para um. Por exemplo, se o valor atual for **2**, digite **3**. A capacidade desejada deve ser menor ou igual ao tamanho máximo do grupo. Se o seu novo valor para **Desejado** for maior que **Máx**, você deve atualizar **Máx**. Ao terminar, escolha **Salvar**.

1. Para visualizar a saída da função do Lambda, faça o seguinte:

   1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

   1. No painel de navegação, selecione **Logs**.

   1. Selecione o nome do grupo de logs para sua função do Lambda (`/aws/lambda/{{function-name}}`).

   1. Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você iniciou.

1. (Opcional) Ao concluir, é possível diminuir a capacidade desejada em um nível para que o grupo do Auto Scaling volte ao tamanho anterior.

## Etapa 4: confirmar o êxito
<a name="success"></a>

Se você ver o evento Lambda nos CloudWatch registros, concluiu com êxito este tutorial. Se o evento não estiver em seus CloudWatch registros, comece a solucionar problemas verificando se a regra foi criada com sucesso e, se a regra parecer correta, verifique se o código da sua função Lambda está correto.

## Etapa 5: limpar os recursos
<a name="cleanup"></a>

Agora você pode excluir os recursos criados para este tutorial, a menos que queira mantê-los. Ao excluir AWS recursos que você não está mais usando, você evita cobranças desnecessárias em sua AWS conta.

**Para excluir a (s) EventBridge regra (s)**

1. Abra a [página Regras](https://console.aws.amazon.com/events/home#/rules) do EventBridge console.

1. Selecione as regras que foram criadas.

1. Escolha **Excluir**.

1. Escolha **Excluir**.

**Para excluir as funções do Lambda**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Selecione as funções que foram criadas.

1. Selecione **Ações**, **Excluir**.

1. Escolha **Excluir**.