eb create - AWS Elastic Beanstalk

eb create

Descripción

Crea un nuevo entorno e implementa una versión de la aplicación en él.

nota

Puede implementar la versión de la aplicación desde varios orígenes:

  • De forma predeterminada: desde el código fuente de la aplicación en el directorio de proyectos locales.

  • Mediante la opción --version: desde una versión de la aplicación que ya existe en su aplicación.

  • Cuando el directorio de proyectos no tiene código de aplicación o al utilizar la opción --sample: desde una aplicación de ejemplo, específica de la plataforma de su entorno.

Sintaxis

eb create

eb create environment-name

Un nombre de entorno debe tener entre 4 y 40 caracteres y solo pueden contener letras, números y guiones. Un nombre de entorno no puede empezar ni terminar con un guion.

Si incluye un nombre del entorno en el comando, la CLI de EB no le pedirá que seleccione ningún valor ni que cree un rol de servicio.

Si ejecuta el comando sin argumento de nombre de entorno, se ejecuta en un flujo interactivo y le pide que escriba o seleccione valores para algunos ajustes. En este flujo interactivo, en caso de que esté implementando una aplicación de ejemplo, la CLI de EB también le pregunta si desea descargar esta aplicación de ejemplo en el directorio de proyectos locales. Esto le permite utilizar la CLI de EB con el nuevo entorno más tarde para ejecutar las operaciones que requieran el código de la aplicación, como por ejemplo eb deploy.

Algunas solicitudes de flujo interactivo solo se muestran en determinadas condiciones. Por ejemplo, si elige utilizar un balanceador de carga de aplicaciones y su cuenta tiene al menos un balanceador de carga de aplicaciones compartible, Elastic Beanstalk mostrará un mensaje que le preguntará si desea utilizar un balanceador de carga compartido. Este mensaje no se muestra si no existe un balanceador de carga de aplicaciones compartible en su cuenta.

Opciones

Ninguna de estas opciones es obligatoria. Si ejecuta eb create sin ninguna opción, la CLI de EB le pedirá que escriba o seleccione un valor para cada ajuste.

Nombre

Descripción

-d

o bien

--branch_default

Establece el entorno como predeterminado en el repositorio actual.

--cfg nombre-de-configuración

Utilice los ajustes de la plataforma de una configuración guardada en .elasticbeanstalk/saved_configs/ o en el bucket de Amazon S3. Especifique el nombre del archivo sin la extensión .cfg.yml.

-c nombre-de-subdominio

o bien

--cname nombre-de-subdominio

Nombre del subdominio que se va a incluir como prefijo en la entrada DNS de CNAME que direcciona el tráfico al sitio web.

Tipo: String

Valor predeterminado: nombre del entorno.

-db

o bien

--database

Adjunta una base de datos al entorno. Si ejecuta eb create con la opción --database pero sin las opciones --database.username y --database.password, la CLI de EB le pide el nombre del usuario principal y la contraseña de la base de datos.

-db.engine motor

o bien

--database.engine motor

Tipo de motor de base de datos. Si ejecuta eb create con esta opción, la CLI de EB lanza el entorno con una base de datos adjuntada aunque el comando no se ejecute con la opción --database.

Tipo: String

Valores válidos: mysql, oracle-se1, postgres, sqlserver-ex, sqlserver-web, sqlserver-se

-db.i tipo_de_instancia

o bien

--database.instance tipo_de_instancia

Tipo de instancia de Amazon EC2 que se va a utilizar con la base de datos. Si ejecuta eb create con esta opción, la CLI de EB lanza el entorno con una base de datos adjuntada aunque el comando no se ejecute con la opción --database.

Tipo: String

Valores válidos: consulte Option Values.

-db.pass contraseña

o bien

--database.password contraseña

Contraseña de la base de datos. Si ejecuta eb create con esta opción, la CLI de EB lanza el entorno con una base de datos adjuntada aunque el comando no se ejecute con la opción --database.

-db.size número_de_gigabytes

o bien

--database.size número_de_gigabytes

Número de gigabytes (GB) que se van a asignar al almacenamiento de la base de datos. Si ejecuta eb create con esta opción, la CLI de EB lanza el entorno con una base de datos adjuntada aunque el comando no se ejecute con la opción --database.

Tipo: Number

Valores válidos:

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

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

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

  • Microsoft SQL Server Express Edition: 30.

  • Microsoft SQL Server Web Edition: 30.

  • Microsoft SQL Server Standard Edition: 200.

-db.user nombreDeUsuario

o bien

--database.username nombreDeUsuario

Nombre de usuario de la base de datos. Si ejecuta eb create con esta opción, la CLI de EB lanza el entorno con una base de datos adjuntada aunque el comando no se ejecute con la opción --database. Si ejecuta eb create con la opción --database pero sin las opciones --database.username y --database.password, la CLI de EB le pide el nombre de usuario maestro y la contraseña maestra de la base de datos.

-db.version version

o bien

--database.version version

Permite especificar la versión del motor de base de datos. Si esta marca esta presente, el entorno se lanzará con una base de datos que tiene el número de versión especificado, aunque no se incluya la marca --database.

--elb-typeValor type de

El tipo de balanceador de carga.

Tipo: String

Valores válidos: classic, application, network

Valor predeterminado: application

-es

o bien

--enable-spot

Habilite las solicitudes de instancias de spot para su entorno. Para obtener más información, consulte Grupo de Auto Scaling.

Opciones relacionadas:

  • --instance-types

  • --on-demand-base-capacity

  • --on-demand-above-base-capacity

  • --spot-max-price

--env-group-suffix groupname Nombre del grupo que se añade al nombre del entorno. Solo se utiliza con Compose Environments.

--envvars

Propiedades del entorno en una lista separada por comas con el formato nombre=valor. Consulte Configuración de las propiedades de entorno para ver los límites.

-ip nombre_de_perfil

o bien

--instance_profile nombre_de_perfil

Perfil de instancia con el rol de IAM que tiene las credenciales de seguridad temporales que la aplicación necesita para obtener acceso a los recursos de AWS.

-it

o bien

--instance-types type1[,type2 ...]

Lista separada por comas de los tipos de instancias de Amazon EC2 que desea utilizar en el entorno. Si no especifica esta opción, Elastic Beanstalk proporciona tipos de instancia predeterminados.

Para obtener más información, consulteInstancias de Amazon EC2 y Grupo de Auto Scaling.

-i

o bien

--instance_type

Tipo de instancia de Amazon EC2 que desea que se utilice en el entorno. Si no especifica esta opción, Elastic Beanstalk proporciona un tipo de instancia predeterminado.

Para obtener más información, consulte Instancias de Amazon EC2.

nota

La opción --instance_type está obsoleta. Se ha sustituido por la nueva opción --instance-types, que es más eficaz. La nueva opción le permite especificar una lista con uno o varios tipos de instancias para el entorno. El primer valor de esa lista es equivalente al valor de la opción --instance_type. La forma recomendada de especificar tipos de instancias es utilizar la nueva opción.

-k nombre_de_clave

o bien

--keyname nombre_de_clave

Nombre del par de claves de Amazon EC2 que se va a utilizar con el cliente de Secure Shell (SSH) para iniciar sesión de forma segura en las instancias de Amazon EC2 que ejecutan la aplicación Elastic Beanstalk. Si incluye esta opción con el comando eb create, el valor que proporcione anulará cualquier nombre de clave que haya especificado con eb init.

Valores válidos: nombre de clave existente que esté registrado con Amazon EC2.

-im número-de-instancias

o bien

--min-instances número-de-instancias

El número mínimo de instancias de Amazon EC2 necesarias para su entorno.

Tipo: número (entero)

Valor predeterminado: 1

Valores válidos: de 1 a 10000

-ix número-de-instancias

o bien

--max-instances número-de-instancias

El número máximo de instancias de Amazon EC2 que permite para su entorno.

Tipo: número (entero)

Valor predeterminado: 4

Valores válidos: de 1 a 10000

--modules componente-a componente-b

Lista de los entornos de componentes que se van a crear. Solo se utiliza con Compose Environments.

-sb

o bien

--on-demand-base-capacity

Número mínimo de instancias bajo demanda que el grupo de Auto Scaling aprovisiona antes de considerar la posibilidad de utilizar instancias de spot cuando se amplía el entorno.

Esta opción solo se puede especificar con --enable-spot. Para obtener más información, consulte Grupo de Auto Scaling.

Tipo: número (entero)

Valor predeterminado: 0

Valores válidos: de 0 a --max-instances (cuando no hay ningún valor: opción MaxSize del espacio de nombres aws:autoscaling:asg)

-sp

o bien

--on-demand-above-base-capacity

El porcentaje de instancias bajo demanda como parte de la capacidad adicional que el grupo de Auto Scaling aprovisiona además del número de instancias especificado mediante la opción --on-demand-base-capacity.

Esta opción solo se puede especificar con --enable-spot. Para obtener más información, consulte Grupo de Auto Scaling.

Tipo: número (entero)

Valor predeterminado: 0 para un entorno de una sola instancia; 70 para un entorno con balanceo de carga

Valores válidos: de 0 a 100

-p platform-version

o bien

--platform platform-version

La versión de la plataforma que se va a usar. Puede especificar una plataforma, una plataforma y la versión, una rama de la plataforma, el nombre de una pila de soluciones o el ARN de una pila de soluciones. Por ejemplo:

  • php, PHP, node.js: la última versión de plataforma para la plataforma especificada

  • php-7.2, "PHP 7.2": la versión recomendada (normalmente la más reciente) de la plataforma PHP 7.2

  • "PHP 7.2 running on 64bit Amazon Linux": la versión recomendada (normalmente la más reciente) de la plataforma PHP de esta rama de la plataforma

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1": la versión de la plataforma PHP especificada por el nombre de la pila de esta solución

  • "arn:aws:elasticbeanstalk:us-east-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3": la versión de la plataforma PHP especificada por el ARN de la pila de esta solución

Utilice eb platform list para obtener una lista con las configuraciones disponibles.

Si especifica la opción --platform, anula el valor que se proporcionó durante eb init.

-pr

o bien

--process

Procesar previamente y validar el manifiesto del entorno y los archivos de configuración del paquete de código fuente. La validación de los archivos de configuración puede identificar los problemas antes de implementar la versión de la aplicación en un entorno.

-r región

o bien

--region región

Región de AWS en la que quiere implementar la aplicación.

Para obtener la lista de valores que puede especificar para esta opción, consulte AWS Elastic Beanstalk Endpoints and Quotas en AWS General Reference (Referencia general de AWS).

--sample

Implemente la aplicación de ejemplo en el nuevo entorno en lugar del código del repositorio.

--scale número-de-instancias

Lance el número especificado de instancias.

--service-role rolDeServicio Asigne al entorno un rol de servicio que no sea el predeterminado.
nota

No especifique un ARN; solo en nombre del rol. Elastic Beanstalk agrega como prefijo los valores correctos al nombre de rol para crear internamente el ARN resultante.

-ls balanceador de carga

o bien

--shared-lb balanceador de carga

Configure el entorno para utilizar un balanceador de carga compartido. Proporcione el nombre o ARN de un balanceador de carga compartible en su cuenta, un balanceador de carga de aplicaciones que haya creado explícitamente, no uno creado por otro entorno de Elastic Beanstalk. Para obtener más información, consulte Balanceador de carga de aplicaciones compartido..

Ejemplos de parámetros:

  • FrontEndLB: nombre de un balanceador de carga

  • arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/FrontEndLB/0dbf78d8ad96abbc: un ARN de balanceador de carga de aplicaciones.

Puede especificar esta opción solo con --elb-type application. Si especifica esa opción y no especifica --shared-lb, Elastic Beanstalk crea un balanceador de carga dedicado para el entorno.

-lp puerto

o bien

--shared-lb-port puerto

Puerto de agente de escucha predeterminado del balanceador de carga compartido para este entorno. Elastic Beanstalk agrega una regla de escucha que enruta todo el tráfico de este agente de escucha al proceso de entorno predeterminado. Para obtener más información, consulte Balanceador de carga de aplicaciones compartido..

Tipo: número (entero)

Valor predeterminado: 80

Valores válidos: cualquier entero que represente un puerto de agente de escucha del balanceador de carga compartido.

--single

Cree el entorno con una sola instancia Amazon EC2 y sin un balanceador de carga.

aviso

Un entorno de una sola instancia no está preparado para producción. Si la instancia se vuelve inestable durante la implementación o Elastic Beanstalk termina y reinicia la instancia durante una actualización de la configuración, es posible que la aplicación no esté disponible durante algún tiempo. Utilice entornos de una sola instancia para desarrollo, pruebas o ensayos. Utilice entornos con balanceo de carga para producción.

-sm

o bien

--spot-max-price

Precio máximo unitario por hora que está dispuesto a pagar por una instancia de spot.

Esta opción solo se puede especificar con --enable-spot. Para obtener más información, consulte Grupo de Auto Scaling.

Tipo: número (float)

Valor predeterminado: precio bajo demanda

Valores válidos: de 0.001 a 20.0

--tags key1=value1[,key2=value2 ...]

Etiquete los recursos del entorno. Las etiquetas se especifican como una lista de pares key=value separados por comas.

Para obtener más información, consulte Etiquetado de entornos.

-t worker

o bien

--tier worker

Cree un entorno de trabajo. Omita esta opción para crear un entorno de servidor web.

--timeout minutos

Establezca el número de minutos que deben transcurrir antes de que se agote el tiempo de espera del comando.

--version etiqueta_de_versión

Especifica la versión de la aplicación que se va a implementar en el entorno en lugar del código fuente de la aplicación del directorio de proyectos local.

Tipo: String

Valores válidos: etiqueta de la versión de la aplicación existente.

--vpc

Configure una VPC para el entorno. Cuando se incluye esta opción, la CLI de EB le pide que configure todos los ajustes obligatorios antes de lanzar el entorno.

--vpc.dbsubnets subnet1,subnet2

Especifica subredes para las instancias de base de datos de una VPC. Es obligatorio cuando se especifica --vpc.id.

--vpc.ec2subnets subnet1,subnet2

Especifica subredes para las instancias Amazon EC2 de una VPC. Es obligatorio cuando se especifica --vpc.id.

--vpc.elbpublic

Inicia el balanceador de carga Elastic Load Balancing en una subred pública de la VPC.

No puede especificar esta opción con las opciones --tier worker o --single.

--vpc.elbsubnets subnet1,subnet2

Especifica subredes para el balanceador de carga Elastic Load Balancing en una VPC.

No puede especificar esta opción con las opciones --tier worker o --single.

--vpc.id ID

Lanza el entorno en la VPC especificada.

--vpc.publicip

Lanza instancias de Amazon EC2 en una subred pública de la VPC.

No puede especificar esta opción con la opción --tier worker.

--vpc.securitygroups securitygroup1,securitygroup2

Especifica los ID de grupo de seguridad. Es obligatorio cuando se especifica --vpc.id.

Opciones comunes

Salida

Si se ejecuta correctamente, el comando le hará preguntas y después devolverá el estado de la operación de creación. Si hubiera algún problema durante el lanzamiento, utilice la operación eb events para obtener más detalles.

Si habilitó la compatibilidad con CodeBuild en la aplicación, eb create mostrará información de CodeBuild cuando se compile el código. Para obtener información sobre la compatibilidad con CodeBuild en Elastic Beanstalk, consulte Uso de la CLI de EB con AWS CodeBuild.

Ejemplos

En el siguiente ejemplo, se crea un entorno en modo interactivo.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: app-141029_145448 Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2014-10-29 21:54:51.063000+00:00 Printing Status: ...

En el siguiente ejemplo también se crea un entorno en modo interactivo. En este ejemplo, su directorio de proyecto no tiene código de aplicación. El comando implementa una aplicación de ejemplo y la descarga en el directorio de proyectos local.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead. Do you want to download the sample application into the current directory? (Y/n): ENTER INFO: Downloading sample application to the current directory. INFO: Download complete. Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: Sample Application Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2017-11-08 21:54:51.063000+00:00 Printing Status: ...

El siguiente comando crea un entorno sin plantear ninguna pregunta.

$ eb create dev-env Creating application version archive "app-160312_014028". Uploading test/app-160312_014028.zip to S3. This may take a while. Upload Complete. Application test has been created. Environment details for: dev-env Application name: test Region: us-east-2 Deployed Version: app-160312_014028 Environment ID: e-6fgpkjxyyi Platform: 64bit Amazon Linux 2015.09 v2.0.8 running PHP 5.6 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:40:33.614000+00:00 Printing Status: ...

El siguiente comando crea un entorno en una VPC personalizada.

$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265 Creating application version archive "app-160312_014309". Uploading test/app-160312_014309.zip to S3. This may take a while. Upload Complete. Environment details for: dev-vpc Application name: test Region: us-east-2 Deployed Version: app-160312_014309 Environment ID: e-pqkcip3mns Platform: 64bit Amazon Linux 2015.09 v2.0.8 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:43:14.057000+00:00 Printing Status: ...