eb create - AWS Elastic Beanstalk

eb create

説明

新しい環境を作成し、アプリケーションバージョンをデプロイします。

注記

アプリケーションバージョンは、次のいくつかのソースからデプロイできます。

  • デフォルト: ローカルプロジェクトディレクトリのアプリケーションソースコード。

  • --version オプション: アプリケーションに既に存在するアプリケーションバージョン。

  • プロジェクトディレクトリにアプリケーションコードが含まれていない場合、または --sample オプションを使用している場合: 環境のプラットフォーム固有のサンプルアプリケーション。

構文

eb create

eb create environment-name

環境名は 4 ~ 40 文字の長さにする必要があり、文字、数字、ハイフンのみを使用できます。環境名の先頭および末尾にはハイフンを使用できません。

コマンドに環境名を含める場合、EB CLI は選択やサービスロールの作成を要求しません。

環境名引数を指定せずにコマンドを実行すると、インタラクティブなフローで実行され、一部の設定で値の入力または選択が求められます。このインタラクティブなフローで、サンプルアプリケーションをデプロイすると、EB CLI は、このサンプルアプリケーションをローカルプロジェクトディレクトにダウンロードするかどうかを確認します。これにより、後で新しい環境で EB CLI を使用して、アプリケーションのコードを必要とするオペレーション (例: eb deploy) を実行することができます。

オプション

これらのオプションはいずれも必須ではありません。オプションを指定せずに eb create を実行すると、EB CLI より、各設定の値を入力または選択するよう求められます。

名前

説明

-d

または

--branch_default

現在のリポジトリのデフォルト環境として環境を設定します。

--cfg config-name

.elasticbeanstalk/saved_configs/ または Amazon S3 バケットに保存されている設定からプラットフォームの設定を使用します.cfg.yml 拡張子なしで、ファイル名のみを指定します。

-c subdomain-name

または

--cname subdomain-name

ウェブサイトにルーティングする CNAME DNS エントリの前に付けるサブドメイン名。

型: 文字列

デフォルト: 環境の名前

-db

または

--database

データベースを環境にアタッチします。eb create オプションを指定して --database を実行するときに、--database.username オプションと --database.password オプションを指定しないと、EB CLI では、データベースのマスターユーザー名とパスワードを指定するように求められます。

-db.engine engine

または

--database.engine engine

データベース エンジンのタイプ。このオプションを指定して eb create を実行すると、--database オプションを指定してコマンドを実行しなかった場合でも、EB CLI はデータベースをアタッチして環境を起動します。

型: 文字列

有効な値: mysql, oracle-se1, postgres, sqlserver-ex, sqlserver-web, sqlserver-se

-db.i instance_type

または

--database.instance instance_type

データベースに使用する Amazon EC2 インスタンスのタイプ。このオプションを指定して eb create を実行すると、--database オプションを指定してコマンドを実行しなかった場合でも、EB CLI はデータベースをアタッチして環境を起動します。

型: 文字列

有効な値:「オプションの値」を参照してください。

-db.pass password

または

--database.password password

データベースのパスワード。このオプションを指定して eb create を実行すると、--database オプションを指定してコマンドを実行しなかった場合でも、EB CLI はデータベースをアタッチして環境を起動します。

-db.size number_of_gigabytes

または

--database.size number_of_gigabytes

データベースストレージに割り当てるサイズ(ギガバイト(GB)単位の数値)。このオプションを指定して eb create を実行すると、--database オプションを指定してコマンドを実行しなかった場合でも、EB CLI はデータベースをアタッチして環境を起動します。

型: 数値

有効な値:

  • [MySQL] – 51024。デフォルト: 5

  • Postgres5 to 1024。デフォルト: 5

  • [Oracle] – 101024。デフォルト: 10

  • [Microsoft SQL Server Express Edition] – 30

  • [Microsoft SQL Server Web Edition] – 30

  • [Microsoft SQL Server Standard Edition] – 200

-db.user username

または

--database.username username

データベースのユーザー名。このオプションを指定して eb create を実行すると、--database オプションを指定してコマンドを実行しなかった場合でも、EB CLI はデータベースをアタッチして環境を起動します。eb create オプションを指定して --database を実行するときに、--database.username オプションと --database.password オプションを指定しないと、EB CLI では、マスターデータベースのユーザー名とパスワードを指定するように求められます。

-db.version version

または

--database.version version

データベースエンジンのバージョンを指定できます。このフラグがある場合、環境は --database フラグがなくても、指定したバージョン番号のデータベースを起動します。

--elb-type type

ロードバランサータイプ

型: 文字列

有効な値: classic, application, network

デフォルト: application

-es

または

--enable-spot

環境のスポットインスタンスリクエストを有効にします。詳細については、「Auto Scaling グループ」を参照してください。

関連オプション:

  • --instance-types

  • --on-demand-base-capacity

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

  • --spot-max-price

--env-group-suffix groupname 環境の名前に連結するグループ名。環境を構成するのみで使用します。

--envvars

環境プロパティ。「name=value」の形式を使用してカンマ区切りリストで指定します。制限については、「環境プロパティを設定する」を参照してください。

-ip profile_name

または

--instance_profile profile_name

一時的なセキュリティ認証情報を持つ IAM ロールが適用されたインスタンスプロファイル。この認証情報は、アプリケーションが AWS リソースにアクセスするために必要となります。

-it

または

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

環境で使用する Amazon EC2 インスタンスタイプのコンマ区切りリスト。このオプションを指定しない場合、Elastic Beanstalk はデフォルトのインスタンスタイプを提供します。

詳細については、「Amazon EC2 インスタンス」および「Auto Scaling グループ」を参照してください。

-i

または

--instance_type

環境で使用する Amazon EC2 インスタンスタイプ。このオプションを指定しない場合、Elastic Beanstalk はデフォルトのインスタンスタイプを提供します。

詳細については、「Amazon EC2 インスタンス」を参照してください。

注記

--instance_type オプションはサポートされなくなりました。このオプションは、より新しく強力な --instance-types オプションに置き換わりました。新しいオプションにより、環境で 1 つ以上のインスタンスタイプのリストを指定することができます。このリストの最初の値は、--instance_type オプションの値に等しくなります。インスタンスタイプを指定する推奨の方法は、新しいオプションを使用することです。

-k key_name

または

--keyname key_name

Elastic Beanstalk アプリケーションを実行している Amazon EC2 インスタンスに安全にログインするために Secure Shell (SSH) クライアントで使用する Amazon EC2 キーペアの名前。eb create コマンドでこのオプションを使用すると、指定した値は、eb init で指定したキー名を上書きします。

有効な値: Amazon EC2に登録された既存のキー名

-im number-of-instances

または

--min-instances number-of-instances

環境に必要な Amazon EC2 インスタンスの最小数。

型: 数値(整数)

デフォルト: 1

有効な値: 110000

-ix number-of-instances

または

--max-instances number-of-instances

環境に許可する Amazon EC2 インスタンスの最大数。

型: 数値(整数)

デフォルト: 4

有効な値: 110000

--modules component-a component-b

作成する環境のコンポーネントリスト。環境を構成するのみで使用します。

-sb

または

--on-demand-base-capacity

環境のスケールアップ時にスポットインスタンスを考慮する前に、Auto Scaling グループがプロビジョニングするオンデマンドインスタンスの最小数。

このオプションは、--enable-spot オプションでのみ指定できます。詳細については、「Auto Scaling グループ」を参照してください。

型: 数値(整数)

デフォルト: 0

有効な値: 0--max-instances(存在しない場合: aws:autoscaling:asg 名前空間の MaxSize オプション)

-sp

または

--on-demand-above-base-capacity

--on-demand-base-capacity オプションで指定されたインスタンス数を超えて Auto Scaling グループがプロビジョニングする追加容量の一部としてのオンデマンドインスタンスの割合。

このオプションは、--enable-spot オプションでのみ指定できます。詳細については、「Auto Scaling グループ」を参照してください。

型: 数値(整数)

デフォルト: 単一インスタンス環境では 0、負荷分散された環境では 70

有効な値: 0100

-p platform-version

または

--platform platform-version

使用するプラットフォームバージョン。プラットフォーム、プラットフォームとバージョン、プラットフォームブランチ、ソリューションスタック名、またはソリューションスタック ARN を指定できます。以下に例を示します。

  • phpPHPnode.js — 指定されたプラットフォームの最新のプラットフォームバージョン

  • php-7.2"PHP 7.2" — 推奨される (通常は最新の) PHP 7.2 プラットフォームバージョン

  • "PHP 7.2 running on 64bit Amazon Linux" — このプラットフォームブランチに推奨される (通常は最新の) PHPプラットフォームバージョン

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1" — ソリューションスタック名で指定された PHP プラットフォームバージョン

  • "arn:aws:elasticbeanstalk:us-east-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3" — ソリューションスタック ARN で指定された PHP プラットフォームバージョン

利用可能な設定のリストを取得するには、eb platform list を使用します。

--platform を指定した場合は、eb init 中に提供された値よりも優先されます。

-pr

または

--process

ソースバンドル内の環境マニフェストおよび設定ファイルを事前処理し、検証します。設定ファイルを検証することで、アプリケーションバージョンを環境にデプロイする前に問題を特定できます。

-r region

または

--region region

アプリケーションをデプロイする AWS リージョン。

このオプションに指定できる値のリストについては、AWS General Reference の「AWS Elastic Beanstalk エンドポイントとクォータ」を参照してください。

--sample

リポジトリのコードではなく、新しい環境にサンプルアプリケーションをデプロイします。

--scale number-of-instances

指定された数のインスタンスで起動します

--service-role servicerole デフォルト以外のサービスロールを環境に割り当てます。
注記

単なるロール名 ARN を入力しないでください。Elastic Beanstalk は、結果の ARN を内部的に作成するために、ロール名の先頭に正しい値を付けます。

--single

単一の Amazon EC2 インスタンスを使用して環境を作成します。ロードバランサーは使用しません。

警告

シングルインスタンス環境は、本稼働環境では利用できません。インスタンスがデプロイ中に不安定になった場合、または設定の更新中に Elastic Beanstalk がインスタンスを終了して再起動した場合、アプリケーションは一定期間使用できなくなる場合があります。開発、テスト、またはステージングには、単一インスタンス環境を使用します。本稼働用には負荷分散された環境を使用します。

-sm

または

--spot-max-price

お客様がスポットインスタンスに対して支払ってもよいと考えるユニット時間あたりの上限価格(米ドル)。

このオプションは、--enable-spot オプションでのみ指定できます。詳細については、「Auto Scaling グループ」を参照してください。

タイプ: 数値(浮動小数点)

デフォルト: オンデマンド価格

有効な値: 0.00120.0

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

環境内のリソースにタグ付けします。タグは、key=value ペアのカンマ区切りリストとして指定されます。

詳細については、「環境のタグ付け」を参照してください。

-t worker

または

--tier worker

ワーカー環境を作成します。ウェブサーバー環境を作成する場合、このオプションを省略します。

--timeout

コマンドがタイムアウトするまでの時間 (分) を設定します。

--version version_label

ローカルのプロジェクトディレクトリにあるアプリケーションのソースコードではなく、環境にデプロイするアプリケーションバージョンを指定します。

型: 文字列

有効な値: 既存のアプリケーションバージョンラベル

--vpc

環境に VPC を設定します。このオプションを指定すると、環境を起動する前に、必要なすべての設定を入力するよう求めるプロンプトが EB CLI によって表示されます。

--vpc.dbsubnets subnet1,subnet2

VPC 内のデータベースインスタンスのサブネットを指定します。--vpc.id が指定されている場合は必須です。

--vpc.ec2subnets subnet1,subnet2

VPC 内の Amazon EC2 インスタンスのサブネットを指定します。--vpc.id が指定されている場合は必須です。

--vpc.elbpublic

VPC 内のパブリックサブネットで Elastic Load Balancing ロードバランサーを起動します。

このオプションは --tier worker または --single オプションを使用して指定できません。

--vpc.elbsubnets subnet1,subnet2

VPC 内の Elastic Load Balancing ロードバランサーのサブネットを指定します。

このオプションは --tier worker または --single オプションを使用して指定できません。

--vpc.id ID

指定した VPC で環境を起動します。

--vpc.publicip

VPC 内のパブリックサブネットで Amazon EC2 インスタンスを起動します。

このオプションは --tier worker オプションを使用して指定できません。

--vpc.securitygroups securitygroup1,securitygroup2

セキュリティグループ ID を指定します。--vpc.id が指定されている場合は必須です。

一般的なオプション

出力

成功すると、コマンドによって質問がいくつか表示され、作成オペレーションのステータスが返されます。起動時に問題があった場合は、eb events オペレーションを使用して詳細を取得できます。

アプリケーションで CodeBuild のサポートを有効にすると、eb create でコードの構築時に CodeBuild の情報が表示されます。Elastic Beanstalk での CodeBuild のサポートの詳細については、「EB CLI での AWS CodeBuild の使用」を参照してください。

以下の例では、インタラクティブモードで環境を作成しています。

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

また、以下の例でも、インタラクティブモードで環境を作成しています。この例では、プロジェクトディレクトリにアプリケーションコードはありません。このコマンドはサンプルアプリケーションをデプロイし、ローカルプロジェクトディレクトリにダウンロードします。

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

以下のコマンドは、いずれのプロンプトも表示せずに環境を作成します。

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

以下のコマンドは、カスタム VPC に環境を作成します。

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