Résolution de problèmes avec l'interface de ligne de commande EB - AWS Elastic Beanstalk

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 de problèmes avec l'interface de ligne de commande EB

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.

ERROR: An error occurred while handling git command. Error code: 128 Error: fatal: Not a valid object name HEAD

Cause : ce message d'erreur apparaît lorsque vous avez initialisé un référentiel 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"

ERROR: This branch does not have a default environment. You must either specify an environment by typing "eb status my-env-name" or set a default environment by typing "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.

ERROR: 2.0+ Platforms require a service role. You can provide one with --service-role option

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.

Résolution de problèmes de déploiement

Si votre déploiement Elastic Beanstalk ne s'est pas déroulé comme prévu, vous pouvez obtenir une réponse 404 (en cas d'échec du lancement de votre application) ou 500 (en cas d'échec de votre application pendant l'exécution), au lieu de voir votre site web. Pour résoudre de nombreuses questions courantes, vous pouvez utiliser l'interface de ligne de commande EB pour vérifier l'état de votre déploiement, afficher ses journaux, accéder à votre instance EC2 avec SSH ou ouvrir la page de la console de gestion AWS pour 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.

  2. 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 de plus amples informations, veuillez consulter Utilisation de l'interface de ligne de commande EB pour surveiller l'intégrité de l'environnement.

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

    $ eb logs
  4. 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/.

  5. Exécutez eb console pour afficher l'environnement de votre application sur la console de gestion AWS. 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.