Solución de problemas con la CLI de EB - AWS Elastic Beanstalk

Solución de problemas con la CLI de EB

En este tema se muestran mensajes de error comunes encontrados al utilizar la CLI de EB y sus posibles soluciones. Si detecta un mensaje de error que no se muestra aquí, utilice los enlaces de comentarios para informarnos de él.

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

Causa: este mensaje de error aparece cuando se ha inicializado un repositorio Git, pero aún no se ha validado. La CLI de EB busca la revisión HEAD cuando la carpeta del proyecto contiene un repositorio Git.

Solución: añada los archivos de su carpeta de proyecto al área de ensayo y realice la validación:

~/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".

Causa: cuando crea una nueva ramificación en git, esta no se asocia a un entorno de Elastic Beanstalk de forma predeterminada.

Solución: ejecute eb list para ver una lista de los entornos disponibles. Después ejecute eb use env-name para usar alguno de los entornos disponibles.

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

Causa: si especifica un nombre de entorno con eb create (por ejemplo, eb create my-env), la CLI de EB no intentará crear un rol de servicio por usted. Si no dispone del rol de servicio predeterminado, se muestra el error anterior.

Solución: ejecute eb create sin un nombre de entorno y siga las instrucciones para crear el rol de servicio predeterminado.

Solución de problemas de las implementaciones

Si la implementación de Elastic Beanstalk no funciona según lo previsto, es posible que reciba una respuesta 404 (si no se pudo lanzar la aplicación) o 500 (si la aplicación produce un error en tiempo de ejecución), en lugar de ver su sitio web. Para solucionar muchos problemas comunes, puede utilizar la CLI de EB para comprobar el estado de su implementación, ver sus registros, obtener acceso a la instancia EC2 con SSH o abrir la página de la consola de administración de AWS correspondiente al entorno de su aplicación.

Para utilizar la CLI de EB para ayudar a resolver los problemas de su implementación

  1. Ejecute eb status para ver el estado de la implementación actual y el estado de los hosts de EC2. Por ejemplo:

    $ 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
    nota

    El uso del modificador --verbose proporciona información sobre el estado de las instancias en ejecución. Sin él, eb status mostrará solo información general acerca de su entorno.

  2. Ejecute eb health para ver información sobre el estado de su entorno:

    $ 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

    El ejemplo anterior muestra un entorno con cinco instancias en las que la implementación de la versión "v2" produjo un error en la tercera instancia. Después de un error en la implementación, la versión se restablece a la última versión correcta, que en este caso es "Sample Application" de la primera implementación. Para obtener más información, consulte Uso de la CLI de EB para monitorear el estado del entorno.

  3. Ejecute eb logs para descargar y ver los registros asociados con la implementación de su aplicación.

    $ eb logs
  4. Ejecute eb ssh para conectar con la instancia EC2 que ejecuta su aplicación y examinarla directamente. En la instancia, su aplicación implementada puede encontrarse en el directorio /opt/python/current/app y su entorno Python se encontrará en /opt/python/run/venv/.

  5. Ejecute eb console para ver el entorno de su aplicación en la consola de administración de AWS. Puede utilizar la interfaz web para examinar distintos aspectos de su implementación, incluida la configuración, el estado, los eventos y los registros de la aplicación. También puede descargar las versiones de la aplicación actuales o anteriores que ha implementado en el servidor.