AWS Elastic Beanstalk
Developer Guide

Introducción al uso de Elastic Beanstalk

Las tareas siguientes le ayudan a empezar a trabajar con AWS Elastic Beanstalk para crear, ver, implementar y actualizar la aplicación, así como para editar y terminar el entorno. Para completar estas tareas, utiliza la Consola de administración de AWS, una interfaz interactiva basada en la Web.

Paso 1: Inscribirse en el servicio

Si aún no es cliente de AWS, tiene que inscribirse. Cuando lo haga, tiene acceso a Elastic Beanstalk y otros servicios de AWS que necesita, como Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3) y Amazon Simple Notification Service (Amazon SNS).

Para inscribirse en una cuenta de AWS

  1. Abra la Consola de Elastic Beanstalk.

  2. Siga las instrucciones que aparecen.

Paso 2: Cree una aplicación

A continuación, va a crear e implementar una aplicación de ejemplo. En este paso, va a utilizar una aplicación de ejemplo que ya está preparada.

Elastic Beanstalk es gratuito, pero los recursos de AWS que proporciona se ejecutan en un entorno real (y no en un entorno de pruebas). Se le facturan las tarifas de uso estándar por estos recursos hasta que los termine en la última tarea de este tutorial. Los costos totales son mínimos (por lo general, menos de un dólar). Para obtener información sobre cómo puede minimizar los cargos, consulte Capa gratuita de AWS.

Para crear una aplicación de muestra

  1. Abra la Consola de Elastic Beanstalk con este enlace preconfigurado: https://console.aws.amazon.com/elasticbeanstalk/home#/gettingStarted?applicationName=getting-started-app

  2. Elija una plataforma y seleccione Create aplication (Crear aplicación).

    
              Asistente para nuevos entornos

Para ejecutar una aplicación de muestra en recursos de AWS, Elastic Beanstalk realiza las siguientes acciones. Tarda aproximadamente cinco minutos en completarse:

  • Crea una aplicación de Elastic Beanstalk llamada getting-started-app.

  • Lanza un entorno denominado GettingStartedApp-env con los siguientes recursos de AWS:

    • Instancia EC2: máquina virtual de Amazon Elastic Compute Cloud (Amazon EC2) configurada para ejecutar aplicaciones web en la plataforma que elija.

      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 que se sitúa delante de la aplicación web, reenvía las solicitudes a esta, administra los recursos estáticos y genera registros de acceso y errores.

    • Grupo de seguridad de la instancia: grupo de seguridad de Amazon EC2 configurado para permitir la entrada en el puerto 80. Este recurso permite que el tráfico HTTP procedente del balanceador de carga llegue a la instancia EC2 en la que se ejecuta la aplicación web. De forma predeterminada, el tráfico no está permitido en otros puertos.

    • Bucket de Amazon S3: ubicación de almacenamiento para el código fuente, los registros y otros artefactos que se crean al utilizar Elastic Beanstalk.

    • Alarmas de Amazon CloudWatch: dos alarmas de CloudWatch que monitorizan la carga de las instancias del entorno y que se activan si la carga es demasiado alta o demasiado baja. Cuando se activa una alarma, en respuesta, el grupo de Auto Scaling aumenta o reduce los recursos.

    • Pila de AWS CloudFormation: Elastic Beanstalk utiliza AWS CloudFormation para lanzar los recursos del entorno y propagar los cambios de configuración. Los recursos se definen en una plantilla que puede verse en la consola de AWS CloudFormation.

    • Nombre de dominio: nombre de dominio que direcciona el tráfico a la aplicación web con el formato subdominio.region.elasticbeanstalk.com.

  • Crea una nueva versión de la aplicación llamada Sample Application (Aplicación de ejemplo), que toma como referencia el archivo predeterminado de la aplicación de ejemplo de Elastic Beanstalk.

  • Implementa el código de la aplicación de ejemplo en GettingStartedApp-env.

Durante el proceso de creación del entorno, la consola hace un seguimiento del progreso y muestra los eventos, como se indica.


        Consola mostrando la salida de eventos de creación de entorno.

Cuando termine el lanzamiento de todos los recursos y las instancias EC2 que ejecutan la aplicación superen las comprobaciones de estado, los cambios de estado del entorno tendrán el valor Ok y el sitio web estará listo para usarse.

Paso 3: Consultar información sobre el entorno

Después de crear la aplicación de Elastic Beanstalk, puede ver información sobre la aplicación que implementó y los recursos aprovisionados en el panel del entorno de la Consola de administración de AWS. En el panel, se muestra el estado del entorno de la aplicación, la versión en ejecución y la versión de la plataforma del entorno (configuración).

Mientras Elastic Beanstalk crea los recursos de AWS y lanza la aplicación, el entorno se encuentra en el estado Pending. En el panel del entorno, aparecerán mensajes de estado sobre el lanzamiento de eventos.

Si no puede ver el panel, inténtelo de este modo.

Para ver el panel

  1. Abra la Consola de Elastic Beanstalk.

  2. Elija GettingStartedApp-env.

    
            Consola de Elastic Beanstalk mostrando una lista de aplicaciones y entornos.

El panel muestra un subconjunto de información útil sobre su entorno. Esto incluye su dirección URL, su estado actual, el nombre de la versión de la aplicación implementada actualmente, los cinco eventos más recientes y la versión de la plataforma (configuración) en la que se ejecuta la aplicación.


        Panel del entorno

En la esquina superior derecha del panel, junto al menú Acciones, encontrará la dirección URL del entorno. Se trata de la dirección URL de la aplicación web que el entorno ejecuta. Elija esta dirección URL para ir a la página Congratulations (Enhorabuena) de la aplicación.

En la parte izquierda de la consola, se encuentra el panel de navegación. Este panel contiene enlaces a otras páginas, que incluyen información más detallada sobre el entorno y proporcionan acceso a otras características. Explore las páginas siguientes para ver el estado actual del entorno:

  • En la página Configuration (Configuración), se muestran los recursos aprovisionados para este entorno, como las instancias Amazon EC2 que alojan la aplicación. Esta página también le permite configurar algunos de los recursos aprovisionados.

  • En la página Health (Estado), se muestra el estado y otros detalles de las instancias EC2 que ejecutan la aplicación.

  • En la página Monitorización, se muestran las estadísticas del entorno, como la latencia media o el uso de CPU. También puede usar esta página para crear alarmas para las métricas que está monitorizando.

  • En la página Eventos, se muestran mensajes informativos o de error emitidos por los servicios que se utilizan en este entorno.

  • La página Etiquetas muestra etiquetas: pares clave-valor que se aplican a los recursos en el entorno. Puede utilizar esta página para administrar las etiquetas de su entorno.

Paso 4: Implementar una nueva versión de la aplicación

Puede implementar una nueva versión de la aplicació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 que está ejecutando ahora tiene la etiqueta Sample Application (Aplicación de ejemplo).

Para actualizar la versión de la aplicación

  1. Descargue una de las siguientes aplicaciones de ejemplo, en función de la configuración de su entorno:

  2. Abra la Consola de Elastic Beanstalk.

  3. Desde la página de aplicaciones de Elastic Beanstalk, elija getting-started-app y, a continuación, elija GettingStartedApp-env.

  4. En la sección Overview (Información general), seleccione Upload and Deploy (Cargar e implementar).

  5. Seleccione Choose File (Elija un archivo) y cargue el paquete de código de muestra que descargó.

  6. La consola se especifica automáticamente en el campo Version label (Etiqueta de versión), en función del nombre del archivo que se ha cargado. En el caso de futuras implementaciones, debe escribir una etiqueta de versión única si utiliza un paquete de código fuente con el mismo nombre.

  7. Elija Deploy (Implementar).

Elastic Beanstalk implementa ahora el archivo en las instancias Amazon EC2. Puede ver el estado de la implementación en el panel del entorno. El estado de Environment Health (Estado del entorno) aparece atenuado mientras se actualiza la versión de la aplicación. Una vez completada la implementación, Elastic Beanstalk realiza una comprobación de estado. El estado cambia a verde cuando la aplicación responde a la comprobación de estado. En el panel del entorno, en Running Version (Versión en ejecución) aparecerá la nueva versión en ejecución como Sample Application Second Version (Versión segunda de aplicación de muestra) o la versión que se especificó en Version label [Etiqueta de versión]).

La nueva versión de la aplicación también se carga y se agrega en la tabla de versiones de la aplicación. Para ver la tabla, seleccione My First Elastic Beanstalk Application (Mi primera aplicación de Elastic Beanstalk) y Application Versions (Versiones de la aplicación).

Paso 5: Cambie la configuración

Puede personalizar 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 Amazon EC2que ejecuta la aplicación.

Hay cambios de configuración que puede realizar fácilmente y que se aplican con rapidez. Algunos cambios requieren que Elastic Beanstalk elimine recursos de AWS y vuelva a crearlos, lo que puede tardar unos minutos. Cuando cambie las opciones de configuración, Elastic Beanstalk le avisará de que puede producirse un período de inactividad en la aplicación.

En esta tarea, debe editar la configuración de capacidad del entorno. Puede configurar un entorno de escalado con balance de carga automáticamente que tiene entre dos y cuatro instancias en su grupo de Auto Scaling y, a continuación, comprobar que el cambio se ha producido. Se han creado dos instancias Amazon EC2 y están asociadas al balanceador de carga del entorno. Estas instancias sustituyen a la instancia única que Elastic Beanstalk ha creado inicialmente.

Para cambiar la configuración del entorno

  1. Abra la Consola de Elastic Beanstalk.

  2. Desplácese hasta la página de administración de su entorno.

  3. Elija Configuración.

  4. En la categoría de configuración Capacity (Capacidad), elija Modify (Modificar).

  5. En la sección Auto Scaling Group (Grupo de Auto Scaling), cambie Environment type (Tipo de entorno) a Load balanced (Con balanceo de carga).

  6. En la fila Instances (Instancias), cambie Max (Máx.) a 4 y, a continuación, cambie Min (Mín.) a 2.

  7. En la parte inferior de la página Modify capacity (Modificar capacidad), elija Save (Guardar.

  8. En la parte inferior de la página Configuration overview (Información general de configuración), elija Apply (Aplicar).

  9. Aparece una advertencia. Le indica que la migración sustituye a todas las instancias actuales. Elija Confirm.

El entorno puede tardar unos minutos en actualizarse. Cuando esté listo, continúe en la siguiente tarea para comprobar los cambios.

Para comprobar los cambios en los balanceadores de carga

  1. En el panel de navegación, seleccione Events.

    En la lista de eventos, aparecerá el evento Successfully deployed new configuration to environment. Esto confirma que el número mínimo de instancias de Auto Scaling se ha establecido en 2. Automáticamente, se lanzará una segunda instancia.

  2. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  3. En el panel de navegación, en LOAD BALANCING, elija Load Balancers.

  4. Repita los siguientes dos pasos hasta que identifique el balanceador de carga con el nombre de instancia que desee.

  5. Seleccione un balanceador de carga en la lista de balanceadores de carga.

  6. Seleccione la pestaña Instances (Instancias) en el panel Load Balancer:(Balanceador de carga) <nombre del balanceador de carga> y consulte el nombre en el campo Name (Nombre) de la tabla Instances (Instancias).

    
            Panel de balanceador de carga

    La información indica que hay dos instancias asociadas con este balanceador de carga, lo que coincide con el aumento del número de instancias EC2.

Paso 6: Eliminación

¡Enhorabuena! Acaba de implementar correctamente una aplicación de ejemplo en la nube, ha cargado una nueva versión y ha modificado la configuración para agregar una segunda instancia de Auto Scaling. Para asegurarse de que no se le cobra por servicios que no necesita, elimine de Elastic Beanstalk y de los servicios de AWS las aplicaciones y entornos que no quiera utilizar.

Para eliminar completamente la aplicación

  1. Borre todas las versiones de la aplicación.

    1. Abra la Consola de Elastic Beanstalk.

    2. Desde la página de aplicaciones de Elastic Beanstalk, elija la aplicación getting-started-app.

    3. En el panel de navegación, seleccione Application versions.

    4. En la página Application Versions, seleccione todas las versiones de la aplicación que desee eliminar y elija Delete.

    5. Confirme las versiones que va a eliminar y elija Delete.

    6. Seleccione Listo.

  2. Finalice el entorno.

    1. Para volver al panel de entorno, haga clic en getting-started-app y y, a continuación, haga clic en GettingStartedApp-env.

    2. Elija Actions y, a continuación, Terminate Environment.

    3. Confirme que desea terminar GettingStartedApp-env y seleccione Terminate (Terminar).

  3. Elimine la aplicación de Elastic Beanstalk getting-started-app.

    1. Seleccione Elastic Beanstalk en la parte superior izquierda para volver al panel principal.

    2. En la página de aplicaciones de Elastic Beanstalk, seleccione Actions (Acciones) en la aplicación getting-started-app y haga clic en Delete application (Eliminar aplicación).

    3. Confirme que quiere eliminar getting-started-app y, a continuación, elija Delete (Eliminar).

Pasos siguientes

Ahora que ha obtenido información acerca de Elastic Beanstalk y cómo acceder al mismo, le recomendamos que lea Conceptos de AWS Elastic Beanstalk. Este tema ofrece información acerca de los componentes de Elastic Beanstalk, la arquitectura y las consideraciones de diseño importantes para su aplicación de Elastic Beanstalk.

Además de la Consola de administración de AWS, también puede utilizar las siguientes herramientas para crear y administrar entornos de Elastic Beanstalk.

CLI de EB

La CLI de EB es una herramienta de línea de comando para crear y administrar entornos. Para obtener más información, consulte Interfaz de línea de comando de Elastic Beanstalk (CLI de EB).

AWS SDK for Java

AWS SDK para Java cuenta con una API Java que se puede utilizar para crear aplicaciones que usan AWS Infrastructure Services. Con AWS SDK for Java, puede ponerse en marcha en cuestión de minutos con un único paquete descargable que incluye la biblioteca de Java para AWS, ejemplos de código y documentación.

El AWS SDK for Java requiere J2SE Development Kit 5.0 o una versión posterior. Puede descargar el software de Java más reciente de http://developers.sun.com/downloads/. El SDK también requiere Apache Commons (Codec, HTTPClient y Logging), así como paquetes de terceros de Saxon-HE, que se incluyen el directorio de herramientas de terceros del SDK.

Para obtener más información, consulte AWS SDK para Java.

AWS Toolkit for Eclipse

Con el complemento AWS Toolkit for Eclipse, puede crear nuevos proyectos web de Java para AWS preconfigurados con AWS SDK for Java e implementar después las aplicaciones web en Elastic Beanstalk. Este complemento de Elastic Beanstalk se basa en Eclipse Web Tools Platform (WTP). El conjunto de herramientas cuenta con una plantilla de aplicaciones web de ejemplo, "Travel Log", donde se ilustra el uso de Amazon S3 y Amazon SNS.

Para asegurarse de que cuenta con todas las dependencias de WTP, le recomendamos que empiece con la distribución de Java EE de Eclipse, que puede descargar en http://eclipse.org/downloads/.

Para obtener más información sobre el uso del complemento de Elastic Beanstalk para Eclipse, consulte AWS Toolkit for Eclipse. Para empezar a crear una aplicación de Elastic Beanstalk con Eclipse, consulte Creación e implementación de aplicaciones Java en AWS Elastic Beanstalk.

AWS SDK para .NET

AWS SDK para .NET le permite crear aplicaciones que utilizan AWS Infrastructure Services. Con AWS SDK para .NET, puede ponerse en marcha en cuestión de minutos con un único paquete descargable que incluye la biblioteca de .NET para AWS, ejemplos de código y documentación.

Para obtener más información, consulte AWS SDK para .NET. Para ver las versiones de .NET Framework y Visual studio admitidas, consulte AWS SDK para .NET Developer Guide.

AWS Toolkit for Visual Studio

Con el complemento AWS Toolkit for Visual Studio, puede implementar una aplicación .NET existente en Elastic Beanstalk. También puede crear nuevos proyectos con las plantillas de AWS, que están preconfiguradas con AWS SDK para .NET. Para obtener información sobre los requisitos previos y la instalación, consulte AWS Toolkit for Visual Studio. Para empezar a crear una aplicación de Elastic Beanstalk con Visual Studio, consulte Creación e implementación de aplicaciones de Elastic Beanstalk en .NET mediante AWS Toolkit for Visual Studio.

AWS SDK for JavaScript in Node.js

AWS SDK for JavaScript in Node.js le permite crear aplicaciones basadas en AWS Infrastructure Services. Con AWS SDK for JavaScript in Node.js, puede ponerse en marcha en cuestión de minutos con un único paquete descargable que incluye la biblioteca de Node.js para AWS, ejemplos de código y documentación.

Para obtener más información, consulte AWS SDK para JavaScript en Node.js.

AWS SDK para PHP

AWS SDK para PHP le permite crear aplicaciones basadas en AWS Infrastructure Services. Con AWS SDK para PHP, puede ponerse en marcha en cuestión de minutos con un único paquete descargable que incluye la biblioteca de PHP para AWS, ejemplos de código y documentación.

El AWS SDK para PHP requiere PHP 5.2 o posterior. Para obtener más información sobre la descarga, consulte http://php.net/.

Para obtener más información, consulte AWS SDK para PHP.

AWS SDK for Python (Boto)

Con AWS SDK for Python (Boto), puede ponerse en marcha en cuestión de minutos con un único paquete descargable que contiene la biblioteca de Python para AWS, ejemplos de código y documentación. Puede crear aplicaciones de Python utilizando las API y evitar la complejidad que supone escribir directamente el código en las interfaces de servicios web. La completa biblioteca contiene API útiles para los desarrolladores de Python que ocultan muchas de las tareas de bajo nivel que entraña la programación para la nube de AWS, como los reintentos de las solicitudes de autenticación y la administración de errores. El SDK ofrece ejemplos prácticos en Python sobre el uso de las bibliotecas para crear aplicaciones. Para obtener más información sobre Boto, así como fragmentos de código de muestra, documentación, herramientas y otros recursos, consulte Centro para desarrolladores de Python.

AWS SDK parar Ruby

Puede ponerse en marcha en cuestión de minutos con un único paquete descargable que contiene la biblioteca de Ruby para AWS, ejemplos de código y documentación. Puede crear aplicaciones de Ruby utilizando las API y evitar la complejidad que supone escribir directamente el código en las interfaces de servicios web. La completa biblioteca contiene API útiles para los desarrolladores de Ruby que ocultan muchas de las tareas de bajo nivel que entraña la programación para la nube de AWS, como los reintentos de las solicitudes de autenticación y la administración de errores. El SDK ofrece ejemplos prácticos en Ruby sobre el uso de las bibliotecas para crear aplicaciones. Para obtener más información sobre el SDK, así como fragmentos de código de muestra, documentación, herramientas y otros recursos, consulte Centro para desarrolladores de Ruby.