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.
Etapas:
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
Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/
. -
Escolha Create function.
-
Escolha Author from scratch (Criar do zero).
-
Digite um nome e uma descrição para a função Lambda. Por exemplo, atribua à função o nome
LogEC2InstanceStateChange. -
Deixe o resto das opções como padrão e escolha Criar função.
-
Na guia Código da página da função, clique duas vezes em index.js.
-
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'); }; -
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
Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/
. -
No painel de navegação, escolha Regras.
-
Escolha Create rule.
-
Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como
TestRule -
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.
-
Em Rule type, escolha Rule with an event pattern.
-
Selecione Next (Próximo).
-
Em Fonte do evento, selecione Serviços da AWS.
-
Em Event pattern (Padrão de evento), faça o seguinte:
-
Em Origem do evento, selecione EC2 na lista suspensa.
-
Em Tipo de evento, escolha Notificação de mudança de estado da instância do EC2 na lista suspensa.
-
Escolha Estados específicos e escolha em execução na lista suspensa.
-
Escolha Qualquer instância
-
-
Escolha Próximo.
-
Em Tipos de destino, escolha Serviço da AWS.
-
Em Selecionar um destino, escolha a função do Lambda na lista suspensa.
-
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. -
Escolha Próximo.
-
Escolha Próximo.
-
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
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Execute uma instância. Para obter mais informações, consulte Iniciar uma instância no Manual do usuário do Amazon EC2.
-
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.
-
Para visualizar a saída da função do Lambda, faça o seguinte:
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Logs.
-
Selecione o nome do grupo de logs para sua função do Lambda (
/aws/lambda/).function-name -
Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você interrompeu.
-
(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
-
Abra a página Regras
no console do EventBridge. -
Selecione as regras que foram criadas.
-
Escolha Excluir.
-
Escolha Excluir.
Para excluir as funções do Lambda
-
Abra a página Funções
do console do Lambda. -
Selecione as funções que foram criadas.
-
Selecione Ações, Excluir.
-
Escolha Excluir.