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.
Cómo empezar a utilizar Elastic Beanstalk
Con Elastic Beanstalk, puede implementar, monitorear y escalar aplicaciones y servicios web. Por lo general, desarrollará el código localmente y, a continuación, lo implementará en las instancias de servidor de Amazon EC2. Estas instancias, también denominadas entornos, se ejecutan en plataformas que se pueden actualizar mediante la AWS consola o la línea de comandos.
Para empezar, recomendamos implementar una aplicación de muestra prediseñada directamente desde la consola. A continuación, podrá aprender a desarrollar localmente e implementar desde la línea de comandos de la QuickStart: Implementar una aplicación PHP en Elastic Beanstalk.
No se aplica ningún cargo por el uso de Elastic Beanstalk, pero se aplican tarifas estándar a los recursos de AWS que cree durante este tutorial hasta que los elimine al final. Los costos totales son, por lo general, inferiores a un dólar. Para obtener información sobre cómo minimizar los costos, consulte nivel gratuito de AWS
Tras completar este tutorial, comprenderá los aspectos básicos de la creación, configuración, implementación, actualización y monitoreo de una aplicación de Elastic Beanstalk con entornos que se ejecutan en instancias de Amazon EC2.
Duración estimada: de 35 a 45 minutos
Qué va a desarrollar
La primera aplicación de Elastic Beanstalk consistirá en un único entorno de Amazon EC2 que ejecute la muestra de PHP en una plataforma gestionada por PHP.
- Aplicación de Elastic Beanstalk
-
Una aplicación de Elastic Beanstalk es un contenedor para los componentes de Elastic Beanstalk, incluidos los entornos en los que el código de la aplicación se ejecuta en plataformas proporcionadas y administradas por Elastic Beanstalk, o en contenedores personalizados que usted proporciona.
- Entorno
-
Un entorno de Elastic Beanstalk es un conjunto de recursos de AWS que se ejecutan juntos, incluida una instancia de Amazon EC2. Cuando se crea un entorno, Elastic Beanstalk proporciona los recursos necesarios en su cuenta de AWS.
- Plataforma
-
Una plataforma es una combinación de un sistema operativo, el tiempo de ejecución de un lenguaje de programación, un servidor web, un servidor de aplicaciones y componentes adicionales de Elastic Beanstalk. Elastic Beanstalk proporciona plataformas administradas o puede proporcionar su propia plataforma en un contenedor.
Elastic Beanstalk admite plataformas para distintos lenguajes de programación, servidores de aplicaciones y contenedores de Docker. Cuando crea un entorno, debe elegir la plataforma. Puede actualizar la plataforma, pero no puede cambiarla por un entorno.
Cambio de plataformas
Si necesita cambiar los lenguajes de programación, debe crear un nuevo entorno y cambiar a este en una plataforma diferente.
Paso 1: crear una aplicación
Para crear su aplicación de muestra, usará el asistente de la consola Create application (Creación de aplicación). Crea una aplicación de Elastic Beanstalk y lanza un entorno dentro de esta.
Recordatorio: un entorno es una colección de recursos de AWS necesarios para ejecutar su código de aplicación.
Para crear una aplicación
-
Abra la consola de Elastic Beanstalk
. -
Elija Creación de aplicación.
-
En Application name (Nombre de la aplicación), escriba
getting-started-app.
La consola proporciona un proceso de seis pasos para crear una aplicación y configurar un entorno. Para este inicio rápido, solo tendrá que centrarse en los dos primeros pasos y, a continuación, puede revisar y crear la aplicación y el entorno.
Cómo configurar un entorno
-
En Información sobre el entorno, en Nombre del entorno, escriba:
gs-app-web-env. -
En Plataforma, elija la plataforma PHP.
-
Para el Código de aplicación y los Ajustes preestablecidos, acepte los valores predeterminados (Aplicación de muestra e Instancia única) y, a continuación, seleccione Siguiente.
Cómo configurar el acceso al servicio
A continuación, necesita dos roles. Un rol de servicio permite a Elastic Beanstalk monitorear las instancias de EC2 y actualizar la plataforma del entorno. Un rol de perfil de instancia de EC2 permite realizar tareas como escribir registros e interactuar con otros servicios.
Cómo crear o seleccionar el rol de servicio
-
Si ya ha creado un rol de servicio y desea elegir uno existente, seleccione el valor en el menú desplegable del rol de servicio y omita el resto de estos pasos para crear un rol de servicio.
-
Si no ve ningún valor en la lista para el rol de servicio o si desea crear uno nuevo, siga estos pasos.
-
Para el rol de servicio, elija Crear rol.
-
En Tipo de entidad de confianza, elija Servicio de AWS.
-
En Caso de uso, elija Elastic Beanstalk - Entorno.
-
Elija Siguiente.
-
Compruebe que las políticas de permisos incluyan lo siguiente y, a continuación, seleccione Siguiente:
-
AWSElasticBeanstalkEnhancedHealth -
AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
-
-
Seleccione Crear rol.
-
Vuelva a la pestaña Configurar el acceso al servicio, actualice la lista y, a continuación, seleccione el rol de servicio recién creado.
Cómo crear o seleccionar un perfil de instancia de EC2
-
Si ya ha creado un perfil de instancia de EC2 y desea elegir uno existente, seleccione el valor en el menú desplegable del perfil de instancia de EC2 y omita el resto de estos pasos para crear un perfil de instancia de EC2.
-
Si no ve ningún valor en la lista para el perfil de instancia de EC2 o si desea crear uno nuevo, siga estos pasos.
-
Seleccione Crear rol.
-
En Tipo de entidad de confianza, elija Servicio de AWS.
-
En Caso de uso, elija Elastic Beanstalk – Computación.
-
Elija Siguiente.
-
Compruebe que las políticas de permisos incluyan lo siguiente y, a continuación, seleccione Siguiente:
AWSElasticBeanstalkWebTierAWSElasticBeanstalkWorkerTierAWSElasticBeanstalkMulticontainerDocker
Seleccione Crear rol.
-
Vuelva a la pestaña Configurar el acceso al servicio, actualice la lista y, a continuación, seleccione el perfil de instancia de EC2 recién creado.
Cómo terminar de configurar y crear la aplicación
-
Omita el par de claves de EC2.
Le mostraremos otras formas de conectarse a las instancias de Amazon EC2 a través de la consola.
-
Elija Saltar a la revisión para omitir varios pasos opcionales.
Pasos opcionales: redes, bases de datos, parámetros de escalado, configuración avanzada de actualizaciones, monitoreo y registro.
-
En la página de Revisión, que muestra un resumen de sus opciones, seleccione Enviar.
¡Enhorabuena!
Ha creado una aplicación y configurado un entorno. Ahora tiene que esperar a que se implementen los recursos.
Paso 2: implementar la aplicación
Cuando crea una aplicación, Elastic Beanstalk configura los entornos por usted. Solo tiene que dejar que lo haga.
La implementación inicial puede tardar hasta cinco minutos en crear los recursos. Las actualizaciones tardarán menos tiempo porque solo se implementarán los cambios en su pila.
Al crear la aplicación de muestra, Elastic Beanstalk crea los siguientes recursos de :
-
Instancia de EC2: máquina virtual de Amazon EC2 configurada para ejecutar aplicaciones web en la plataforma que seleccionó.
Cada plataforma ejecuta un conjunto distinto de software, archivos de configuración y scripts compatibles con una determinada versión de lenguaje, marco y contenedor web o una combinación de ellos. La mayoría de las plataformas utilizan Apache o nginx como un proxy inverso para reenviar el tráfico web a su aplicación web, servir recursos estáticos y generar registros de acceso y errores. Puede conectarse a sus instancias de Amazon EC2 para ver la configuración y los registros.
-
Grupo de seguridad de instancias: se creará un grupo de seguridad de Amazon EC2 para permitir las solicitudes entrantes en el puerto 80, de modo que el tráfico entrante de un equilibrador de carga pueda llegar a su aplicación web.
-
Bucket de Amazon S3: ubicación de almacenamiento para el código fuente, los registros y otros artefactos.
-
Alarmas de Amazon CloudWatch: se crean dos alarmas de CloudWatch para monitorear la carga de las instancias y escalarlas o reducirlas según sea necesario.
-
Pila de CloudFormation: Elastic Beanstalk utiliza CloudFormation para implementar los recursos en su entorno y hacer cambios de configuración. Puede ver la plantilla de definición de recursos en la consola de CloudFormation
. -
Nombre de dominio: nombre de dominio que direcciona el tráfico a su aplicación web con el formato :
.subdomain.region.elasticbeanstalk.com
Elastic Beanstalk crea la aplicación, lanza un entorno, crea una versión de la aplicación y, a continuación, implementa el código en el entorno. Durante el proceso, la consola hace un seguimiento del progreso y muestra el estado de los eventos en la pestaña Eventos.
Una vez implementados todos los recursos, el estado del entorno debería cambiar a Ok.
¡Su aplicación está lista!
Cuando vea que el estado de la aplicación cambia a Ok, puede navegar hasta el sitio web de la aplicación web.
Paso 3: explorar el entorno de Elastic Beanstalk
Empezará a explorar el entorno de la aplicación implementado desde la página de Información general del entorno de la consola.
Cómo visualizar el entorno y su aplicación
Abra la consola de Elastic Beanstalk
y, en la lista Regions (Regiones), seleccione su Región de AWS. -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
-
Seleccione Ir al entorno para navegar por su aplicación.
También puede elegir el enlace URL que aparece en Dominio para navegar por su aplicación.
La conexión será HTTP (no HTTPS), por lo que es posible que vea una advertencia en su navegador.
De vuelta en la consola de Elastic Beanstalk, la parte superior muestra la información general del entorno con información de primer nivel sobre el entorno, como el nombre, la URL del dominio, el estado actual, la versión en ejecución y la plataforma en la que se ejecuta la aplicación. La versión en ejecución y la plataforma son esenciales para solucionar los problemas de la aplicación actualmente implementada.
Después del panel de información general, verá la actividad reciente del entorno en la pestaña Eventos.
Mientras Elastic Beanstalk crea los recursos de AWS y lanza la aplicación, el entorno se encuentra en el estado Pending. Continuamente se añaden mensajes de estado acerca de eventos de lanzamiento a la lista de Eventos.
El dominio del entorno es la URL de la aplicación web implementada. En el panel de navegación izquierdo, la opción Ir al entorno también lo lleva a su dominio. Del mismo modo, el panel de navegación izquierdo tiene enlaces que corresponden a las distintas pestañas.
Tome nota del enlace presente en la sección Configuración en el panel de navegación izquierdo, que muestra un resumen de los valores de las opciones de configuración del entorno, agrupados por categoría.
Opciones de configuración del entorno
Tome nota del enlace presente en la sección Configuración en el panel de navegación izquierdo. Puede ver y editar la configuración detallada del entorno, como los roles de servicio, redes, bases de datos, escalado, actualizaciones de plataforma programadas, memoria, monitoreo del estado, implementación continua, registro, ¡y mucho más!
Las distintas pestañas contienen información detallada sobre su entorno:
-
Eventos: puede ver una lista actualizada de información y mensajes de error del servicio de Elastic Beanstalk y otros servicios de los recursos de su entorno.
-
Estado: puede ver el estado y la información detallada sobre el funcionamiento de las instancias de Amazon EC2 que ejecutan su aplicación.
-
Logs (Registros): recupere y descargue registros de Amazon EC2 en su entorno. Puede recuperar registros completos o actividades recientes. Los registros recuperados están disponibles durante 15 minutos.
-
Monitoreo: puede ver las estadísticas del entorno, como la latencia promedio y el uso de CPU.
-
Alarmas: puede ver y editar las alarmas que se configuraron para las métricas del entorno.
-
Actualizaciones programadas: puede ver información sobre las próximas actualizaciones de la plataforma programadas y las ya completadas, así como sobre la sustitución de instancias.
-
Etiquetas: puede ver y editar pares clave-valor que se aplican a su entorno.
nota
Los enlaces del panel de navegación de la consola mostrarán la pestaña correspondiente.
Solución de problemas con los registros
Para solucionar problemas de comportamientos inesperados o depurar las implementaciones, se recomienda comprobar los registros de sus entornos.
Puede solicitar 100 líneas de todos los archivos de registro en la pestaña Registros de la consola de Elastic Beanstalk. Como alternativa, puede conectarse directamente a la instancia de Amazon EC2 y rastrear los registros en tiempo real.
Cómo solicitar los registros (consola de Elastic Beanstalk)
-
Navegue hasta su entorno en la consola de Elastic Beanstalk.
-
Seleccione la pestaña Registros o la barra de navegación izquierda y, a continuación, seleccione Solicitar registros.
-
Seleccione Últimas 100 líneas.
-
Una vez creados los registros, elija el enlace de Descargar para verlos en el navegador.
En los registros, busque el registro y anote el directorio del registro de acceso de nginx.
Cómo agregar una política para habilitar las conexiones a Amazon EC2
Antes de poder conectarse, debe añadir una política que permita las conexiones a Amazon EC2 con el Administrador de sesiones.
-
Desplácese hasta la consola de IAM.
-
Busque y seleccione el rol
aws-elasticbeanstalk-ec2-role. -
Elija Agregar permiso y, a continuación, Adjuntar políticas.
-
Busque una política predeterminada que comience con el siguiente texto:
AmazonSSMManagedEC2Instance, luego agréguela al rol.
Cómo conectarse a una instancia de Amazon EC2 mediante el Administrador de sesiones
-
Vaya a la consola de Amazon EC2.
-
Elija Instancias y, a continuación, seleccione su instancia de
gs-app-web-env. -
Elija Conectar y, a continuación, elija Administrador de sesiones.
-
Elija Conectar.
Tras conectarte a la instancia, inicie un intérprete de comandos bash y siga los registros:
-
Ejecute el comando
bash. -
Ejecute el comando
cd /var/log/nginx. -
Ejecute el comando
tail -f access.log. -
En su navegador, vaya a la URL del dominio de la aplicación. Actualice.
¡Muy bien, ya está conectado!
Debería ver las entradas de registro de su instancia actualizadas cada vez que actualice la página.
¿El botón Conectar no funciona?
Si el botón de conexión no está disponible, vuelva a IAM y compruebe que ha añadido la política necesaria para el rol.
Paso 4: actualizar la aplicación
En algún momento, querrá actualizar la aplicación. Puede implementar una nueva versión en cualquier momento, siempre que en el entorno no haya ninguna otra operación de actualización en curso.
La versión de la aplicación con la que inició este tutorial se llama Sample Application (Aplicación de muestra).
Para actualizar la versión de la aplicación
-
Descargue la siguiente aplicación de muestra de PHP:
PHP: php-v2.zip
Abra la consola de Elastic Beanstalk
y, en la lista Regions (Regiones), seleccione su Región de AWS. -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
-
En la página de información general del entorno, elija Upload and deploy (Cargar e implementar).
-
Seleccione Elegir archivo y, a continuación, cargue el paquete de código fuente de la aplicación de muestra que ha descargado.
La consola rellena automáticamente la Etiqueta de versión con una nueva etiqueta única, lo que aumenta automáticamente un integer final. Si elige su propia etiqueta de versión, asegúrese de que es única.
-
Elija Implementar.
Mientras Elastic Beanstalk implementa el archivo en sus instancias de Amazon EC2, puede ver el estado de la implementación en la página Información general del entorno. Mientras se actualiza la versión de la aplicación, el estado de Estado del entorno aparece atenuado. Una vez completada la implementación, Elastic Beanstalk realiza una comprobación de estado de la aplicación. Cuando la aplicación responde a la comprobación de estado, se considera que está en buen estado y este cambia a verde. En la información general del entorno se muestra la nueva Running Version (Versión de ejecución): el nombre que proporcionó como Version label (Etiqueta de la versión).
Elastic Beanstalk también carga la nueva versión de la aplicación y la añade a la tabla de versiones de la aplicación. Para ver la tabla, elija Application versions (Versiones de aplicación) en getting-started-app en el panel de navegación.
Actualización realizada correctamente.
Debería ver un mensaje «v2» actualizado después de actualizar su navegador.
Si quiere editar el código fuente usted mismo, descomprima, edite y vuelva a comprimir el paquete de código fuente. En macOS, use el siguiente comando desde su directorio php con la -X para excluir los atributos de archivo adicionales:
zip -X -r ../php-v2.zip .
Paso 5: escalar la aplicación
Puede configurar el entorno para adaptarlo mejor a su aplicación. Por ejemplo, si tiene una aplicación que requiere un uso intensivo de recursos informáticos, puede cambiar el tipo de instancia de Amazon Elastic Compute Cloud (Amazon EC2) que ejecuta la aplicación. Para aplicar cambios de configuración, Elastic Beanstalk realiza una actualización del entorno.
Hay cambios de configuración que puede realizar fácilmente y que se aplican con rapidez. Algunos cambios requieren la eliminación y nueva creación de recursos de AWS, lo que puede tardar unos minutos. Al cambiar las opciones de configuración, Elastic Beanstalk le advierte sobre el posible tiempo de inactividad de las aplicaciones.
Aumento de la configuración de capacidad
En este ejemplo de un cambio de configuración, edite la configuración de la capacidad del entorno. Puede configurar un entorno escalable con balanceo de carga que tenga entre dos y cuatro instancias de Amazon EC2 en su grupo de Auto Scaling y, a continuación, comprobar que el cambio se ha producido. Elastic Beanstalk crea una instancia adicional de Amazon EC2, que se añade a la única instancia que creó inicialmente. A continuación, Elastic Beanstalk asocia ambas instancias con el balanceador de carga del entorno. Como resultado, la capacidad de respuesta de su aplicación mejora y su disponibilidad aumenta.
Para cambiar la capacidad del entorno
Abra la consola de Elastic Beanstalk
y, en la lista Regions (Regiones), seleccione su Región de AWS. -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
En el panel de navegación, elija Configuración.
-
En la categoría de configuración Instance traffic and scaling (Escalado y tráfico de instancias), elija Edit (Edición de).
-
Contraiga la sección Instances (Instancias) para poder ver con más facilidad la sección Capacity (Capacidad). En la sección Auto Scaling group (Grupo de escalado automático), cambie el Environment type (Tipo de entorno) a Load balanced (Con equilibrador de carga).
-
En la fila Instancias, cambie Mín. a
2y Máx. a4. -
Para guardar los cambios, elija Aplicar en la parte inferior de la página.
Si se le advierte de que la actualización reemplazará todas sus instancias actuales, elija Confirmar.
El entorno puede tardar unos minutos en actualizarse. Debería ver varias actualizaciones en la lista de eventos. Esté atento al evento Se implementó correctamente la nueva configuración en el entorno.
Verificación del aumento de la capacidad
Cuando se haya completado la actualización del entorno y este esté listo, Elastic Beanstalk lanza automáticamente una segunda instancia para cumplir su nueva configuración de capacidad mínima.
Para comprobar la capacidad superior
-
Seleccione Estado, ya sea desde la lista de pestañas o desde el panel de navegación izquierdo.
-
Repase la sección Estado mejorado de las instancias.
¡Acaba de ampliarlo!
Con dos instancias de Amazon EC2, la capacidad de su entorno se duplicó y tardó solamente unos minutos.
Limpieza de su entorno de Elastic Beanstalk
Para asegurarse de que no se le cobra por servicios que no utiliza, elimine todas las versiones de la aplicación y finalice los entornos, lo que también elimina los recursos de AWS creados por el entorno para usted.
Para eliminar la aplicación y todos los recursos asociados
-
Borre todas las versiones de la aplicación.
Abra la consola de Elastic Beanstalk
y, en la lista Regions (Regiones), seleccione su Región de AWS. -
En el panel de navegación, elija Applications (Aplicaciones) y a continuación elija getting-started-app.
En el panel de navegación, busque el nombre de la aplicación y elija Application versions (Versiones de la aplicación).
-
En la página Application Versions (Versiones de la aplicación), seleccione todas las versiones de la aplicación que desee eliminar.
-
Elija Acciones y, a continuación, elija Eliminar.
-
Active Delete versions from Amazon S3 (Eliminar versiones de Amazon S3).
-
Elija Delete (Eliminar) y a continuación haga clic en Done (Listo).
-
Finalice el entorno.
-
En el panel de navegación, elija getting-started-app y a continuación elija GettingStartedApp-env en la lista de entornos.
-
Elija Actions (Acciones) y, a continuación, Terminate Environment (Terminar entorno).
-
Confirme que desea finalizar GettingStartedApp-env escribiendo el nombre del entorno y, a continuación, elija Terminate (Terminar).
-
-
Elimine la aplicación de getting-started-app.
-
En el panel de navegación, elija getting-started-app.
-
Elija Acciones y, a continuación, elija Eliminar aplicación.
-
Confirme que desea eliminar getting-started-app escribiendo el nombre de la aplicación y, a continuación, elija Delete (Eliminar).
-
¡Enhorabuena!
Ha implementado correctamente una aplicación de muestra en la nube de AWS, ha cargado una nueva versión, ha modificado la configuración para agregar una segunda instancia de escalado automático y ha limpiado los recursos de AWS.
Pasos a seguir a continuación
Para aprender a utilizar la herramienta de la línea de comandos eb para automatizar la implementación del código en Elastic Beanstalk, le sugerimos que continúe con QuickStart: Implementar una aplicación PHP en Elastic Beanstalk.
A continuación, si lo desea, puede revisar cómo configurar la conexión HTTPS; consulte Configuración de HTTPS para su entorno de Elastic Beanstalk.