AWS Elastic Beanstalk
開発者ガイド

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

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 ファイルを含めます。

~/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] などのプラットフォームの最新バージョンに代表される [事前定義の設定] である場合や、[保存された設定]である場合があります。

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

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

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

  3. [保存された設定] を選択します。

  4. 保存された設定を選択してから、環境の起動 を選択します。

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

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

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

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

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

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

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

  3. [アクション] ドロップダウンメニューから、[環境の作成] を選択します。

  4. ウィザードを進めて、[さらにオプションを設定] を選択します。

  5. [設定プリセット] のいずれかを選択し、1 つ以上の設定カードで [変更] を選択して、関連する設定オプションのグループを変更します。

  6. オプションの選択が完了したら、[環境の作成] を選択します。

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

新しい環境のウィザードの詳細については、「Create New Environment ウィザード」を参照してください。

EB CLI の使用

設定ファイルの使用 (.ebextensions)

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

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

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

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

保存済み設定を使用する

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

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

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

~/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 オプションを使用します。

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

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

$ 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 にアップロードするアプリケーションソースバンドルにこれらの設定ファイルを含めます。

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

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

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

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

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

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

    $ 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 パラメータを使用します。

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

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

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

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

$ 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:// プレフィックスを使用します。

$ 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 はこれらの値を上書きします。