

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes liés à votre environnement Elastic Beanstalk
<a name="troubleshooting"></a>

Ce chapitre fournit des conseils pour résoudre les problèmes liés à votre environnement Elastic Beanstalk. Elle comprend les éléments suivants :
+ Présentation de AWS Systems Manager, y compris une procédure permettant d'exécuter des runbooks Elastic Beanstalk prédéfinis qui fournissent des étapes de dépannage et des recommandations.
+ Conseils généraux concernant les actions et les ressources à utiliser lorsque l'état de votre environnement se dégrade.
+ Conseils de dépannage spécifiques organisés par catégorie.

**Si l'état de votre environnement passe au rouge**, nous vous recommandons d'utiliser d'abord l' AWS Systems Manager outil qui inclut des runbooks prédéfinis pour résoudre les problèmes liés à Elastic Beanstalk. Pour en savoir plus, consultez le [ Utilisation de l'outil Systems Manager](#troubleshooting-systems-manager).

**Essayez Amazon Q Developer CLI pour un dépannage assisté par l'IA**  
 La CLI Amazon Q Developer peut vous aider à résoudre rapidement les problèmes d'environnement. La Q CLI fournit des solutions en vérifiant l'état de l'environnement, en examinant les événements, en analysant les journaux et en posant des questions de clarification. Pour plus d'informations et des instructions détaillées, consultez la section [Résolution des problèmes liés aux environnements Elastic Beanstalk avec Amazon](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI dans les blogs. AWS 

**Topics**
+ [Utilisation de l'analyse de l'environnement basée sur l'IA](#troubleshooting-ai-analysis)
+ [Utilisation des AWS Systems Manager runbooks Elastic Beanstalk](#troubleshooting-systems-manager)
+ [Conseils généraux pour résoudre les problèmes liés à votre environnement Elastic Beanstalk](#troubleshooting-general)
+ [Environnements qui accèdent aux secrets et aux paramètres à l'aide de variables d'environnement](#troubleshooting-secrets-env-variables)
+ [Création de l'environnement et lancements d'instance](#troubleshooting-envcreate)
+ [Déploiements](#troubleshooting-deployments)
+ [Santé](#troubleshooting-health)
+ [Environnements dotés d'équilibreurs de charge configurés à double pile](#troubleshooting-dual-stack-load-balancer)
+ [Configuration](#troubleshooting-configuration)
+ [Résolution des problèmes de conteneurs Docker](#troubleshooting-docker)
+ [FAQ](#troubleshooting-faq)
+ [Erreurs courantes](#common-errors)
+ [Erreurs de déploiement](#python-common-troubleshooting)

## Utilisation de l'analyse de l'environnement basée sur l'IA
<a name="troubleshooting-ai-analysis"></a>

Elastic Beanstalk fournit des analyses basées sur l'IA pour aider à identifier les causes profondes et à recommander des solutions aux problèmes de santé liés à l'environnement. Vous pouvez accéder à cette fonctionnalité via le bouton **AI Analysis** de la console, en utilisant l'API Elastic Beanstalk AWS CLI via ou en **eb logs --analyze** exécutant l'EB CLI. L'analyse examine les journaux, les événements et l'état de santé des instances de votre environnement afin d'identifier les problèmes critiques et de fournir des recommandations de step-by-step résolution des problèmes.

Pour de plus amples informations, veuillez consulter [Analyse de l'environnement basée sur l'IA](health-ai-analysis.md).

## Utilisation des AWS Systems Manager runbooks Elastic Beanstalk
<a name="troubleshooting-systems-manager"></a>

Vous pouvez utiliser Systems Manager pour résoudre les problèmes de vos environnements Elastic Beanstalk. Pour vous aider à démarrer rapidement, Systems Manager fournit des runbooks d'automatisation prédéfinis pour Elastic Beanstalk. Un runbook d'automatisation est un type de document Systems Manager qui définit les actions à effectuer sur les instances de votre environnement et d'autres ressources AWS .

Le document `AWSSupport-TroubleshootElasticBeanstalk` est un runbook d'automatisation conçu pour aider à identifier un certain nombre de problèmes courants susceptibles de dégrader votre environnement Elastic Beanstalk. Pour ce faire, il vérifie les composants de votre environnement, notamment les suivants : les instances EC2, le VPC, la pile, les CloudFormation équilibreurs de charge, les groupes Auto Scaling et la configuration réseau associée aux règles des groupes de sécurité, aux tables de routage et. ACLs

Il fournit également la possibilité de charger des fichiers journaux groupés depuis votre environnement vers AWS Support.

Pour plus d’informations, consultez [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html) dans la référence *AWS Systems Manager Automation runbook*.

**Utilisation de Systems Manager pour exécuter le runbook `AWSSupport-TroubleshootElasticBeanstalk`**
**Note**  
Exécutez cette procédure Région AWS là où se trouve votre environnement Elastic Beanstalk.

1. Ouvrez la console [AWS Systems Manager](https://console.aws.amazon.com/systems-manager/home). 

1. Dans le panneau de navigation, dans la section **Gestion des modifications**, choisissez **Automatisation**.

1. Choisissez **Execute automation (Exécuter l’automatisation)**.

1. Dans l'onglet **Appartenant à Amazon**, dans le champ de recherche de **Document d'automatisation**, saisissez `AWSSupport-TroubleshootElasticBeanstalk`.

1. Sélectionnez la **AWSSupport-TroubleshootElasticBeanstalk**carte, puis choisissez **Next**.

1. Sélectionnez **Exécuter**.

1. Dans la section **Paramètres d'entrée** :

   1. Dans le menu **AutomationAssumeRole**déroulant, sélectionnez l'ARN du rôle qui permet à Systems Manager d'effectuer des actions en votre nom.

   1. Pour **ApplicationName**, entrez le nom de l'application Elastic Beanstalk.

   1. Dans **Nom de l'environnement**, saisissez l'environnement Elastic Beanstalk.

   1. (Facultatif) Pour **S3 UploaderLink**, entrez un lien si un ingénieur AWS Support vous a fourni un lien S3 pour la collecte des journaux.

1. Sélectionnez **Execute (Exécuter)**.

   Si l'une des étapes échoue, sélectionnez le lien situé sous la colonne **ID d'étape** correspondant à l'étape qui a échoué. Cela affiche la page **Détails de l'exécution** pour l'étape. La **VerificationErrorMessage**section affichera un résumé des étapes qui nécessitent une attention particulière. Par exemple, `IAMPermissionCheck` peut afficher un message d'avertissement. Dans ce cas, vous pouvez vérifier que le rôle sélectionné dans le **AutomationAssumeRole**menu déroulant dispose des autorisations nécessaires.

Une fois que toutes les étapes ont été effectuées avec succès, le résultat fournit des étapes de dépannage et des recommandations pour rétablir l'état de votre environnement.

## Conseils généraux pour résoudre les problèmes liés à votre environnement Elastic Beanstalk
<a name="troubleshooting-general"></a>

Des messages d'erreur peuvent s'afficher sur la page Événements de la console, dans les journaux ou sur la page État. Vous pouvez également prendre des mesures pour récupérer un environnement dégradé causé par une modification récente. Si l'intégrité de votre environnement passe au Rouge, essayez les éléments suivants :
+ Demandez une analyse de votre environnement basée sur l'IA. Pour de plus amples informations, veuillez consulter [Analyse de l'environnement basée sur l'IA](health-ai-analysis.md).
+ Si une opération sur votre environnement renvoie une erreur contenant le texte`The stack stack_id associated with environment environment-ID is in stack-status state`, consultez l'aide à la résolution [Restaurer votre environnement Elastic Beanstalk à partir d'un état non valide](environment-management-invalid-stack.md) des problèmes.
+ Si une opération sur votre environnement renvoie une erreur contenant le texte`Environment environment-name associated CloudFormation stack stack_arn does not exist`, fermez votre environnement et créez-en un autre.
+ Consultez les [événements](using-features.events.md) récents de l'environnement. Les messages d'Elastic Beanstalk sur les problèmes de déploiement, de charge et de configuration s'affichent souvent ici.
+ Examinez l'[historique des modifications](using-features.changehistory.md) d'environnement récents. L'historique des modifications répertorie toutes les modifications apportées à la configuration de vos environnements et inclut d'autres informations, telles que l'utilisateur IAM ayant apporté les modifications et les paramètres de configuration définis.
+ [Extrayez des journaux](using-features.logging.md) afin d'afficher de récentes entrées du fichier journal. Les journaux de serveur web contiennent des informations sur les erreurs et les demandes entrantes.
+ [Connectez-vous à une instance](using-features.ec2connect.md) et vérifiez les ressources du système.
+ [Restaurez](using-features.deploy-existing-version.md) sur une version de travail précédente de l'application.
+ Annulez les récentes modifications de configuration ou restaurez une [configuration sauvegardée](environment-configuration-methods-before.md#configuration-options-before-savedconfig).
+ Déployez un nouvel environnement. Si l'environnement s'avère sain, effectuez un [échange CNAME](using-features.CNAMESwap.md) pour acheminer le trafic vers le nouvel environnement et continuer à déboguer l'ancien.

## Environnements qui accèdent aux secrets et aux paramètres à l'aide de variables d'environnement
<a name="troubleshooting-secrets-env-variables"></a>

**Événement :** *le déploiement de l'instance n'a pas réussi à obtenir un ou plusieurs secrets*

Ce message indique qu'Elastic Beanstalk n'a pas pu récupérer un ou plusieurs des secrets spécifiés lors du déploiement de votre application.
+ Vérifiez que les ressources spécifiées par les valeurs ARN dans la configuration de vos variables d'environnement existent. 
+ Vérifiez que votre rôle de profil d'instance Elastic Beanstalk EC2 [dispose des autorisations IAM requises pour accéder aux ressources.](AWSHowTo.secrets.IAM-permissions.md#AWSHowTo.secrets.IAM-permissions.secrets-manager) 
+ Si cet événement a été déclenché par l'`RestartAppServer`opération, une fois le problème résolu, relancez l'`RestartAppServer`appel pour le résoudre. 
+ Si l'événement a été déclenché par un `UpdateEnvironment` appel, recommencez l'`UpdateEnvironment`opération. 

Pour des exemples de ces commandes, consultez les [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html) Pour plus d'informations sur les actions d'API associées à ces opérations, consultez la *[référence des AWS Elastic Beanstalk API](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*.

**Événement :** *le déploiement de l'instance a détecté une ou plusieurs valeurs d'environnement multilignes, qui ne sont pas prises en charge pour cette plate-forme*

Les variables multilignes ne sont pas prises en charge sur les plateformes Amazon Linux 2, à l'exception des plateformes Docker et Docker gérées par ECS. Pour connaître les options disponibles pour continuer, consultez[Valeurs multilignes](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline).

**Événement : CreateEnvironment ** *échoue lorsqu'un secret est spécifié*

En cas d'`CreateEnvironment`échec et que vous avez des secrets en tant que variables d'environnement, vous devez résoudre le problème sous-jacent, puis l'utiliser `UpdateEnvironment` pour terminer la configuration de l'environnement. Ne pas utiliser`RestartAppServer`, car cela ne suffira pas à améliorer l'environnement dans cette situation. Pour des exemples de ces commandes, consultez les [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html) Pour plus d'informations sur les actions d'API associées à ces opérations, consultez la *[référence des AWS Elastic Beanstalk API](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*.

## Création de l'environnement et lancements d'instance
<a name="troubleshooting-envcreate"></a>

**Événement :** *Échec du lancement de l'environnement*

Cet événement se produit lorsque Elastic Beanstalk tente de lancer un environnement et rencontre des défaillances ce faisant. Les événements précédents sur la page **Événements** vous alertent de la cause racine de ce problème.

**Événement :** *L'opération de création de l'environnement est terminée, mais avec des délais de commande. Essayez d'augmenter le délai d'expiration.*

Le déploiement de votre application peut prendre beaucoup de temps si vous utilisez des fichiers de configuration qui exécutent des commandes sur l'instance, téléchargent des fichiers volumineux ou installent des packages. Augmentez le [délai de commande](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) afin que votre application dispose de plus de temps pour commencer son exécution pendant les déploiements.

**Événement :** *La ou les ressources suivantes n'ont pas pu être créées : [AWSEBInstanceLaunchWaitCondition]*

Ce message indique que les instances Amazon EC2 de votre environnement n'ont pas communiqué à Elastic Beanstalk qu'elles ont été lancées avec succès. Cette erreur peut se produire si ces instances n'ont pas de connectivité Internet. Si vous avez configuré votre environnement pour lancer des instances sur un sous-réseau VPC privé, [vérifiez que ce sous-réseau possède un NAT](vpc.md) pour permettre aux instances de se connecter à Elastic Beanstalk.

**Événement :** *Une fonction du service est requise dans cette région. Veuillez ajouter une option Fonction du service à l'environnement.*

Elastic Beanstalk utilise un rôle de service pour surveiller les ressources de votre environnement et prendre en charge [les mises à jour de la plateforme gérée](environment-platform-update-managed.md). Pour plus d’informations, consultez [Gestion des rôles de service Elastic Beanstalk](iam-servicerole.md).

## Déploiements
<a name="troubleshooting-deployments"></a>

**Problème :** *L'application devient indisponible pendant les déploiements*

Un temps d'arrêt de quelques secondes est possible, car Elastic Beanstalk utilise un processus de mise à niveau par remplacement direct. Utilisez des [propagations de déploiements](using-features.rolling-version-deploy.md) pour minimiser l'impact des déploiements sur vos environnements de production.

**Événement :** *Impossible de créer la version de l'application AWS Elastic Beanstalk*

L'ensemble de sources de votre application est peut-être trop volumineux ou vous avez peut-être atteint le [quota des versions d'application](applications-versions.md).

**Événement :** *L'opération de mise à jour de l'environnement est terminée, mais avec des délais de commande. Essayez d'augmenter le délai d'expiration.*

Le déploiement de votre application peut prendre beaucoup de temps si vous utilisez des fichiers de configuration qui exécutent des commandes sur l'instance, téléchargent des fichiers volumineux ou installent des packages. Augmentez le [délai de commande](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) afin que votre application dispose de plus de temps pour commencer son exécution pendant les déploiements.

## Santé
<a name="troubleshooting-health"></a>

**Événement :** *L'utilisation de l'UC dépasse 95 %*

Essayez [d'exécuter davantage d'instances](using-features.managing.as.md) ou [choisissez un type d'instance différent](using-features.managing.ec2.md).

**Événement :** *Elastic Load Balancer awseb- *myapp* Il n'y a aucune instance saine, les *processus ELB ne sont pas sains en* cas de panne d'instances*. *X* *Y* , les *processus ELB ne sont pas sains sur toutes les instances*.

Ces messages indiquent que les vérifications de l'état de votre équilibreur de charge échouent sur une ou plusieurs instances. Si votre application semble fonctionner, assurez-vous que l'URL de vérification de l'état de votre application est correctement configurée. Si ce n'est pas le cas, essayez ce qui suit :
+ Vérifiez les journaux de vos applications (par exemple,`/var/log/web.stdout.log`) et vérifiez s'il `/var/log/eb-engine.log` y a des erreurs, des échecs de démarrage ou des problèmes de déploiement.
+ Vérifiez les journaux du proxy pour détecter les erreurs de connexion dans `/var/log/nginx/` (nginx) `/var/log/httpd/` ou (Apache).
+ Vérifiez que votre application répond par HTTP 200 au chemin de vérification de santé configuré et qu'elle écoute sur le port attendu.
+ Vérifiez que les groupes de sécurité autorisent le trafic entrant depuis l'équilibreur de charge vers les instances situées sur le port de contrôle de santé. Dans la console EC2, vérifiez les règles entrantes du groupe de sécurité de l'instance pour confirmer que le port de vérification de l'état est ouvert au groupe de sécurité de l'équilibreur de charge.
+ Vérifiez l'utilisation du processeur et de la mémoire dans CloudWatch les métriques (`CPUUtilization`,`EnvironmentHealth`). L'épuisement des ressources peut entraîner des délais d'attente pour les bilans de santé.

Pour plus de détails, [récupérez les journaux complets du bundle](using-features.logging.md) ou [activez le streaming des CloudWatch journaux](AWSHowTo.cloudwatchlogs.md). Vous pouvez également exécuter le manuel [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)d'automatisation pour aider à diagnostiquer le problème.

**Événement :** *Elastic Load Balancer awseb- introuvable *myapp**

L'équilibreur de charge de votre environnement a peut-être été supprimé. out-of-band Ne modifiez les ressources de votre environnement qu'avec les options de configuration et l'[extensibilité](ebextensions.md) fournies par Elastic Beanstalk. Recréez votre environnement ou lancez-en un nouveau.

**Événement :** *Échec du lancement de l'instance EC2. Lancement d'une nouvelle instance EC2 en attente…*

La disponibilité du type d'instance de votre environnement peut être faible ou vous avez peut-être atteint le quota d'instances de votre compte. Vérifiez le [tableau de bord de l'état des services](https://status.aws.amazon.com/) pour vous assurer que le service Elastic Compute Cloud (Amazon EC2) est vert ou [demandez une augmentation de quota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-instances).

**Événement :** *aucune des instances n'envoie de données.*

Elastic Beanstalk ne reçoit de données sur l'état de santé d'aucune de vos instances. Cela peut être dû à des problèmes de connectivité réseau, à des problèmes d'agent de santé ou à des défaillances au niveau du système.
+ Vérifiez la connectivité réseau. Vérifiez que les groupes de sécurité autorisent le protocole HTTPS sortant (port 443). Pour les instances situées dans des sous-réseaux privés, vérifiez qu'une passerelle NAT ou des points de terminaison VPC sont configurés. Vérifiez que les routes sortantes sont correctes dans les tables de routage et assurez-vous que la résolution DNS fonctionne correctement dans votre VPC.
+ Vérifiez l'agent de surveillance de l'état de santé. Recherchez `/var/log/healthd/daemon.log` les erreurs liées aux agents de santé et `/var/log/messages` les erreurs au niveau du système. Vérifiez que le service healthd est en cours d'exécution en vous connectant à l'instance via SSH et en l'exécutant. `systemctl status healthd`
+ Vérifiez les problèmes au niveau du système tels que l'épuisement des ressources (mémoire, processeur, espace disque), la synchronisation des NTP/system horloges et la connectivité des services de métadonnées d'instance.

Pour plus de détails, [récupérez les journaux complets du bundle](using-features.logging.md) ou [activez le streaming des CloudWatch journaux](AWSHowTo.cloudwatchlogs.md). Vous pouvez également exécuter le manuel [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)d'automatisation pour aider à diagnostiquer le problème.

## Environnements dotés d'équilibreurs de charge configurés à double pile
<a name="troubleshooting-dual-stack-load-balancer"></a>

**Événement :** aucun bloc * IPv6 CIDR *vpc\$1id* n'est configuré pour le VPC. IPv6 Les blocs CIDR sont nécessaires pour l'équilibreur de charge à double pile. Veuillez associer un bloc IPv6 CIDR à votre VPC avant d'utiliser le mode dualstack.*

Des blocs IPv6 CIDR doivent être associés à votre VPC et à tous les sous-réseaux. Il s'agit de l'une des conditions préalables au VPC que vous devez remplir avant de configurer votre équilibreur de charge pour la prise en charge du double stack. Pour plus d'informations sur l'exécution de cette tâche, voir [Conditions préalables à Amazon VPC](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs) plus haut dans cette rubrique.

 **Événement :** aucun bloc *CIDR n' IPv6 est configuré pour un ou plusieurs sous-réseaux *vpc\$1id* VPC. IPv6 Les blocs CIDR sont requis pour les sous-réseaux utilisés avec l'équilibreur de charge à double pile. Associez les blocs IPv6 CIDR à tous les sous-réseaux requis avant d'utiliser le mode dualstack.* 

Des blocs CIDR doivent être IPv6 associés à tous les sous-réseaux de votre VPC. Il s'agit de l'une des conditions préalables au VPC que vous devez remplir avant de configurer votre équilibreur de charge pour la prise en charge du double stack. Pour plus d'informations sur l'exécution de cette tâche, voir [Conditions préalables à Amazon VPC](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs) plus haut dans cette rubrique.

 **Erreur :** *l'`IpAddressType`option ne peut être appliquée que sur les environnements Elastic Beanstalk configurés avec un Application Load Balancer ou un Network Load Balancer*. 

Ce message indique que votre environnement Elastic Beanstalk est peut-être un environnement à instance unique ou qu'il utilise un Classic Load Balancer. Seuls les environnements configurés avec un Application Load Balancer ou un Network Load Balancer peuvent être configurés. `IpAddressType`

## Configuration
<a name="troubleshooting-configuration"></a>

**Événement :** *La pile `stack_id` associée à l'environnement `environment-ID` est en `stack-status` état*

La CloudFormation pile sous-jacente de votre environnement peut avoir le statut *\$1\$1FAILED*. Ce statut doit être corrigé afin de poursuivre les opérations d'Elastic Beanstalk dans votre environnement. Pour de plus amples informations, veuillez consulter [Restaurer votre environnement Elastic Beanstalk à partir d'un état non valide](environment-management-invalid-stack.md).

**Événement :** *Vous ne pouvez pas configurer un environnement Elastic Beanstalk avec des valeurs pour les options Elastic Load Balancing Target (Cible Elastic Load Balancing) et Application Healthcheck URL (URL de vérification de l'état de l'application)*

L'option `Target` dans l'espace de noms `aws:elb:healthcheck` est obsolète. Supprimez l'option `Target` de votre environnement et essayez à nouveau de mettre à jour.

**Événement : l'***ELB ne peut pas être attaché à plusieurs sous-réseaux dans la même zone de disponibilité*

Ce message s'affiche si vous tentez de déplacer un équilibreur de charge entre des sous-réseaux d'une même zone de disponibilité. La modification de sous-réseaux sur l'équilibreur de charge nécessite de le faire sortir en dehors des zones de disponibilité, puis de le réintégrer dans la zone de disponibilité d'origine avec les sous-réseaux souhaités. Au cours du processus, toutes vos instances seront migrées entre elles AZs, ce qui entraînera des temps d'arrêt importants. Pensez plutôt à créer un nouvel environnement et [effectuez un échange CNAME](using-features.CNAMESwap.md).

## Résolution des problèmes de conteneurs Docker
<a name="troubleshooting-docker"></a>

**Événement :** *Échec de l'extraction de l'image Docker : la plus récente : Nom de référentiel () non valide, seulement [a-z0-9-\$1.] sont autorisés. Consultez les journaux pour plus d'informations.*

Vérifiez la syntaxe du fichier `dockerrun.aws.json` à l'aide d'un validateur JSON. Vérifiez également le contenu dockerfile par rapport aux conditions décrites dans [Préparation de votre image Docker pour le déploiement sur Elastic Beanstalk](single-container-docker-configuration.md)

**Événement :** *Aucune directive EXPOSE trouvée dans le Dockerfile, abandon du déploiement*

Le `Dockerfile` ou le fichier `dockerrun.aws.json` ne déclare pas le port de conteneur. Utilisez l'instruction `EXPOSE` (`Dockerfile`) ou le bloc `Ports` (fichier `dockerrun.aws.json`) pour exposer un port pour le trafic entrant.

**Événement :** *Impossible de télécharger les informations d'authentification *repository* depuis *bucket name**

`dockerrun.aws.json`Fournit un compartiment and/or S3 à paire de clés EC2 non valide pour le `.dockercfg` fichier. Ou bien, le profil d'instance n'est pas GetObject autorisé pour le compartiment S3. Vérifiez que le fichier `.dockercfg` contient un compartiment S3 et une paire de clés EC2 valides. Accordez des autorisations pour l'action `s3:GetObject` au rôle IAM dans le profil d'instance. Pour obtenir des détails, consultez [Gestion des profils d'instance Elastic Beanstalk](iam-instanceprofile.md)

**Événement :** *L'exécution de l'activité a échoué, car : AVERTISSEMENT : Fichier de configuration d'authentification non valide*

Le format de votre fichier d'authentification (`config.json`) n'est pas correct. Consultez [Authentification avec des référentiels d'imagesEn utilisant AWS Secrets Manager](docker-configuration.remote-repo.md)

## FAQ
<a name="troubleshooting-faq"></a>

**Question :** *Comment remplacer l'URL de mon application myapp.us-west-2.elasticbeanstalk.com par www.myapp.com ?*

Dans un serveur DNS, enregistrez un enregistrement CNAME tel que **www.mydomain.com CNAME mydomain.elasticbeanstalk.com**.

**Question :** *Comment spécifier une zone de disponibilité spécifique pour mon application Elastic Beanstalk ?*

Vous pouvez sélectionner une zone de disponibilité spécifique à l'aide de la CLI APIs, du plugin Eclipse ou du plugin Visual Studio. Pour de plus amples informations sur l'utilisation de la console Elastic Beanstalk pour spécifier une zone de disponibilité, veuillez consulter [Auto Scaling de vos instances d'environnement Elastic Beanstalk](using-features.managing.as.md).

**Question :** *Comment modifier le type d'instance de mon environnement ?*

Pour modifier le type d'instance de votre environnement, accédez à la page de configuration de l'environnement et sélectionnez **Edit (Modifier)** dans la catégorie de configuration **Instances**. Ensuite, sélectionnez un nouveau type d'instance, puis choisissez **Apply (Appliquer)** pour mettre à jour votre environnement. Après cela, Elastic Beanstalk résilie toutes les instances en cours d'exécution et les remplace par de nouvelles.

**Question :** *Comment déterminer si quelqu'un a apporté des modifications de configuration à un environnement ?*

Pour afficher ces informations, dans le volet de navigation de la console Elastic Beanstalk, sélectionnez **Change history (Historique des modifications)** pour afficher la liste des modifications de configuration de tous les environnements. Cette liste inclut la date et l'heure de la modification, le paramètre de configuration modifié et sa nouvelle valeur, ainsi que l'utilisateur IAM qui a effectué la modification. Pour plus d'informations, consultez [Historique des modifications](using-features.changehistory.md). 

**Question :** *Puis-je éviter que les volumes Amazon EBS soient supprimés lorsque les instances sont mises hors service ?*

Les instances de votre environnement utilisent Amazon EBS pour le stockage. Toutefois, le volume racine est supprimé lorsqu'une instance est résiliée par Auto Scaling. Nous vous recommandons de ne pas stocker les données d'état ou d'autres informations dans vos instances. Si nécessaire, vous pouvez empêcher la suppression de volumes à l'aide du AWS CLI : `$ aws ec2 modify-instance-attribute -b '/dev/sdc=<vol-id>:false` comme décrit dans la [AWS CLI référence](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

**Question :** *Comment supprimer des informations personnelles de mon application Elastic Beanstalk ?*

AWS les ressources utilisées par votre application Elastic Beanstalk peuvent stocker des informations personnelles. Lorsque vous arrêtez un environnement, Elastic Beanstalk arrête les ressources qu'il a créées. Les ressources que vous avez ajoutées à l'aide de [fichiers de configuration](ebextensions.md) sont également résiliées. Toutefois, si vous avez créé AWS des ressources en dehors de votre environnement Elastic Beanstalk et que vous les avez associées à votre application, vous devrez peut-être vérifier manuellement que les informations personnelles que votre application a pu stocker ne sont pas conservées. Tout au long de ce manuel du développeur, chaque fois que nous abordons la création de ressources supplémentaires, nous mentionnons également le moment auquel vous devez envisager de les supprimer.

## Erreurs courantes
<a name="common-errors"></a>

Cette rubrique répertorie les messages d'erreur courants rencontrés lors de l'utilisation de l'interface de ligne de commande EB et les solutions possibles. Si vous rencontrez un message d'erreur qui n'est pas présenté ici, utilisez les liens *Feedback* pour nous en faire part.

**ERREUR : une erreur s'est produite lors de la gestion de la commande git. Code d'erreur : 128 Erreur : fatale : nom d'objet non valide HEAD**

**Cause :** Ce message d'erreur s'affiche lorsque vous avez initialisé un dépôt Git mais que vous ne l'avez pas encore validé. L'interface de ligne de commande EB cherche la révision HEAD lorsque votre dossier de projet contient un référentiel Git.

**Solution :** ajoutez les fichiers dans votre dossier de projet à la zone intermédiaire et valides :

```
~/my-app$ git add .
~/my-app$ git commit -m "First commit"
```

**ERREUR : Cette branche ne possède pas d'environnement par défaut. Vous devez soit spécifier un environnement en saisissant « eb status my-env-name », soit définir un environnement par défaut en tapant « eb use my-env-name ».**

**Cause :** lorsque vous créez une branche dans git, elle n'est pas attachée à un environnement Elastic Beanstalk par défaut.

**Solution :** exécutez **eb list** pour afficher une liste des environnements disponibles. Exécutez ensuite **eb use *env-name*** pour utiliser l'un des environnements disponibles.

**ERREUR : Les plateformes 2.0\$1 nécessitent un rôle de service. Vous pouvez en fournir un avec l'option --service-role**

**Cause :** si vous spécifiez un nom d'environnement avec **eb create** (par exemple, **eb create my-env**), l'interface de ligne de commande EB n'essaie pas de créer un rôle de service pour vous. Si vous n'avez pas le rôle de service par défaut, l'erreur ci-dessus s'affiche.

**Solution :** exécutez **eb create** sans un nom d'environnement et suivez les instructions pour créer le rôle du service par défaut.

## Erreurs de déploiement
<a name="python-common-troubleshooting"></a>

Votre déploiement d'Elastic Beanstalk peut répondre par une réponse 404 (si votre application ne démarre pas) ou 500 (si votre application échoue pendant l'exécution). Pour résoudre de nombreux problèmes courants, vous pouvez utiliser l'interface de ligne de commande EB pour vérifier l'état de votre déploiement, consulter ses journaux, accéder à votre instance EC2 via SSH ou ouvrir la page de console de AWS gestion de votre environnement d'application.

**Pour utiliser l'interface de ligne de commande EB pour aider à dépanner votre déploiement**

1. Exécutez **eb status** pour afficher l'état de votre déploiement actuel et l'état de vos hôtes EC2. Par exemple :

   ```
   $ eb status --verbose
   
   Environment details for: python_eb_app
     Application name: python_eb_app
     Region: us-west-2
     Deployed Version: app-150206_035343
     Environment ID: e-wa8u6rrmqy
     Platform: 64bit Amazon Linux 2014.09 v1.1.0 running Python 2.7
     Tier: WebServer-Standard-
     CNAME: python_eb_app.elasticbeanstalk.com
     Updated: 2015-02-06 12:00:08.557000+00:00
     Status: Ready
     Health: Green
     Running instances: 1
         i-8000528c: InService
   ```
**Note**  
L'utilisation du commutateur `--verbose` fournit des informations sur l'état de vos instances en cours d'exécution. Sans cela, **eb status** imprimera uniquement des informations générales sur votre environnement.

1. Exécutez **eb health** afin d'afficher des informations d'intégrité sur votre environnement :

   ```
   $ eb health --refresh
    elasticBeanstalkExa-env                                  Degraded                  2016-03-28 23:13:20
   WebServer                                                                              Ruby 2.1 (Puma)
     total      ok    warning  degraded  severe    info   pending  unknown
       5        2        0        2        1        0        0        0
   
     instance-id   status     cause
       Overall     Degraded  Incorrect application version found on 3 out of 5 instances. Expected version "Sample Application" (deployment 1).
     i-d581497d    Degraded  Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1).
     i-d481497c    Degraded  Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1).
     i-136e00c0    Severe    Instance ELB health has not been available for 5 minutes.
     i-126e00c1    Ok
     i-8b2cf575    Ok
   
     instance-id   r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10
       Overall     646.7   100.0    0.0    0.0    0.0    0.003    0.002    0.001   0.001   0.000
     i-dac3f859    167.5    1675      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-05013a81    161.2    1612      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-04013a80    0.0         -      -      -      -         -        -       -       -       -
     i-3ab524a1    155.9    1559      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-bf300d3c    162.1    1621      0      0      0    0.003    0.002    0.001   0.001   0.000
   
     instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%
     i-d581497d    t2.micro   1a   25 mins       0.16     0.1        7.0    0.0      1.7   91.0       0.1
     i-d481497c    t2.micro   1a   25 mins       0.14     0.1        7.2    0.0      1.6   91.1       0.0
     i-136e00c0    t2.micro   1b   25 mins        0.0    0.01        0.0    0.0      0.0   99.9       0.1
     i-126e00c1    t2.micro   1b   25 mins       0.03    0.08        6.9    0.0      2.1   90.7       0.1
     i-8b2cf575    t2.micro   1c   1 hour        0.05    0.41        6.9    0.0      2.0   90.9       0.0
     
     instance-id   status     id   version              ago                                  deployments
     i-d581497d    Deployed   2    v2                   9 mins
     i-d481497c    Deployed   2    v2                   7 mins
     i-136e00c0    Failed     2    v2                   5 mins
     i-126e00c1    Deployed   1    Sample Application   25 mins
     i-8b2cf575    Deployed   1    Sample Application   1 hour
   ```

   L'exemple ci-dessus illustre un environnement avec cinq cas où le déploiement de la version « v2 » a échoué sur la troisième instance. Après un échec de déploiement, la version attendue revient sur la dernière version qui a abouti, ce qui dans ce cas correspond à « Exemple d'Application » depuis le premier déploiement. Pour plus d’informations, consultez [Utilisation de l'interface de ligne de commande EB pour surveiller l'intégrité de l'environnement](health-enhanced-ebcli.md).

1. Exécutez **eb logs** pour télécharger et afficher les journaux associés au déploiement de votre application.

   ```
   $ eb logs
   ```

1. Exécutez **eb ssh** pour vous connecter à l'instance EC2 qui exécute votre application et examinez-la directement. Sur l'instance, votre application déployée est disponible dans le répertoire `/opt/python/current/app` et votre environnement Python se trouve dans `/opt/python/run/venv/`.

1. Exécutez **eb console** pour afficher l'environnement de votre application sur la console de gestion [AWS](https://aws.amazon.com/console/). Vous pouvez utiliser l'interface web afin d'examiner facilement les différents aspects de votre déploiement, y compris les journaux, les événements, l'état et la configuration de votre application. Vous pouvez également télécharger les versions d'application actuelles ou passées que vous avez déployées sur le serveur.