Atualização do EC2 Run Command – Acompanhe a execução usando notificações

setembro 9, 2016 1:00 pm Publicado por Deixe um comentário

Nós lançamos o EC2 Run Command no final do ano passado e estamos gostando de ver como os nossos clientes o estão usando em sua nuvem e em ambientes locais. Após o lançamento, rapidamente adicionamos suporte para instâncias do Linux, o poder de gerenciar & compartilhar comandos e a capacida e de gerenciar nuvem híbrida & nuvem cruzada. Já tornamos o EC2 Run Command disponível nas regiões da China (Beijing) e Ásia-Pacífico (Seoul).

Nossos clientes estão usando o EC2 Run Command para automatizar e encapsular as tarefas de rotina de administração do sistema. Eles estão criando usuários e grupos locais, digitalizando atualizações do Windows e, em seguida, instalando as atualizações do Windows aplicáveis, gerindo os serviços, verificando os arquivos de log e similares. Estes clientes estão usando o EC2 Run Command como um bloco de construção, e eles nos disseram que gostariam de ter uma melhor visibilidade do processo de execução de comando real. Eles gostariam de saber, de forma rápida e muitas vezes em detalhes, quando cada comando e cada bloco de código no comando começa a ser executado, quando ele é concluído e como ele é concluído (com êxito ou não).

A fim de apoiar este caso de uso muito importante, agora você pode providenciar para ser notificado quando o status de um comando ou um bloco de código dentro de um comando é alterado. Para lhe dar várias opções de integração diferentes, você pode receber notificações via CloudWatch Events ou via Amazon Simple Notification Service (SNS).

Estas notificações permitirão usar o EC2 Run Command na forma de blocos de construção. Você pode programaticamente chamar comandos e, em seguida, processar os resultados deles. Por exemplo, você pode criar e executar um comando que captura o conteúdo de arquivos de sistema importantes e métricas em cada instância. Quando o comando é executado, o EC2 Run Command vai salvar a saída no S3. O manipulador de notificação pode recuperar o objeto do S3, digitalizá-lo para itens de interesse ou preocupação e, em seguida, criar um alerta se algo parece estar errado.

Monitorando, executando e usando o Amazon SNS

Vamos executar um comando em algumas instâncias do EC2 e monitorar o progresso usando o SNS.

Seguindo as instruções (comandos de monitoramento), criei um bucket S3 (jbarr-run-output), um tópico SNS (command-status) e uma função IAM (RunCommandNotifySNS) que permitem que o agente on-instance envie notificações em meu nome. Eu também subscrevi o meu endereço de e-mail para o tópico SNS, e entrei com o comando:

run_cmd_ifconfig_1

E especifiquei o bucket, tópico e função (abaixo na página Run a command):

run_cmd_setup_notify_3

Eu escolhi All para ser notificado de todas as alterações de status possíveis (In Progress, Success, Timed Out, Cancelled e Failed) e Invocation para que eu iria receber notificações como o status de cada mudança de instância. Eu poderia ter escolhido receber notificações no nível de comando (representando todas as instâncias), selecionando Command em vez de Invocation.

Eu cliquei em Run e recebi uma sequência de e-mails que os comandos foram executados em cada uma das instâncias que eu selecionei. Veja um exemplo:

run_cmd_notify_sns_email_2

Em um ambiente real que você iria receber e processar estas notificações de programação.

Monitorando, executando e usando o CloudWatch Events

Eu também posso monitorar a execução de meus comandos usando o CloudWatch Events. Posso enviar as notificações a uma função AWS Lambda, uma fila SQS ou uma stream do Amazon Kinesis.

Para fins ilustrativos, eu usei uma função muito simples do Lambda:

run_cmd_lambda_code_func_1

Criei uma regra que iria invocar a função para todas as notificações emitidas pelo Run Command (como você pode ver abaixo, eu poderia ter sido mais específico, se necessário):

run_cmd_use_cw_events_instead_2

Salvei a regra e executei outro comando; e então verifiquei as métricas no CloudWatch alguns segundos depois:

run_cmd_lambda_cw_metrics_1

Eu também verifiquei o registro do CloudWatch e inspecionei a saída do meu código:

run_cmd_lambda_log_entry_1

Já disponível

Este recurso já está disponível e você já pode começar a usá-lo.

Monitoramento via SNS está disponível em todas as regiões da AWS exceto Ásia-Pacífico (Mumbai) e AWS GovCloud (US). Monitoramento via CloudWatch Events está disponível em todas as regiões da AWS exceto Ásia-Pacífico (Mumbai), China (Beijing), e AWS GovCloud (US).

Deixe suas dúvidas e/ou comentários aqui ou escreva diretamente para o autor (em inglês).

Source: IMasters

Categorizados em:

Este artigo foi escrito pormajor

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *