Comment puis-je résoudre un problème lié à un échec de déploiement CodeDeploy sur des instances Amazon EC2 ?

Date de la dernière mise à jour : 08/09/2021

Mon déploiement AWS CodeDeploy sur les instances Amazon Elastic Compute Cloud (Amazon EC2) a échoué.

Brève description

Vous pouvez utiliser le runbook Automation AWSSupport-TroubleshootCodeDeploy d'AWS Systems Manager pour résoudre les problèmes d'échec de déploiement. Le runbook vous aide à identifier l'échec d'un déploiement pour les raisons suivantes :

  • L'agent CodeDeploy n'est pas installé ou n'est pas en cours d'exécution sur l'instance.
  • Le profil d'instance requis est manquant.
  • Le profil d'instance ne dispose pas des autorisations Amazon Simple Storage Service (Amazon S3) correctes.
  • Un problème se produit avec l'un des hooks de cycle de vie gérés par CodeDeploy, comme AllowTraffic ou BlockTraffic.
  • Un problème se produit avec l'un des hooks de cycle de vie gérés par le client.
  • Un problème s'est produit lors d'un événement de réduction de la taille du groupe Auto Scaling au cours du déploiement.
  • Un fichier AppSpec est manquant ou mal formaté.

Solution

Important : utilisez le runbook AWSSupport-TroubleshootCodeDeploy dans la même région AWS que celle où se trouve votre application CodeDeploy.

1.    Ouvrez AWS Systems Manager console.

2.    Dans le panneau de navigation, dans la section Gestion des modifications, choisissez Automation.

3.    Choisissez Exécuter l'automatisation.

4.    Dans l'onglet Propriété d'Amazon, dans la zone de recherche de document Automation, saisissez AWSSupport-TroubleshootCodeDeploy. Sélectionnez ensuite l'icône de recherche ou appuyez sur Entrée sur votre clavier.

5.    Sélectionnez le bouton radio de la carte AWSSupport-TroubleshootCodeDeploy.

Remarque : Assurez-vous de sélectionner le bouton radio et non le nom de l'automatisation en lien hypertexte.

6.    Dans la section Détails du document, cliquez sur Suivant.

7.    Dans la section Paramètres d'entrée, pour DeploymentId, entrez l'ID du déploiement qui a échoué.

8.    Pour InstanceID, saisissez l'ID de l'instance sur laquelle le déploiement a échoué.

9.    Pour AutomationAssumeRole, entrez l'Amazon Resource Name (ARN) du rôle qui permet à Systems Manager Automation d'effectuer des actions.

Remarque : Si vous ne spécifiez pas de rôle AWS Identity and Access Management (IAM), Systems Manager Automation utilise les autorisations du rôle d'utilisateur IAM qui exécute le runbook. Pour plus d'informations sur la création du rôle d'endossement pour Systems Manager Automation, consultez Tâche 1 : Création d'une fonction du service pour Automation.

Important : Le rôle AutomationAssumeRole ou le rôle d'utilisateur doit disposer d'autorisations pour les actions suivantes : codedeploy:GetDeployment, codedeploy:GetDeploymentTarget et ec2:DescribeInstances.

10.    Sélectionnez Exécuter.

La sortie du runbook fournit des étapes de dépannage et des recommandations sur la façon de résoudre le problème à l'origine de l'échec de votre déploiement.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?