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. Normalmente, desarrollarás tu código localmente y luego lo desplegarás en las instancias EC2 del servidor de Amazon. 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 en QuickStart: Implementar una aplicación PHP en Elastic Beanstalk.
El uso de Elastic Beanstalk no conlleva ningún coste, pero se AWS aplican tarifas estándar a los recursos que cree durante el transcurso de este tutorial hasta que los elimine al final. Los cargos totales suelen ser 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 supervisión 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 EC2 Amazon que ejecute el ejemplo de PHP en una plataforma gestionada por PHP.
- Aplicación de Elastic Beanstalk
-
Una aplicación de Elastic Beanstalk es un contenedor para componentes de Elastic Beanstalk, incluidos 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 AWS conjunto de recursos que se ejecutan juntos, incluida una instancia de Amazon. EC2 Al crear un entorno, Elastic Beanstalk aprovisiona los recursos necesarios en su cuenta. 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 un conjunto de AWS recursos necesarios para ejecutar el código de la aplicación.
Cómo crear una aplicación de
-
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 tiene que centrarse en los dos primeros pasos; después, puede pasar directamente a revisar y crear su aplicación y su entorno.
Cómo configurar un entorno
-
En Información del entorno, en Nombre del entorno, escriba:
gs-app-web-env. -
En Plataforma, elija la plataforma PHP.
-
Para el Código de la aplicación y los Elementos preestablecidos, acepte los valores predeterminados (Aplicación de muestra e Instancia individual) 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 EC2 supervisar las instancias y actualizar la plataforma del entorno. Un rol de perfil de EC2 instancia 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 Rol de servicio y omita el resto de estos pasos para crear un rol de servicio.
-
Si no ve ningún valor en 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
-
-
Elija 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.
Para crear o seleccionar un perfil de EC2 instancia
-
Si ya ha creado un perfil de EC2 instancia y desea elegir uno existente, seleccione el valor en el menú desplegable del perfil de EC2 instancia y omita el resto de estos pasos para crear un perfil de EC2 instancia.
-
Si no ves ningún valor en la lista del perfil de EC2 instancia o quieres crear uno nuevo, continúa con los siguientes pasos.
-
Elija 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
Elija Crear rol.
-
Vuelva a la pestaña Configurar el acceso al servicio, actualice la lista y, a continuación, seleccione el perfil de EC2 instancia recién creado.
Cómo terminar de configurar y crear la aplicación
-
Omita el EC2 key pair.
Te mostraremos otras formas de conectarte a tus EC2 instancias de Amazon 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 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 tendrá que esperar.
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 :
-
EC2 instancia: una máquina EC2 virtual de Amazon configurada para ejecutar aplicaciones web en la plataforma que ha seleccionado.
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. Puedes conectarte a tus EC2 instancias de Amazon para ver la configuración y los registros.
-
Grupo de seguridad de instancias: se creará un grupo de EC2 seguridad de Amazon para permitir las solicitudes entrantes en el puerto 80, de modo que el tráfico entrante de un balanceador de cargas pueda llegar a tu aplicación web.
-
Bucket de Amazon S3: ubicación de almacenamiento para el código fuente, los registros y otros artefactos.
-
CloudWatch Alarmas de Amazon: se crean dos CloudWatch alarmas para monitorear la carga de sus instancias y escalarlas hacia arriba o hacia abajo según sea necesario.
-
CloudFormation pila: Elastic CloudFormation Beanstalk se utiliza para implementar los recursos en su entorno y realizar 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 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 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 AWS crea los recursos y lanza la aplicación, el entorno se encuentra en un 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 dirige 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 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 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.
-
Salud: consulta el estado y la información de salud detallada de las EC2 instancias de Amazon que ejecutan tu aplicación.
-
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, puedes conectarte directamente a la EC2 instancia de Amazon 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 que se hayan creado los registros, elija el enlace Descargar para verlos en el navegador.
En los registros, busque el registro y anote el directorio del registro de acceso de nginx.
Añadir una política para habilitar las conexiones a Amazon EC2
Antes de poder conectarte, debes añadir una política que permita las conexiones a Amazon EC2 con Session Manager.
-
Vaya a 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.
Para conectarte a Amazon EC2 con Session Manager
-
Ve a la EC2 consola de Amazon.
-
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 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 las instancias de Amazon, puede ver EC2 el estado de la implementación en la página de 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, seleccione Versiones de aplicaciones getting-started-appen 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 con un uso intensivo de recursos informáticos, puede cambiar el tipo de instancia de Amazon Elastic Compute Cloud EC2 (Amazon) 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 eliminar y volver a crear AWS los recursos, lo que puede tardar varios 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. Configura un entorno escalable y con equilibrio de carga que tiene entre dos y cuatro EC2 instancias de Amazon en su grupo de Auto Scaling y, a continuación, verifica que se haya producido el cambio. Elastic Beanstalk crea una instancia de Amazon EC2 adicional y la añade a la única instancia que creó inicialmente. A continuación, Elastic Beanstalk asocia ambas instancias con el equilibrador 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 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 escalado automático 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 EC2 instancias de Amazon, la capacidad de su entorno se duplicó y solo tardó unos minutos.
Limpieza de su entorno de Elastic Beanstalk
Para asegurarse de que no se le cobre por ningún servicio que no utilice, elimine todas las versiones de las aplicaciones y cierre los entornos, lo que también eliminará los AWS recursos que el entorno creó 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 Regiones, seleccione su. Región de AWS -
En el panel de navegación, elija Aplicaciones y, a continuación, 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 y, a continuación getting-started-app, elija GettingStartedApp-env en la lista de entornos.
-
Elija Actions (Acciones) y, a continuación, Terminate Environment (Terminar entorno).
-
Confirme que desea terminar GettingStartedApp-env escribiendo el nombre del entorno y, a continuación, elija Terminate.
-
-
Elimine la aplicación 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-appescribiendo el nombre de la aplicación y, a continuación, elija Eliminar.
-
¡Enhorabuena!
¡Implementó correctamente una aplicación de muestra AWS en la nube, cargó una nueva versión, modificó su configuración para agregar una segunda instancia de Auto Scaling y agotó sus AWS recursos!
Siguientes pasos
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.