環境を作成する前に設定オプションを設定する - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

環境を作成する前に設定オプションを設定する

AWS Elastic Beanstalk は、環境内のリソースに適用される設定を変更するための設定オプションを数多くサポートしています。これらのオプションの一部には、環境のカスタマイズで上書きされるデフォルト値があります。その他のオプションを設定すると、追加機能を有効化できます。

Elastic Beanstalk では、設定オプションの設定を保存する 2 つの方法をサポートしています。YAML または JSON 形式の設定ファイルは、.ebextensions というディレクトリ名でアプリケーションのソースコードに含め、アプリケーションソースバンドルの一部としてデプロイできます。設定ファイルをローカルで作成して管理します。

保存済み設定とは、実行中の環境や JSON オプション ファイルから作成され、Elastic Beanstalk に保存されるテンプレートです。既存の保存済み設定を拡張し、新しい設定を作成することもできます。

注記

設定ファイルや保存済み設定で定義された設定は、環境の作成時または環境の作成後に設定された設定(Elastic Beanstalk コンソールや EB CLI に適用される推奨値など)よりも優先順位が低くなります。詳細については、「優先順位」を参照してください。

オプションは JSON ドキュメントでも指定され、EB CLI や で環境を作成または更新する際に Elastic Beanstalk に対して直接設定される場合がありますAWS CLI この方法で Elastic Beanstalk に直接設定されるオプションは、他の方法によるすべてのオプションを上書きします。

使用可能なオプションの詳細なリストについては、 を参照してください設定オプション

設定ファイル (.ebextensions)

アプリケーションを機能させるのに必要なオプションを .ebextensions を使用して設定し、優先順位の高い設定に上書きされるその他のオプションのデフォルト値を指定します。.ebextensions で指定されるオプションは、優先順位が一番低く、他のあらゆるレベルの設定に上書きされます。

設定ファイルを使用するには、プロジェクトのソースコードの最上位に .ebextensions という名前のフォルダを作成します。拡張子 .config をつけてファイルを追加し、次の方法でオプションを指定します。

option_settings: - namespace: namespace option_name: option name value: option value - namespace: namespace option_name: option name value: option value

たとえば次の設定ファイルは、アプリケーションのヘルスチェック URL を /health に設定します。

healthcheckurl.config

option_settings: - namespace: aws:elasticbeanstalk:application option_name: Application Healthcheck URL value: /health

JSON の場合:

{ "option_settings" : [ { "namespace" : "aws:elasticbeanstalk:application", "option_name" : "Application Healthcheck URL", "value" : "/health" } ] }

これにより、Elastic Beanstalk 環境の Elastic Load Balancing ロードバランサーが、各 EC2 インスタンスへのパス /health への HTTP リクエストを行い、それが正常であるかどうかを判断するように設定します。

注記

YAML は、一貫したインデントに依存します。設定ファイルの例でコンテンツを置き換える際はインデントレベルを一致させ、テキストエディタがインデントにタブ文字ではなくスペースを使用していることを確認します。

.ebextensions ディレクトリをアプリケーションソースバンドルに含め、新規または既存の Elastic Beanstalk 環境にデプロイします。

設定ファイルは、環境内のサーバーで実行されるソフトウェアやファイルのカスタマイズのために、option_settings に加えて複数のセクションをサポートします。詳細については、「」を参照してください.Ebextensions

保存された設定

保存済み設定を作成し、Elastic Beanstalk コンソール、EB CLI、または による環境の作成時または作成後に既存の環境に適用した設定を保存しますAWS CLI 保存済み設定はアプリケーションに属し、同アプリケーションの新しいまたは既存の環境に適用される場合があります。

Elastic Beanstalk コンソール

保存した設定を作成するには (Elastic Beanstalk コンソール)、
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

  3. [Actions] (アクション)、[Save Configuration] (設定の保存) の順に選択します。

  4. 画面上のダイアログボックスを使用して、アクションを完了します。

保存された設定は、アプリケーションに関連する名前のフォルダ内の Elastic Beanstalk S3 バケットに格納されます。例えば、us-west-2 リージョンにあるアカウント番号 123456789012 の my-app という名前のアプリケーションの設定は、s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app にあります。

EB CLI

EB CLI は、eb config で保存済み設定とやりとりするためのサブコマンドも指定します。

保存済み設定を作成する(EB CLI)
  1. アタッチされた環境の現在の設定を保存する

    ~/project$ eb config save --cfg my-app-v1

    EB CLI は、設定を ~/project/.elasticbeanstalk/saved_configs/my-app-v1.cfg.yml に保存します。

  2. 保存済み設定を必要に応じてローカルで変更します。

  3. 保存済み設定を S3 にアップロードします。

    ~/project$ eb config put my-app-v1

AWS CLI

実行中の環境から、aws elasticbeanstalk create-configuration-template で保存済み設定を作成します。

保存済み設定を作成するには (AWS CLI)
  1. Elastic Beanstalk 環境の環境IDを describe-environments で特定します。

    $ aws elasticbeanstalk describe-environments --environment-name my-env { "Environments": [ { "ApplicationName": "my-env", "EnvironmentName": "my-env", "VersionLabel": "89df", "Status": "Ready", "Description": "Environment created from the EB CLI using \"eb create\"", "EnvironmentId": "e-vcghmm2zwk", "EndpointURL": "awseb-e-v-AWSEBLoa-1JUM8159RA11M-43V6ZI1194.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.2 running Multi-container Docker 1.7.1 (Generic)", "CNAME": "my-env-nfptuqaper.elasticbeanstalk.com", "Health": "Green", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "HealthStatus": "Ok", "DateUpdated": "2015-10-01T00:24:04.045Z", "DateCreated": "2015-09-30T23:27:55.768Z" } ] }
  2. create-configuration-template で環境の現在の設定を保存する

    $ aws elasticbeanstalk create-configuration-template --environment-id e-vcghmm2zwk --application-name my-app --template-name v1

Elastic Beanstalk は、Amazon S3 の Elastic Beanstalk バケットに設定を保存します。

JSON ドキュメント

AWS CLI を使用して環境を作成および更新する場合、JSON 形式で設定オプションを指定することもできます。AWS CLI を使用して環境の作成および管理を行う場合は、JSON の設定ファイルのライブラリが役立ちます。

たとえば、次の JSON ドキュメントはアプリケーションのヘルスチェック URL を /health に設定します。

~/ebconfigs/healthcheckurl.json

[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

EB CLI 設定

EB CLI では、保存済み設定と eb config コマンドによる直接的な環境設定がサポートされるだけでなく、環境内のインスタンスへの SSH アクセスのための Amazon EC2 キーペアを指定するのに使用できる default_ec2_keyname という名前の設定ファイルを利用できます。EB CLI は、このオプションを使用して EC2KeyName 名前空間に aws:autoscaling:launchconfiguration 設定オプションを設定します。

~/workspace/my-app/.elasticbeanstalk/config.yml

branch-defaults: master: environment: my-env develop: environment: my-env-dev deploy: artifact: ROOT.war global: application_name: my-app default_ec2_keyname: my-keypair default_platform: Tomcat 8 Java 8 default_region: us-west-2 profile: null sc: git