Construcción de una URL de lanzamiento inmediato - AWS Elastic Beanstalk

Construcción de una URL de lanzamiento inmediato

Puede crear una URL personalizada para que cualquier persona pueda implementar y ejecutar rápidamente una aplicación web predeterminada en AWS Elastic Beanstalk. Esta dirección URL se denomina "URL de lanzamiento inmediato". Es posible que necesite una URL de lanzamiento inmediato, por ejemplo, para mostrar una aplicación web que está diseñada para ejecutarse en Elastic Beanstalk. Con las URL de lanzamiento inmediato, puede utilizar parámetros para proporcionar por adelantado la información necesaria al asistente de creación de la aplicación. Luego de agregar esta información al asistente, en unos pocos pasos, cualquier persona puede utilizar el enlace de la URL para lanzar un entorno de Elastic Beanstalk con el código fuente de la aplicación web. Esto significa que los usuarios no tienen que cargar o especificar manualmente la ubicación del paquete de origen de la aplicación. Tampoco tienen que proporcionar ninguna otra información al asistente.

Las URL de lanzamiento inmediato proporcionan a Elastic Beanstalk la información mínima necesaria para crear una aplicación: el nombre de la aplicación, la pila de soluciones, el tipo de instancia y el tipo de entorno. Elastic Beanstalk utiliza los valores predeterminados de otros detalles de configuración que no se especifican explícitamente en la URL de lanzamiento inmediato personalizada.

Las URL de lanzamiento inmediato utilizan la sintaxis estándar de las URL. Para obtener más información, consulte RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax.

Parámetros de la URL

La URL debe incluir los siguientes parámetros, que distinguen entre mayúsculas y minúsculas:

  • region (región): permite especificar la región de AWS. Para obtener una lista de las regiones que admite Elastic Beanstalk, consulte Puntos de enlace y cuotas de AWS Elastic Beanstalk en la Referencia general de AWS.

  • applicationName (Nombre de la aplicación): especifique el nombre de la aplicación. Elastic Beanstalk muestra el nombre de la aplicación en la consola de Elastic Beanstalk para distinguirlo de otras aplicaciones. De forma predeterminada, el nombre de aplicación también sirve de base para el nombre del entorno y la URL del entorno.

  • platform (plataforma): especifique la versión de la plataforma que se va a utilizar para el entorno. Utilice uno de los siguientes métodos; a continuación, codifique como URL su elección:

    • Especifique un ARN de plataforma sin una versión. Elastic Beanstalk selecciona la última versión de la plataforma de la versión principal de la plataforma correspondiente. Por ejemplo, para seleccionar la última versión de la plataforma Python 3.6, especifique Python 3.6 running on 64bit Amazon Linux.

    • Especifique el nombre de la plataforma. Elastic Beanstalk selecciona la última versión del tiempo de ejecución del lenguaje más reciente de la plataforma (por ejemplo: Python).

    Para obtener una descripción de todas las plataformas disponibles y sus versiones, consulte Plataformas compatibles con Elastic Beanstalk.

    Puede utilizar la AWS Command Line Interface (AWS CLI) para obtener una lista de todas las versiones de plataforma disponibles con sus respectivos ARN. El comando list-platform-versions muestra información detallada sobre todas las versiones de plataforma disponibles. Utilice el argumento --filters para reducir la lista. Por ejemplo, puede examinar la lista para mostrar únicamente las versiones de plataforma de un lenguaje específico.

    En el siguiente ejemplo se consultan todas las versiones de plataforma de Python y envía el resultado a través de una serie de comandos. El resultado es una lista de los ARN de versiones de plataforma (sin la cola /version), en un formato legible para los usuarios, sin codificación URL.

    $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}' Preconfigured Docker - Python 3.4 running on 64bit Debian Preconfigured Docker - Python 3.4 running on 64bit Debian Python 2.6 running on 32bit Amazon Linux Python 2.6 running on 32bit Amazon Linux 2014.03 ... Python 3.6 running on 64bit Amazon Linux

    En el siguiente ejemplo se agrega un comando Perl al último ejemplo, para codificar la salida como URL.

    $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}' | perl -MURI::Escape -ne 'chomp;print uri_escape($_),"\n"' Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian Python%202.6%20running%20on%2032bit%20Amazon%20Linux Python%202.6%20running%20on%2032bit%20Amazon%20Linux%202014.03 ... Python%203.6%20running%20on%2064bit%20Amazon%20Linux

Las URL de lanzamiento inmediato pueden contener los siguientes parámetros. Si no incluye los parámetros opcionales en la URL de lanzamiento inmediato, Elastic Beanstalk utiliza los valores predeterminados para crear y ejecutar la aplicación. Si no incluye el parámetro sourceBundleUrl, Elastic Beanstalk utiliza la aplicación de ejemplo predeterminada para el valor de plataform (plataforma) especificado.

  • sourceBundleUrl: especifique la ubicación del paquete de código fuente de la aplicación web en el formato de URL. Por ejemplo, si ha cargado el paquete de código fuente en un bucket de Amazon S3, puede especificar el valor del parámetro sourceBundleUrl como https://mybucket.s3.amazonaws.com/myobject.

    nota

    Puede especificar el valor del parámetro sourceBundleUrl como una URL de HTTP, pero el navegador web del usuario convertirá los caracteres según sea necesario aplicando la codificación HTML de URL.

  • environmentType: especifique si el entorno es escalable y tiene balanceo de carga o es solo una instancia. Para obtener más información, consulte Tipos de entornos. Puede especificar LoadBalancing o SingleInstance como valor del parámetro.

  • tierName: especifique si el entorno es compatible con una aplicación web que procese solicitudes web o que ejecute trabajos en segundo plano. Para obtener más información, consulte Entornos de trabajo de Elastic Beanstalk. Puede especificar WebServer o Worker,

  • instanceType: especifique un servidor con las características más adecuadas para su aplicación (entre ellas, el tamaño de la memoria y la potencia de la CPU). Para obtener más información sobre los tipos y las familias de instancias de Amazon EC2, consulte Tipos de instancias en la Guía del usuario de Amazon EC2 para instancias de Linux o Tipos de instancias en la Guía del usuario de Amazon EC2 para instancias de Windows. Para obtener más información sobre los tipos de instancias de disponibles en todas las regiones, consulte Tipo de instancias disponibles en la Guía del usuario de Amazon EC2 para instancias de Linux o Tipo de instancias disponibles en la Guía del usuario de Amazon EC2 para instancias de Windows.

  • withVpc: especifique si va a crear el entorno en una Amazon VPC. Puede especificar true o false. Para obtener más información sobre el uso de Elastic Beanstalk con Amazon VPC, consulte Uso de Elastic Beanstalk con Amazon VPC.

  • withRds: especifique si va a crear una instancia de base de datos de Amazon RDS con este entorno. Para obtener más información, consulte Uso de Elastic Beanstalk con Amazon RDS. Puede especificar true o false.

  • rdsDBEngine: especifique el motor de base de datos que desee usar con las instancias de Amazon EC2 de este entorno. Puede especificar mysql, oracle-sel, sqlserver-ex, sqlserver-web o sqlserver-se. El valor predeterminado es mysql.

  • rdsDBAllocatedStorage: especifica el tamaño de almacenamiento asignado en la base de datos en gigabytes (GB). Puede especificar los valores siguientes:

    • MySQL: de 5 a 1024. El valor predeterminado es 5.

    • Oracle: de 10 a 1024. El valor predeterminado es 10.

    • Microsoft SQL Server Express Edition30.

    • Microsoft SQL Server Web Edition30.

    • Microsoft SQL Server Standard Edition200.

  • rdsDBInstanceClass: especifique el tipo de instancia de base de datos. El valor predeterminado es db.t2.micro (db.m1.large para un entorno que no se ejecuta en una Amazon VPC). Para ver una lista de las clases de instancia de base de datos compatibles con Amazon RDS, consulte Clase de instancia de base de datos en la Guía del usuario de Amazon Relational Database Service.

  • rdsMultiAZDatabase: especifique si Elastic Beanstalk debe crear la instancia de base de datos en varias zonas de disponibilidad. Puede especificar true o false. Para obtener más información sobre las implementaciones en varias zonas de disponibilidad con Amazon RDS, consulte Regiones y zonas de disponibilidad en la Guía del usuario de Amazon Relational Database Service.

  • rdsDBDeletionPolicy: especifique si, al terminar el entorno, desea eliminar la instancia de base de datos o crear una instantánea de ella. Puede especificar Delete o Snapshot.

Ejemplo

A continuación, se muestra un ejemplo de una URL de lanzamiento inmediato. Después de crear su propia URL, puede enviársela a los usuarios. Por ejemplo, puede incrustar la URL en una página web o en el material de formación. Si los usuarios crean una aplicación utilizando la URL de lanzamiento inmediato, el asistente de creación de aplicaciones de Elastic Beanstalk no necesitará ningún otro dato.

https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=YourCompanySampleApp&platform=PHP%207.3%20running%20on%2064bit%20Amazon%20Linux&sourceBundleUrl=http://s3.amazonaws.com/mybucket/myobject&environmentType=SingleInstance&tierName=WebServer&instanceType=m1.small&withVpc=true&withRds=true&rdsDBEngine=postgres&rdsDBAllocatedStorage=6&rdsDBInstanceClass=db.m1.small&rdsMultiAZDatabase=true&rdsDBDeletionPolicy=Snapshot

Cuando los usuarios elijan una URL de lanzamiento inmediato, Elastic Beanstalk mostrará una página similar a la siguiente.


        Página de la consola de administración de Elastic Beanstalk para una URL de lanzamiento inmediato

Para utilizar la URL de lanzamiento inmediato

  1. Elija la URL de lanzamiento inmediato.

  2. Luego de que se abra la consola de Elastic Beanstalk, en la página Create a web app (Crear una aplicación web), elija Review and launch (Revisar y lanzar) para ver la configuración que Elastic Beanstalk utiliza para crear la aplicación y lanzar el entorno en el que se ejecuta.

  3. En la página Configure (Configurar), elija Create app (Crear aplicación) para crear la aplicación.