Mi implementación de AWS CodeDeploy en instancias de Amazon Elastic Compute Cloud (Amazon EC2) ha fallado.
Descripción breve
Puede utilizar el runbook de automatización de AWS Systems Manager AWSSupport-TroubleshootCodeDeploy para solucionar problemas de implementaciones fallidas. El runbook le ayuda a identificar cuándo se produce un error en una implementación por los siguientes motivos:
- El agente CodeDeploy no está instalado o no se ejecuta en la instancia.
- Falta el perfil de instancia requerido.
- El perfil de instancia no tiene los permisos correctos de Amazon Simple Storage Service (Amazon S3).
- Hay un problema con uno de los enlaces del ciclo de vida que gestiona CodeDeploy, como AllowTraffic o BlockTraffic.
- Hay un problema con uno de los enlaces del ciclo de vida gestionados por el cliente.
- Se ha producido un problema con un evento de reducción de grupos de Auto Scaling durante la implementación.
- Falta un archivo de AppSpec o tiene un formato incorrecto.
Resolución
Importante: Utilice el runbook AWSSupport-TroubleshootCodeDeploy en la misma región de AWS en la que se encuentra su aplicación CodeDeploy.
1. Abra la consola de AWS Systems Manager.
2. En el panel de navegación, en la sección Gestión de cambios, seleccione Automatización.
3. Elija Ejecutar automatización.
4. En la pestaña Propiedad de Amazon, en el cuadro de búsqueda de documentos de automatización, escriba AWSSupport-TroubleshootCodeDeploy. A continuación, seleccione el icono de búsqueda o pulse Entrar en el teclado.
5. Seleccione el botón de radio de la tarjeta AWSSupport-TroubleshootCodeDeploy.
Nota: Asegúrese de seleccionar el botón de radio y no el nombre de la automatización con hipervínculos.
6. En la sección Detalles del documento, elija Siguiente.
7. En la sección Parámetros de entrada, en DeploymentId, introduzca el ID de despliegue que falló.
8. En el caso de InstanceID, introduzca el ID de instancia en el que falló la implementación.
9. Para AutomationAssumeRole, introduzca el nombre del recurso de Amazon (ARN) del rol que permite a Systems Manager Automation realizar acciones.
Nota: Si no se especifica un rol de AWS Identity and Access Management (IAM), Systems Manager Automation utiliza los permisos del rol de usuario de IAM que ejecuta el runbook. Para obtener más información sobre la creación de la función de asumir para Systems Manager Automation, consulte la tarea 1: Cree un rol de servicio para Automatización.
Importante: El rol de AutomationAssumeRole o el rol de usuario deben tener permisos para las siguientes acciones: codedeploy:GetDeployment, codedeploy:GetDeploymentTarget, y ec2:DescribeInstances.
10. Elija Ejecutar.
El resultado del runbook ofrece pasos para la solución de problemas y recomendaciones sobre cómo resolver el problema que provocó el error de implementación.
Información relacionada
Solución de problemas de CodeDeploy
Solucionar problemas de implementación de EC2/on-premise