翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
環境を作成する前に設定オプションを設定する
AWS Elastic Beanstalk は、環境内のリソースに適用される設定を変更するための設定オプションを数多くサポートしています。これらのオプションの一部には、環境のカスタマイズで上書きされるデフォルト値があります。その他のオプションを設定すると、追加機能を有効化できます。
Elastic Beanstalk では、設定オプションの設定を保存する 2 つの方法をサポートしています。YAML または JSON 形式の設定ファイルは、.ebextensions
というディレクトリ名でアプリケーションのソースコードに含め、アプリケーションソースバンドルの一部としてデプロイできます。設定ファイルをローカルで作成して管理します。
保存済み設定とは、実行中の環境や JSON オプション ファイルから作成され、Elastic Beanstalk に保存されるテンプレートです。既存の保存済み設定を拡張し、新しい設定を作成することもできます。
注記
オプションは 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 コンソール)、
Elastic Beanstalk コンソール
を開き、[Regions] (リージョン) リストで AWS リージョンを選択します。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
注記
環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。
-
[Actions] (アクション)、[Save Configuration] (設定の保存) の順に選択します。
-
画面上のダイアログボックスを使用して、アクションを完了します。
保存された設定は、アプリケーションに関連する名前のフォルダ内の 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)
-
アタッチされた環境の現在の設定を保存する
~/project$
eb config save --cfg
my-app-v1
EB CLI は、設定を
~/project/.elasticbeanstalk/saved_configs/
に保存します。my-app-v1
.cfg.yml -
保存済み設定を必要に応じてローカルで変更します。
-
保存済み設定を S3 にアップロードします。
~/project$
eb config put
my-app-v1
AWS CLI
実行中の環境から、aws elasticbeanstalk
create-configuration-template
で保存済み設定を作成します。
保存済み設定を作成するには (AWS CLI)
-
Elastic Beanstalk 環境の環境IDを
describe-environments
で特定します。$
aws elasticbeanstalk describe-environments --environment-name
{ "Environments": [ { "ApplicationName": "my-env", "EnvironmentName": "my-env", "VersionLabel": "89df", "Status": "Ready", "Description": "Environment created from the EB CLI using \"eb create\"", "EnvironmentId": "my-env
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" } ] } -
create-configuration-template
で環境の現在の設定を保存する$ aws elasticbeanstalk create-configuration-template --environment-id
e-vcghmm2zwk
--application-namemy-app
--template-namev1
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