Comment puis-je résoudre les problèmes liés à l'échec d'un déploiement de CodeDeploy sur des instances Amazon EC2 ?

Lecture de 3 minute(s)
0

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

Brève description

Vous pouvez utiliser le runbook d’automatisation AWSSupport-TroubleshootCodeDeploy pour résoudre les problèmes liés aux échecs 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.
  • Il existe un problème avec l'un des hooks de cycle de vie gérés par CodeDeploy, tels que AllowTraffic ou BlockTraffic.
  • Il y a un problème 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 d'échelle du groupe Auto Scaling lors du déploiement.
  • Un fichier AppSpec est manquant ou mal formaté.

Résolution

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

1.    Ouvrez la console AWS Systems Manager.

2.    Dans le volet de navigation, dans la section Gestion des modifications, choisissez Automatisation.

3.    Choisissez Exécuter l'automatisation.

4.    Dans l'onglet Appartenant à Amazon, dans la zone de recherche du document d’automatisation, saisissez AWSSupport-TroubleshootCodeDeploy. Sélectionnez ensuite l'icône de recherche ou appuyez sur la touche Entrée de votre clavier.

5.    Sélectionnez le bouton radio sur 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, choisissez Suivant.

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

8.    Pour InstanceID, entrez l'ID de l'instance où 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 aucun rôle AWS Identity and Access Management (IAM) n'est spécifié, 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'utilisateur pour Systems Manager Automation, consultez Tâche 1 : Créer une fonction du service pour Automation.

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

10.    Choisissez Exécuter.

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

Informations connexes

Dépannage de CodeDeploy

Résolution des problèmes de déploiement EC2/sur site