eb create - AWS Elastic Beanstalk

eb create

Description

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: implementada desde una aplicación de ejemplo, específica de la plataforma de su entorno.

Syntax

eb create

eb create environment-name

Un nombre de entorno debe tener una longitud entre 8 y 64 caracteres. Solo puede 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. Al descargarlo, puede 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. Si no existe un balanceador de carga de aplicaciones compartible en su cuenta, este mensaje no se muestra.

Options

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. Este es el caso incluso si no ejecutó el comando 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 Amazon EC2 instance 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. Este es el caso incluso si no ejecutó el comando 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. Este es el caso incluso si no ejecutó el comando 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. Este es el caso incluso si no ejecutó el comando 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 Edition30.

  • Microsoft SQL Server Web Edition30.

  • Microsoft SQL Server Standard Edition200.

-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

Utilizado para 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-type Valor 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 El nombre del grupo que se agrega 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

El perfil de instancia con el rol de IAM con las credenciales de seguridad temporales que necesita la aplicación para acceder a los recursos de AWS.

-it

o bien

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

Una lista separada por comas de los tipos de Amazon EC2 instance 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, consulte Instancias de Amazon EC2 y Grupo de Auto Scaling.

importante

La CLI de EB sólo aplica esta opción a instancias Spot. A menos que esta opción se use con la opción --enable-spot, la CLI de EB la ignora. Para especificar un tipo de instancia para una instancia en diferido, utilice la herramienta --intance-type (sin “s”) en su lugar.

-i

o bien

--instance_type

El tipo de Amazon EC2 instance 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.

importante

La CLI de EB sólo aplica esta opción a instancias en diferido. No utilice esta opción con la opción --enable-spot, porque la CLI de EB la ignora cuando lo hace. Para especificar tipos de instancia para una instancia Spot, utilice la herramienta --intance-types (sin “s”) en su lugar.

-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 su 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

Una lista de los entornos de componentes que se van a crear. Solo se utiliza con Compose Environments (Entornos compuestos).

-sb

o bien

--on-demand-base-capacity

Número mínimo de instancias en diferido 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 en diferido 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 region

o bien

--region region

La región de AWS en donde desea implementar la aplicación.

A fin de obtener la lista de valores que puede especificar para esta opción, consulte Puntos de enlace y cuotas de AWS Elastic Beanstalk en la 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 ingrese un ARN. Ingrese sólo el nombre de 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 Amazon EC2 instance 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

El precio máximo unidad por hora, en dólares estadounidenses, 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)

Predeterminado: precio en diferido, para cada tipo de instancias. En este caso, el valor de la opción es null.

Valores válidos: de 0.001 a 20.0

A fin de obtener recomendaciones sobre las opciones de precio máximo de las instancias de spot, consulte el Historial de precios de instancias de spot en la Guía del usuario de Amazon EC2 para instancias de Linux.

--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

Output

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.

Examples

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: ...