eb create - AWS Elastic Beanstalk

eb create

Description

Crée un environnement et y déploie une version de l'application.

Note
  • Pour utiliser eb create sur une application .NET, vous devez créer un package de déploiement comme décrit dans Création d'une solution groupée source pour une application .NET, puis définir la configuration de l'interface de ligne de commande pour déployer le package sous forme d'artefact comme décrit dans Déploiement d'un artefact à la place du dossier de projet.

  • Créer des environnements avec l'interface de ligne de commande EB nécessite un rôle de service. Vous pouvez créer un rôle de service en créant un environnement dans la console Elastic Beanstalk. Si vous n'avez pas de rôle de service, l'interface de ligne de commande EB essaie d'en créer un lorsque vous exécutez eb create.

Vous pouvez déployer la version de l'application à partir de différentes sources :

  • Par défaut : depuis le code source de l'application dans le répertoire de projet local.

  • À l'aide de l'option --version : à partir d'une version de l'application qui existe déjà dans votre application.

  • Lorsque votre projet de répertoire ne dispose pas d'un code d'application ou que vous utilisez l'option --sample : à partir d'un exemple d'application spécifique à la plateforme de votre environnement.

Syntaxe

eb create

eb create environment-name

Un nom d'environnement doit comprendre entre 4 et 40 caractères et peut contenir uniquement des lettres, des chiffres et des traits d'union. Un nom d'environnement ne peut pas commencer ou se terminer par un trait d'union.

Si vous incluez un nom d'environnement dans la commande, l'interface de ligne de commande EB ne vous invite pas à sélectionner ou créer un rôle de service.

Si vous exécutez la commande sans argument de nom d'environnement, elle s'exécute dans un flux interactif et vous invite à saisir ou sélectionner des valeurs pour certains paramètres. Dans ce flux interactif, si vous déployez un exemple d'application, l'interface de ligne de commande EB vous demande aussi si vous souhaitez télécharger cet exemple d'application sur votre répertoire de projet local. Ainsi, par la suite, vous pouvez utiliser l'interface de ligne de commande EB avec le nouvel environnement pour exécuter des opérations qui nécessitent le code de l'application, comme eb deploy.

Certaines invites de flux interactives ne sont affichées que dans certaines conditions. Par exemple, si vous choisissez d'utiliser un équilibreur de charge Application Load Balancer et que votre compte dispose d'au moins un équilibreur de charge Application Load Balancer partageable, Elastic Beanstalk affiche une invite qui vous demande si vous souhaitez utiliser un équilibreur de charge partagé. Cette invite ne s'affiche pas si aucun équilibreur de charge Application Load Balancer partageable n'existe dans votre compte.

Options

Aucune de ces options n'est obligatoire. Si vous exécutez eb create sans spécifier d'options, l'interface de ligne de commande EB vous invite à entrer ou à sélectionner une valeur pour chaque paramètre.

Nom

Description

-d

ou

--branch_default

Définissez l'environnement en tant qu'environnement par défaut pour le référentiel actuel.

--cfg config-name

Utilisez des paramètres de plateforme à partir d'une configuration enregistrée dans .elasticbeanstalk/saved_configs/ ou votre compartiment Amazon S3. Spécifiez le nom du fichier uniquement, sans l'extension .cfg.yml.

-c subdomain-name

ou

--cname subdomain-name

Nom du sous-domaine devant préfixer l'entrée DNS CNAME qui permet d'accéder à votre site web.

Type : chaîne

Par défaut : le nom de l'environnement

-db

ou

--database

Attache une base de données à l'environnement. Si vous exécutez eb create avec l'option --database, mais sans les options --database.username et --database.password, l'interface de ligne de commande EB vous invite à saisir le nom et le mot de passe de l'utilisateur principal de la base de données.

-db.engine engine

ou

--database.engine engine

Le type de moteur de base de données. Si vous exécutez eb create avec cette option, alors l'interface de ligne de commande EB lance l'environnement avec une base de données attachée même si vous n'avez pas exécuté la commande avec l'option --database.

Type : chaîne

Valeurs valides : mysql, oracle-se1, postgres, sqlserver-ex, sqlserver-web, sqlserver-se

-db.i instance_type

ou

--database.instance instance_type

Le type d'instance Amazon EC2 à utiliser pour la base de données. Si vous exécutez eb create avec cette option, alors l'interface de ligne de commande EB lance l'environnement avec une base de données attachée même si vous n'avez pas exécuté la commande avec l'option --database.

Type : chaîne

Valeurs valides : consultez Valeurs d'option.

-db.pass password

ou

--database.password password

Le mot de passe pour la base de données. Si vous exécutez eb create avec cette option, alors l'interface de ligne de commande EB lance l'environnement avec une base de données attachée même si vous n'avez pas exécuté la commande avec l'option --database.

-db.size number_of_gigabytes

ou

--database.size number_of_gigabytes

Le nombre de gigaoctets (Go) à allouer pour le stockage de base de données. Si vous exécutez eb create avec cette option, alors l'interface de ligne de commande EB lance l'environnement avec une base de données attachée même si vous n'avez pas exécuté la commande avec l'option --database.

Type : nombre

Valeurs valables :

  • MySQL5 à 1024. La valeur par défaut est 5.

  • Postgres5 sur 1024. La valeur par défaut est 5.

  • Oracle – 10 à 1024. La valeur par défaut est 10.

  • Microsoft SQL Server Express Edition30.

  • Microsoft SQL Server Web Edition30.

  • Microsoft SQL Server Standard Edition200.

-db.user username

ou

--database.username username

Le nom utilisateur pour la base de données. Si vous exécutez eb create avec cette option, alors l'interface de ligne de commande EB lance l'environnement avec une base de données attachée même si vous n'avez pas exécuté la commande avec l'option --database. Si vous exécutez eb create avec l'option --database, mais sans les options --database.username et --database.password, alors l'interface de ligne de commande EB vous invite pour le mot de passe et le nom utilisateur de base de données principale.

-db.version version

ou

--database.version version

Vous permet de spécifier la version du moteur de base de données. Si cet indicateur est présent, l'environnement se lance avec une base de données avec le numéro de version spécifié, même si l'indicateur --database n'est pas présent.

--elb-type type

Type de l'équilibreur de charge.

Type : chaîne

Valeurs valides: classic, application, network

Par défaut: application

-es

ou

--enable-spot

Activez les demandes d'instances Spot pour votre environnement. Pour en savoir plus, consultez Groupe Auto Scaling.

Options connexes :

  • --instance-types

  • --on-demand-base-capacity

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

  • --spot-max-price

--env-group-suffix groupname Nom du groupe à ajouter au nom de l'environnement. A utiliser uniquement avec Compose Environments.

--envvars

Propriétés d'environnement dans une liste séparée par des virgules au format name=value. Pour connaître les limites, veuillez consulter Configuration des propriétés de l'environnement.

-ip profile_name

ou

--instance_profile profile_name

Le profil d'instance avec le rôle IAM avec les informations d'identification de sécurité temporaires dont votre application a besoin pour accéder aux ressources AWS.

-it

ou

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

Liste séparée par des virgules des types d'instance Amazon EC2 que vous souhaitez que votre environnement utilise. Si vous ne spécifiez pas cette option, Elastic Beanstalk fournit les types d'instance par défaut.

Pour de plus amples informations, veuillez consulter Instances Amazon EC2 et Groupe Auto Scaling.

-i

ou

--instance_type

Type d'instance Amazon EC2 que vous souhaitez que votre environnement utilise. Si vous ne spécifiez pas cette option, Elastic Beanstalk fournit un type d'instance par défaut.

Pour en savoir plus, consultez Instances Amazon EC2.

Note

L'option --instance_type est obsolète. Elle est remplacée par la nouvelle option --instance-types plus puissante. Cette nouvelle option vous permet de spécifier une liste d'un ou plusieurs types d'instance pour votre environnement. La première valeur de cette liste est équivalente à la valeur de l'option --instance_type. Pour spécifier les types d'instance, il est recommandé d'utiliser la nouvelle option.

-k key_name

ou

--keyname key_name

Nom de la paire de clés Amazon EC2 à utiliser avec le client Secure Shell (SSH) pour se connecter en toute sécurité aux instances Amazon EC2 exécutant votre application Elastic Beanstalk. Si vous incluez cette option avec la commande eb create, la valeur que vous fournissez remplace n'importe quel nom de clé que vous pourriez avoir spécifié avec eb init.

Valeurs valides : un nom de clé existant qui est enregistré avec Amazon EC2

-im number-of-instances

ou

--min-instances number-of-instances

Le nombre minimal d'instances Amazon EC2 dont vous avez besoin pour votre environnement.

Type : Nombre (entier)

Valeur par défaut : 1

Valeurs valides : de 1 à 10000

-ix number-of-instances

ou

--max-instances number-of-instances

Le nombre maximal d'instances Amazon EC2 que vous autorisez votre environnement à posséder.

Type : Nombre (entier)

Par défaut: 4

Valeurs valides : de 1 à 10000

--modules component-a component-b

Liste des environnements de composants à créer. A utiliser uniquement avec Compose Environments.

-sb

ou

--on-demand-base-capacity

Nombre minimal d'instances à la demande que votre groupe Auto Scaling alloue avant de considérer les instances Spot à mesure que votre environnement augmente.

Cette option ne peut être spécifiée qu'avec l'option --enable-spot. Pour en savoir plus, consultez Groupe Auto Scaling.

Type : Nombre (entier)

Par défaut: 0

Valeurs valables : 0 à --max-instances (en son absence : MaxSize option dans l’espace de noms aws:autoscaling:asg)

-sp

ou

--on-demand-above-base-capacity

Pourcentage d'instances à la demande dans le cadre de la capacité supplémentaire allouée par votre groupe Auto Scaling au-delà du nombre d'instances spécifié par l'option --on-demand-base-capacity.

Cette option ne peut être spécifiée qu'avec l'option --enable-spot. Pour en savoir plus, consultez Groupe Auto Scaling.

Type : Nombre (entier)

Par défaut : 0 pour un environnement à instance unique ; 70 pour un environnement à charge équilibrée

Valeurs valides : de 0 à 100

-p platform-version

ou

--platform platform-version

La version de la plateforme à utiliser. Vous pouvez spécifier un nom de plateforme, une plateforme et une version de plateforme, une branche de plateforme, un nom de pile de solutions ou un ARN de pile de solutions. Exemples :

  • php, PHP, node.js – Dernière version pour la plateforme spécifiée

  • php-7.2, "PHP 7.2" – Version recommandée (généralement la plus récente) de la plateforme PHP 7.2

  • "PHP 7.2 running on 64bit Amazon Linux" – Version recommandée (généralement la plus récente) de la plateforme PHP dans cette branche de plateforme

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1" – Version de la plateforme PHP spécifiée par ce nom de pile de solutions

  • "arn:aws:elasticbeanstalk:us-east-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3" – Version de la plateforme PHP spécifiée par cet ARN de pile de solutions

Utilisez eb platform list pour obtenir la liste des configurations disponibles.

Si vous spécifiez l'option --platform, elle remplace la valeur fournie au cours d'eb init.

-pr

ou

--process

Prétraitez et validez les fichiers de configuration et le manifeste d'environnement dans le groupe source. La validation des fichiers de configuration permet d'identifier les problèmes avant de déployer la version de l'application dans un environnement.

-r région

ou

--region région

Région AWS dans laquelle vous souhaitez déployer l'application.

Pour obtenir la liste des valeurs que vous pouvez spécifier pour cette option, veuillez consulter Points de terminaison et quotas AWS Elastic Beanstalk dans la Référence générale sur AWS.

--sample

Déployez l'exemple d'application dans le nouvel environnement au lieu du code dans votre référentiel.

--scale number-of-instances

Démarrez avec le nombre d'instances spécifié

--service-role servicerole Attribuez un rôle de service autre que celui par défaut à l'environnement.
Note

Ne saisissez pas d'ARN, juste le nom de rôle. Elastic Beanstalk fait précéder le nom de rôle des valeurs correctes pour créer l'ARN en interne.

-lséquilibreur de charge

ou

--shared-lbéquilibreur de charge

Configurez l'environnement pour utiliser un équilibreur de charge partagé. Indiquez le nom ou l'ARN d'un équilibreur de charge partageable dans votre compte, un équilibreur de charge Application Load Balancer que vous avez créé explicitement, et non pas un autre environnement Elastic Beanstalk. Pour plus d'informations, consultez Équilibreur de charge Application Load Balancer partagé.

Exemples de paramètres :

  • FrontEndLB – Nom de l'équilibreur de charge

  • arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/FrontEndLB/0dbf78d8ad96abbc – ARN de l'équilibreur de charge Application Load Balancer.

Vous pouvez spécifier cette option uniquement avec --elb-type application. Si vous spécifiez cette option et que vous ne spécifiez pas --shared-lb, Elastic Beanstalk crée un équilibreur de charge dédié pour l'environnement.

-lp port

ou

--shared-lb-port port

Port d'écoute par défaut de l'équilibreur de charge partagé pour cet environnement. Elastic Beanstalk ajoute une règle d'écoute qui achemine tout le trafic de ce processus d'écoute vers le processus d'environnement par défaut. Pour plus d'informations, consultez Équilibreur de charge Application Load Balancer partagé.

Type : Nombre (entier)

Par défaut: 80

Valeurs valides : entier représentant un port d'écoute de l'équilibreur de charge partagé.

--single

Créez l'environnement avec une seule instance Amazon EC2 et sans équilibreur de charge.

Avertissement

Un environnement d'instance unique n'est pas prêt pour la production. Si l'instance devient instable lors du déploiement, ou si Elastic Beanstalk résilie l'instance lors d'une mise à jour de configuration, votre application peut être indisponible pendant un certain temps. Utilisez des environnements d'instance unique pour le développement ou les tests, ou comme environnement intermédiaire. Utilisez des environnements à charge équilibrée pour la production.

-sm

ou

--spot-max-price

Prix maximum par heure d’unité, en dollars américains, que vous êtes prêt à payer pour une instance Spot.

Cette option ne peut être spécifiée qu'avec l'option --enable-spot. Pour en savoir plus, consultez Groupe Auto Scaling.

Type : nombre (flottant)

Par défaut : prix à la demande

Valeurs valides : de 0.001 à 20.0

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

Ajouter des balises aux ressources de votre environnement. Les balises sont spécifiées sous la forme d'une liste séparée par des virgules et composée de paires key=value.

Pour en savoir plus, consultez Balisage des environnements.

-t worker

ou

--tier worker

Créez un environnement de travail. Ignorez cette option pour créer un environnement de serveur web.

--timeout minutes

Définissez le nombre de minutes avant que la commande expire.

--version version_label

Spécifie la version de l'application que vous voulez voir déployée dans l'environnement à la place du code source d'application dans le répertoire du projet local.

Type : chaîne

Valeurs valides : une étiquette de version de l'application existante

--vpc

Configurez un VPC pour votre environnement. Lorsque vous incluez cette option, l'interface de ligne de commande EB vous invite à entrer tous les paramètres obligatoires avant de lancer l'environnement.

--vpc.dbsubnets subnet1,subnet2

Spécifie les sous-réseaux pour les instances de base de données dans un VPC. Obligatoire lorsque --vpc.id est spécifié.

--vpc.ec2subnets subnet1,subnet2

Spécifie des sous-réseaux pour les instances Amazon EC2 dans un VPC. Obligatoire lorsque --vpc.id est spécifié.

--vpc.elbpublic

Lance votre équilibreur de charge Elastic Load Balancing dans un sous-réseau public de votre VPC.

Vous ne pouvez pas spécifier cette option avec les options --tier worker ou --single.

--vpc.elbsubnets subnet1,subnet2

Spécifie des sous-réseaux pour l'équilibreur de charge Elastic Load Balancing dans un VPC.

Vous ne pouvez pas spécifier cette option avec les options --tier worker ou --single.

--vpc.id ID

Lance votre environnement dans le VPC spécifié.

--vpc.publicip

Lance vos instances Amazon EC2 dans un sous-réseau public dans votre VPC.

Vous ne pouvez pas spécifier cette option avec l'option --tier worker.

--vpc.securitygroups securitygroup1,securitygroup2

Spécifie les ID des groupes de sécurité. Obligatoire lorsque --vpc.id est spécifié.

Options courantes

Sortie

En cas de succès, la commande vous soumet des questions, puis renvoie le statut de l'opération de création. Si des problèmes se sont produits lors du lancement, vous pouvez utiliser l'opération eb events pour obtenir plus d'informations.

Si vous avez activé la prise en charge de CodeBuild dans votre application, eb create affiche les informations de CodeBuild au fur et à mesure de la création du code. Pour de plus amples informations sur la prise en charge de CodeBuild dans Elastic Beanstalk, veuillez consulter Utilisation de l'interface de ligne de commande EB avec AWS CodeBuild.

Exemples

L'exemple suivant crée un environnement en mode interactif.

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

L'exemple suivant crée aussi un environnement en mode interactif. Dans cet exemple, votre projet de répertoire ne dispose pas d'un code d'application. La commande déploie un exemple d'application et le télécharge dans votre répertoire de projet 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: ...

La commande suivante crée un environnement sans afficher d'invites.

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

La commande suivante crée un environnement dans un VPC personnalisé.

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