Como soluciono uma implantação do CodeDeploy com falha em instâncias do Amazon EC2?

Última atualização: 08-09-2021

A minha implantação do AWS CodeDeploy em instâncias do Amazon Elastic Compute Cloud (Amazon EC2) falhou.

Breve descrição

Você pode usar o runbook de automação AWSSupport-TroubleshootCodeDeploy do AWS Systems Manager para solucionar falhas em implantações. O runbook ajuda a identificar quando uma implantação falha pelos seguintes motivos:

  • O agente do CodeDeploy não está instalado ou não está em execução na instância.
  • O perfil da instância exigido está ausente.
  • O perfil da instância não tem as permissões corretas do Amazon Simple Storage Service (Amazon S3).
  • Há um problema com um dos ganchos do ciclo de vida gerenciados pelo CodeDeploy, como AllowTraffic ou BlockTraffic.
  • Há um problema com um dos ganchos do ciclo de vida gerenciados pelo cliente.
  • Ocorreu um problema com um evento de redução de escala na vertical do grupo do Auto Scaling durante a implantação.
  • Um arquivo AppSpec está ausente ou formatado incorretamente.

Resolução

Importante: use o runbook AWSSupport-TroubleshootCodeDeploy na mesma região da AWS em que a aplicação do CodeDeploy se encontra.

1.    Abra o console do AWS Systems Manager.

2.    No painel de navegação, na seção Change Management (Gerenciamento de alterações), escolha Automation (Automação).

3.    Escolha Execute automation (Executar automação).

4.    Na guia Owned by Amazon (Propriedade da Amazon), na caixa de pesquisa Automation document (Documentos de automação), insira AWSSupport-TroubleshootCodeDeploy. Em seguida, selecione o ícone de pesquisa ou pressione Enter no teclado.

5.    Selecione o botão de opção no cartão AWSSupport-TroubleshootCodeDeploy.

Observação: certifique-se de selecionar o botão de opção e não o nome de automação com hiperlink.

6.    Na seção Document details (Detalhes do documento), escolha Next (Próximo).

7.    Na seção Input parameters (Parâmetros de entrada), em DeploymentId, insira o ID de implantação que falhou.

8.    Em InstanceID, insira o ID da instância em que a implantação falhou.

9.    Em AutomationAssumeRole, insira o nome do recurso da Amazon (ARN) da função que permite que o Systems Manager Automation execute ações.

Observação: se você não especificar uma função do AWS Identity and Access Management (IAM), o Systems Manager Automation usará as permissões da função do usuário do IAM que executa o runbook. Para obter mais informações sobre como criar a AssumeRole para o Systems Manager Automation, consulte Tarefa 1: Crie uma função de serviço para automação.

Importante: a função AutomationAssumeRole ou a função de usuário deve ter permissões para as seguintes ações: codedeploy:GetDeployment, codedeploy:GetDeploymentTarget e ec2:DescribeInstances.

10.    Escolha Execute (Executar).

A saída do runbook fornece etapas e recomendações de solução de problemas para resolver o problema que gerou a falha na implantação.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?