Um engenheiro de DevOps implantou um modelo do CloudFormation que inicia um aplicativo web (ALB, grupo de destino, modelo de inicialização usando Amazon Linux 2 AMI, grupo de Auto Scaling, grupo de segurança e um banco de dados RDS MySQL). Os dados do usuário do modelo de inicialização executam um script para instalar e iniciar o aplicativo. Após atualizar os dados do usuário para uma nova versão do aplicativo e reimplantar via pipeline de CI/CD, as verificações de integridade do ALB falham e todos os destinos mostram-se não íntegros. A stack do CloudFormation mostra UPDATE_COMPLETE, mas um log da instância EC2 mostra que o Apache falhou ao iniciar devido a um erro de configuração. Como o engenheiro pode fazer com que o CloudFormation falhe a implantação se o script de dados do usuário não for concluído com sucesso?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Use o auxiliar cfn-signal para enviar sinais de sucesso ou falha ao CloudFormation. Adicione a política de atualização WaitOnResourceSignals ao recurso no modelo do CloudFormation e configure um tempo limite apropriado para a política de atualização..
Por que esta é a resposta
A opção correta é usar o auxiliar cfn-signal. Ele permite que scripts executados em instâncias EC2 enviem sinais de sucesso ou falha diretamente ao CloudFormation. Ao combinar isso com a política de atualização WaitOnResourceSignals no recurso do CloudFormation, a implantação só será considerada bem-sucedida se o script de dados do usuário for concluído sem erros e enviar um sinal de sucesso. Um tempo limite garante que a implantação não fique travada indefinidamente esperando por um sinal. As outras opções são incorretas porque: Criar um alarme do CloudWatch na métrica UnhealthyHostCount do grupo de destino não sinaliza diretamente o CloudFormation sobre o sucesso ou falha do script de inicialização da instância. Ele apenas indica o estado de saúde após a inicialização. Adicionar um hook de ciclo de vida do Auto Scaling publica em um tópico SNS, mas não tem um mecanismo direto para fazer o CloudFormation falhar a implantação com base na conclusão do script de dados do usuário. Transmitir logs do cloud-init com o agente do CloudWatch e usar uma Lambda para chamar SignalResource é uma abordagem mais complexa e indireta. O cfn-signal é a ferramenta nativa e mais eficiente para este caso de uso específico.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão