メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

環境の作成時の設定オプションの設定

AWS マネジメントコンソール(EB CLI、AWS CLI、SDK、Elastic Beanstalk API)を使用して AWS Elastic Beanstalk 環境を作成する際は、環境をカスタマイズする設定オプションの値や環境内で起動される AWS リソースを指定できます。

設定変更が 1 回限りでない場合は、ソースバンドルまたは Amazon S3 にローカルに設定ファイルを保存できます。

このトピックでは、環境の作成時に設定オプションを設定するすべての方法について、具体的手順を説明します。

AWS マネジメントコンソール で、

AWS マネジメントコンソール で Elastic Beanstalk 環境を作成する場合は、設定ファイル、保存済み設定、および [Create New Environment] ウィザード内のフォームを使用して設定オプションを指定できます。

設定ファイルを使用する(.ebextensions

.ebextensions という名前のフォルダー内のアプリケーションソースバンドル.config を含めます。

Copy
~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

通常は、環境の作成中にソースバンドルを Elastic Beanstalk にアップロードします。

Elastic Beanstalk コンソールは、一部の設定オプションに推奨値を適用し、その他のオプションをフォームフィールドで指定します。Elastic Beanstalk コンソールで設定されるオプションは、環境に直接適用され、設定ファイルの設定を上書きします。

保存済み設定を使用する

Elastic Beanstalk コンソールを使って新しい環境を作成する場合、最初の手順の 1 つとして設定を選択します。設定は、[PHP] や [Tomcat] などのプラットフォームの最新バージョンに代表される [Predefined configuration] である場合や、[Saved configuration]である場合があります。

環境の作成時に保存済み設定を適用する(AWS マネジメントコンソール)

  1. Elastic Beanstalk コンソールを開きます。

  2. アプリケーションを選択します。

  3. [Saved Configurations] を選択します。

  4. 保存した設定を選択し、[Launch environment] を選択します。

  5. ウィザードを続行して環境を作成します。

保存された設定はアプリケーション固有です。保存済み設定を作成する方法の詳細については、「保存された設定」を参照してください。

新しい環境のウィザードを使用する

標準設定オプションのほとんどは、ウィザードの [Configuration Details] ページと [Permissions] ページに表示されます。環境の Amazon RDS データベースを作成するか、VPC を設定する場合、これらのリソース用のページで追加の設定オプションを利用できます。

環境の作成時に設定オプションを設定する(AWS マネジメントコンソール)

  1. Elastic Beanstalk コンソールを開きます。

  2. アプリケーションを選択または作成します。

  3. [Create New Application] を選択します。

  4. ウィザードを続行して [Configuration Details] ページに進みます。

  5. このページのフィールドに入力し、対応する設定オプションを設定します。

  6. ウィザードを続行して環境を作成します。

新しい環境のウィザードで設定したオプションは、環境に直接適用され、保存済み設定や適用する設定ファイル(.ebextensions)のオプション設定を上書きします。環境の作成後に EB CLIAWS CLI を使用して設定を削除すると、保存済み設定や設定ファイルの設定を有効にすることができます。

EB CLI を使用する

設定ファイルを使用する(.ebextensions

[.ebextensions] の下のプロジェクト フォルダーに [.config] ファイルを含め、アプリケーションコードでこれらをデプロイします。

Copy
~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

環境を作成し、eb create で環境にソースコードをデプロイする

Copy
~/workspace/my-app$ eb create my-env

保存済み設定を使用する

eb create で環境を作成する際に保存済み設定を適用するには、--cfg オプションを使用します。

Copy
~/workspace/my-app$ eb create --cfg savedconfig

保存済み設定は、プロジェクトフォルダーまたは Amazon S3 の Elastic Beanstalk ストレージの場所に格納できます。上記の例では、EB CLI は最初に [.elasticbeanstalk/saved_configs/] というフォルダー内で、[savedconfig.cfg.yml] という名前の保存済み設定のファイルを探します。--cfg で保存済み設定を適用する際は、ファイル拡張子(.cfg.yml)を含めないでください。

Copy
~/workspace/my-app/ |-- .ebextensions | `-- healthcheckurl.config |-- .elasticbeanstalk | |-- saved_configs | | `-- savedconfig.cfg.yml | `-- config.yml |-- index.php `-- styles.css

ローカルで設定が見つからない場合、EB CLI は Amazon S3 内の Elastic Beanstalk ストレージの場所を探します。設定の作成、編集、アップロードの詳細については、保存された設定 を参照してください。

コマンドラインオプションを使用する

EB CLI eb create コマンドには、環境の作成時にオプションを設定する目的で使用できる複数のオプションがあります。これらのオプションを使用すると、RDS データベースを環境に追加する、VPC を設定する、または推奨値を上書きすることができます。

たとえば、EB CLI はデフォルトで t2.micro インスタンスタイプを使用します。別のインスタンスタイプを選択するには、--instance_type オプションを使用します。

Copy
$ eb create my-env --instance_type t2.medium

Amazon RDS データベースインスタンスを作成して環境にアタッチするには、--database オプションを使用します。

Copy
$ eb create --database.engine postgres --database.username dbuser

環境の名前やデータベースパスワードなどの環境の作成に必要なパスワードを省略すると、EB CLI はこれらの入力を求めます。

利用可能なオプションのリストと使用例については、eb create を参照してください。

AWS CLI を使用する

create-environment コマンドを使用し、AWS CLI で Elastic Beanstalk 環境を作成すると、AWS CLI は 推奨値を一切適用しません。指定するソースバンドルの設定ファイルで定義されているすべての設定オプション

設定ファイルを使用する(.ebextensions

AWS CLI で作成した環境に設定ファイルを適用するには、Amazon S3 にアップロードするアプリケーションソースバンドルにこれらの設定ファイルを含めます。

Copy
~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

アプリケーションソースバンドルをアップロードして AWS CLI で環境を作成する

  1. Amazon S3 に Elastic Beanstalk バケットがまだない場合は、create-storage-location で作成します。

    Copy
    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" }
  2. アプリケーションソースバンドルを Amazon S3 にアップロードする

    Copy
    $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-0123456789012/my-app/sourcebundle.zip
  3. アプリケーションバージョンを作成する

    Copy
    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-0123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
  4. 環境の作成:

    Copy
    $ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

保存済み設定を使用する

保存済み設定を環境の作成時に適用するには、--template-name パラメータを使用します。

Copy
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1

保存済み設定を指定する際は、同時にソリューションスタック名を指定しないでください。保存済み設定は既にソリューションスタックを指定しているため、両方のオプションを使用しようとすると Elastic Beanstalk はエラーを返します。

コマンドラインオプションを使用する

--option-settings パラメータを使用して JSON 形式で設定オプションを使用する

Copy
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

ファイルから JSON をロードするには、file:// プレフィックスを使用します。

Copy
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json

Elastic Beanstalk は、--option-settings オプションで指定されるオプション設定を環境に直接適用します。保存済み設定や設定ファイルで同じオプションが指定されている場合、--option-settings はこれらの値を上書きします。