Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Administración de entornos de Elastic Beanstalk con la CLI de EB
Después de instalar la CLI de EB y configurar el directorio del proyecto, estará listo para crear un entorno de Elastic Beanstalk mediante la CLI de EB, para implementar el código fuente y las actualizaciones de configuración y para obtener registros y eventos.
nota
Para crear entornos con la CLI de EB, se requiere una función de servicio. Puede crear una función de servicio creando un entorno en la consola de Elastic Beanstalk. Si no cuenta con ninguna función de servicio, el EB CLI intentará crear uno cuando ejecute eb create
.
La CLI de EB devuelve un código de salida cero (0
) para todos los comandos correctos y un código de salida distinto de cero cuando encuentra un error.
Los siguientes ejemplos utilizan una carpeta del proyecto vacía llamada eb
que se ha inicializado con la CLI de EB para usarla con una aplicación Docker de ejemplo.
Eb create
Para crear su primer entorno, ejecute eb create y siga las instrucciones. Si el directorio del proyecto contiene código fuente, la CLI de EB lo empaquetará e implementará en su entorno. De lo contrario, se usará una aplicación de ejemplo.
~/eb$ eb create
Enter Environment Name
(default is eb-dev): eb-dev
Enter DNS CNAME prefix
(default is eb-dev): eb-dev
WARNING: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-j3pmc8tscn
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: eb-dev.elasticbeanstalk.com
Updated: 2015-06-27 01:02:24.813000+00:00
Printing Status:
INFO: createEnvironment is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Pueden transcurrir varios minutos hasta que su entorno esté preparado. Presione Ctrl+C para volver a la línea de comandos mientras se crea el entorno.
Eb status
Ejecute eb status para ver el estado actual de su entorno. Cuando el estado es ready
, la aplicación de ejemplo está disponible en elasticbeanstalk.com y el entorno está listo para su actualización.
~/eb$ eb status
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-gbzqc3jcra
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: elasticbeanstalkexa-env.elasticbeanstalk.com
Updated: 2015-06-30 01:47:45.589000+00:00
Status: Ready
Health: Green
Eb health
Utilice el comando eb health para ver información de estado de las instancias de su entorno y el estado general del entorno. Utilice la opción --refresh
para ver el estado en una vista interactiva que se actualiza cada 10 segundos.
~/eb$ eb health
api Ok 2016-09-15 18:39:04
WebServer Java 8
total ok warning degraded severe info pending unknown
3 3 0 0 0 0 0 0
instance-id status cause health
Overall Ok
i-0ef05ec54918bf567 Ok
i-001880c1187493460 Ok
i-04703409d90d7c353 Ok
instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10
Overall 8.6 100.0 0.0 0.0 0.0 0.083* 0.065 0.053 0.040 0.019
i-0ef05ec54918bf567 2.9 29 0 0 0 0.069* 0.066 0.057 0.050 0.023
i-001880c1187493460 2.9 29 0 0 0 0.087* 0.069 0.056 0.050 0.034
i-04703409d90d7c353 2.8 28 0 0 0 0.051* 0.027 0.024 0.021 0.015
instance-id type az running load 1 load 5 user% nice% system% idle% iowait%
i-0ef05ec54918bf567 t2.micro 1c 23 mins 0.19 0.05 3.0 0.0 0.3 96.7 0.0
i-001880c1187493460 t2.micro 1a 23 mins 0.0 0.0 3.2 0.0 0.3 96.5 0.0
i-04703409d90d7c353 t2.micro 1b 1 day 0.0 0.0 3.6 0.0 0.2 96.2 0.0
instance-id status id version ago deployments
i-0ef05ec54918bf567 Deployed 28 app-bc1b-160915_181041 20 mins
i-001880c1187493460 Deployed 28 app-bc1b-160915_181041 20 mins
i-04703409d90d7c353 Deployed 28 app-bc1b-160915_181041 27 mins
Eb events
Utilice eb events para ver una lista de eventos generados por Elastic Beanstalk.
~/eb$ eb events
2015-06-29 23:21:09 INFO createEnvironment is starting.
2015-06-29 23:21:10 INFO Using elasticbeanstalk-us-east-2-EXAMPLE as Amazon S3 storage bucket for environment data.
2015-06-29 23:21:23 INFO Created load balancer named: awseb-e-g-AWSEBLoa-EXAMPLE
2015-06-29 23:21:42 INFO Created security group named: awseb-e-gbzqc3jcra-stack-AWSEBSecurityGroup-EXAMPLE
...
Eb logs
Utilice eb logs para obtener los registros de una instancia de su entorno. De forma predeterminada,eb logs obtiene los registros de la primera instancia lanzada y los muestra en la salida estándar. Puede especificar un ID de instancia con la opción --instance para obtener los registros de una instancia específica.
La opción --all obtiene los registros de todas las instancias y los guarda en subdirectorios bajo .elasticbeanstalk/logs
.
~/eb$ eb logs --all
Retrieving logs...
Logs were saved to /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/150630_201410
Updated symlink at /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/latest
Eb open
Para abrir el sitio web de su entorno en un navegador, utilice eb open:
~/eb$ eb open
En un entorno con ventanas, su navegador predeterminado se abrirá en una nueva ventana. En un entorno de terminal, se usará un explorador de línea de comandos (como w3m) si está disponible.
Eb deploy
Una vez que el entorno esté listo, puede actualizarlo mediante eb deploy.
Este comando funciona mejor con código fuente que se vaya a empaquetar e implementar, así que para este ejemplo hemos creado un Dockerfile
en el directorio del proyecto con el siguiente contenido:
~/eb/Dockerfile
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y nginx zip curl
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master
RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* . && rm -rf 2048-master master.zip
EXPOSE 80
CMD ["/usr/sbin/nginx", "-c", "/etc/nginx/nginx.conf"]
Este Dockerfile
implementa una imagen de Ubuntu 12.04 e instala el juego 2048
. Ejecute eb deploy para cargar la aplicación en su entorno:
~/eb$ eb deploy
Creating application version archive "app-150630_014338".
Uploading elastic-beanstalk-example/app-150630_014338.zip to S3. This may take a while.
Upload Complete.
INFO: Environment update is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Cuando ejecuta eb deploy, la CLI de EB empaqueta el contenido del directorio del proyecto y lo implementa en su entorno.
nota
Si ha inicializado un repositorio Git en la carpeta del proyecto, la CLI de EB siempre implementará la última validación, aunque tenga cambios pendientes. Valide los cambios antes de ejecutar eb deploy para implementarlos en su entorno.
Eb config
Eche un vistazo a las opciones de configuración disponibles para su entorno en ejecución con el comando eb config:
~/eb$ eb config
ApplicationName: elastic-beanstalk-example
DateUpdated: 2015-06-30 02:12:03+00:00
EnvironmentName: elasticBeanstalkExa-env
SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
settings:
AWSEBAutoScalingScaleDownPolicy.aws:autoscaling:trigger:
LowerBreachScaleIncrement: '-1'
AWSEBAutoScalingScaleUpPolicy.aws:autoscaling:trigger:
UpperBreachScaleIncrement: '1'
AWSEBCloudwatchAlarmHigh.aws:autoscaling:trigger:
UpperThreshold: '6000000'
...
Este comando rellena una lista de opciones de configuración disponibles en un editor de texto. Muchas de las opciones que se muestran tienen un valor null
; estas opciones no están configuradas de forma predeterminada, pero pueden modificarse para actualizar los recursos de su entorno. Para obtener más información sobre estas opciones, consulte Opciones de configuración.
Eb terminate
Si ha terminado de usar el entorno de momento, use eb terminate para terminarlo.
~/eb$ eb terminate
The environment "eb-dev" and all associated instances will be terminated.
To confirm, type the environment name: eb-dev
INFO: terminateEnvironment is starting.
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmHigh-1XLMU7DNCBV6Y
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmLow-8IVI04W2SCXS
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1753d43e-ae87-4df6-a405-11d31f4c8f97:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleUpPolicy-A070H1BMUQAJ
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1fd24ea4-3d6f-4373-affc-4912012092ba:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleDownPolicy-LSWFUMZ46H1V
INFO: Waiting for EC2 instances to terminate. This may take a few minutes.
-- Events -- (safe to Ctrl+C)
Para obtener una lista completa de comandos de la CLI de EB disponibles, consulte la Referencia de los comandos de la CLI de EB.
importante
Si termina un entorno, también debe eliminar todas las asignaciones de CNAME que ha creado, ya que otros clientes pueden reutilizar un nombre de host disponible. Asegúrese de eliminar los registros de DNS que apuntan a su entorno terminado para evitar que se cree una entrada de DNS colgante. Una entrada de DNS colgante puede exponer el tráfico de Internet destinado a su dominio a vulnerabilidades de seguridad. También puede presentar otros riesgos.
Para más información, consulte Protección contra registros de delegación colgantes en Route 53 en la Guía para desarrolladores de Amazon Route 53. También puede obtener más información sobre las entradas de DNS colgantes en Protecciones de dominio mejoradas para solicitudes de Amazon CloudFront