Tutorial: registro do estado de uma instância do Amazon EC2 usando o EventBridge - Amazon EventBridge

Tutorial: registro do estado de uma instância do Amazon EC2 usando o EventBridge

Também é possível criar uma função do AWS Lambda que registra as alterações de estado para uma instância do Amazon EC2. Você pode optar por criar uma regra que execute a função do Lambda sempre que houver uma transição de estado ou uma transição para um ou mais estados de interesse. Neste tutorial, você registra a execução de qualquer nova instância.

Etapa 1: Criar uma função do AWS Lambda

Crie uma função do Lambda para registrar em log os eventos de alteração de estado. Ao criar sua regra na etapa 2, essa função é especificada.

Como criar uma função do Lambda
  1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Escolha Create function.

  3. Escolha Author from scratch (Criar do zero).

  4. Digite um nome e uma descrição para a função Lambda. Por exemplo, atribua à função o nome LogEC2InstanceStateChange.

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

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

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

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2InstanceStateChange'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Escolha Deploy (Implantar).

Etapa 2: Criar uma regra

Crie uma regra para executar a função do Lambda criada na etapa 1. A regra é executada quando você iniciará uma instância do Amazon EC2.

Como criar a regra do EventBridge
  1. Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Regras.

  3. Escolha Create rule.

  4. Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como TestRule

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

  6. Em Rule type, escolha Rule with an event pattern.

  7. Selecione Next (Próximo).

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

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

    1. Em Origem do evento, selecione EC2 na lista suspensa.

    2. Em Tipo de evento, escolha Notificação de mudança de estado da instância do EC2 na lista suspensa.

    3. Escolha Estados específicos e escolha em execução na lista suspensa.

    4. Escolha Qualquer instância

  10. Escolha Próximo.

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

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

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

  14. Escolha Próximo.

  15. Escolha Próximo.

  16. Analise os detalhes da regra e selecione Criar regra.

Etapa 3: Testar a regra

Você pode testar a regra ao interromper uma instância do Amazon EC2 usando o console do Amazon EC2. Espere alguns minutos pela interrupção da instância e confira suas métricas do AWS Lambda no console do CloudWatch para verificar se sua função foi executada.

Como testar a regra ao parar uma instância
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Execute uma instância. Para obter mais informações, consulte Iniciar uma instância no Manual do usuário do Amazon EC2.

  3. Pare a instância. Para obter mais informações, consulte Início e interrupção de instâncias no Manual do usuário do Amazon EC2.

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

    1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

    2. No painel de navegação, selecione Logs.

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

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

  5. (Opcional) Ao terminar, encerre a instância interrompida. Para obter mais informações, consulte Encerramento de instâncias no Guia do usuário do Amazon EC2.

Etapa 4: confirmar o êxito

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

Etapa 5: limpar os recursos

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

Para excluir as regras do EventBridge
  1. Abra a página Regras no console do EventBridge.

  2. Selecione as regras que foram criadas.

  3. Escolha Excluir.

  4. Escolha Excluir.

Para excluir as funções do Lambda
  1. Abra a página Funções do console do Lambda.

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

  3. Selecione Ações, Excluir.

  4. Escolha Excluir.