設定オプション
Elastic Beanstalk は、環境の動作、およびその環境に含まれるリソースの設定に使用する多数の設定オプションを定義します。設定オプションは、aws:autoscaling:asg のような名前空間に構成されており、環境の Auto Scaling グループのオプションを定義します。
環境を作成する際、Elastic Beanstalk コンソールおよび EB CLI で、明示的に設定するオプションや、クライアントによって定義されている推奨値などの設定オプションを設定します。また、保存済み設定や、設定ファイル内の設定オプションを設定することもできます。複数の場所に同一のオプションが設定されている場合、使用する値は優先順位によって判断されます。
設定オプションの設定は、テキスト形式で構成し、環境の作成前に保存し、サポートされる任意のクライアントを使用した環境の作成時に適用し、環境の作成後に追加、変更または削除できます。これら 3 つのステージでの設定オプションの操作で使用可能なすべての方法の詳細については、次のトピックを参照してください。
各項目のデフォルト値やサポートされる値を含む名前空間とオプションの完全なリストについては、「すべての環境に対する汎用オプション」と「プラットフォーム固有のオプション」を参照してください。
優先順位
環境の作成時には、複数のソースの設定オプションが、次のように優先順位の高いものから適用されます。
-
環境に直接適用される設定 – 環境の作成時または環境の更新時に、Elastic Beanstalk コンソール、EB CLI、AWS CLI、SDK などのクライアントによって Elastic Beanstalk API で指定された設定です。Elastic Beanstalk コンソールおよび EB CLI は、一部のオプションで推奨値も適用します。推奨値は、上書きされるまでこのレベルで適用されます。
-
保存済み設定 – 指定されている場合、環境に直接適用されないオプションの設定が、保存済み設定からロードされます。
-
設定ファイル (.ebextensions) – 環境に直接適用されず、保存済み設定でも指定されていないオプションの設定が、アプリケーションソースバンドルのルートにある
.ebextensionsフォルダの設定ファイルからロードされます。設定ファイルはアルファベット順に実行されます。たとえば、
.ebextensions/01run.configは.ebextensions/02do.configの前に実行します。 -
デフォルト値 – 設定オプションにデフォルト値がある場合、オプションが上記のいずれのレベルにも設定されていない場合にのみ適用されます。
1 つ以上の場所で同じ設定オプションが定義されている場合は、最も優先順位の高いものが適用されます。保存済み設定から設定が適用されるか、設定が直接環境に適用されると、設定は環境の設定の一部として保存されます。これらの設定は、AWS CLI や EB CLI を使用して削除できます。
設定ファイルの設定は、環境に直接適用されず、設定ファイルの変更と新しいアプリケーションバージョンのデプロイなしには削除できません。その他の方法の 1 つで適用された設定が削除されると、ソースバンドルの設定ファイルから同じ設定がロードされます。
例えば、環境の作成時に Elastic Beanstalk コンソール、コマンドラインオプション、保存済み設定のいずれかを使用して、環境内のインスタンスの最小数を 5 に設定したとします。アプリケーションのソースバンドルには、インスタンスの最小数を 2 に設定する設定ファイルも含まれます。
環境を作成すると、Elastic Beanstalk は MinSize 名前空間内の aws:autoscaling:asg オプションを 5 に設定します。その後、環境設定からオプションを削除すると、設定ファイルの値がロードされ、インスタンスの最小数は [2] に設定されます。その後、ソースバンドルから設定ファイルを削除して再度デプロイすると、Elastic Beanstalk はデフォルト設定の [1] を使用します。
推奨値
Elastic Beanstalk コマンドラインインターフェイス(EB CLI)および Elastic Beanstalk コンソールでは、一部の設定オプションの推奨値が表示されます。これらの値はデフォルト値と異なる場合があり、環境の作成時に API レベルで設定されます。推奨値により、Elastic Beanstalk は、API への後方互換性のない変更なしに、デフォルトの環境設定を向上させることができます。
例えば、EB CLI と Elastic Beanstalk コンソールの両方が、EC2 インスタンスタイプの設定オプションを設定したとします(名前空間 InstanceType の aws:autoscaling:launchconfiguration)。各クライアントは、固有の方法でデフォルト設定を上書きします。コンソールでは、[Create New Environment] ウィザードの [Configuration Details] ページで、ドロップダウンメニューからさまざまなインスタンスタイプを選択できます。EB CLI では、--instance_type の eb
create パラメータを使用できます。
推奨値は API レベルで設定されているため、設定ファイルや保存済み設定で設定された同じオプションの値を上書きします。以下のオプションが設定されます。
Elastic Beanstalk コンソール
-
名前空間:
aws:autoscaling:launchconfigurationオプション名:
IamInstanceProfile、EC2KeyName、InstanceType -
名前空間:
aws:autoscaling:updatepolicy:rollingupdateオプション名:
RollingUpdateType、RollingUpdateEnabled -
名前空間:
aws:elasticbeanstalk:applicationオプション名:
Application Healthcheck URL -
名前空間:
aws:elasticbeanstalk:commandオプション名:
DeploymentPolicyおよびBatchSize、BatchSizeType -
名前空間:
aws:elasticbeanstalk:environmentオプション名:
ServiceRole -
名前空間:
aws:elasticbeanstalk:healthreporting:systemオプション名:
SystemType、HealthCheckSuccessThreshold -
名前空間:
aws:elasticbeanstalk:sns:topicsオプション名:
Notification Endpoint -
名前空間:
aws:elasticbeanstalk:sqsdオプション名:
HttpConnections -
名前空間:
aws:elb:loadbalancerオプション名:
CrossZone -
名前空間:
aws:elb:policiesオプション名:
ConnectionDrainingTimeout、ConnectionDrainingEnabled
EB CLI
-
名前空間:
aws:autoscaling:launchconfigurationオプション名:
IamInstanceProfile、InstanceType -
名前空間:
aws:autoscaling:updatepolicy:rollingupdateオプション名:
RollingUpdateType、RollingUpdateEnabled -
名前空間:
aws:elasticbeanstalk:commandオプション名:
BatchSize、BatchSizeType -
名前空間:
aws:elasticbeanstalk:environmentオプション名:
ServiceRole -
名前空間:
aws:elasticbeanstalk:healthreporting:systemオプション名:
SystemType -
名前空間:
aws:elb:loadbalancerオプション名:
CrossZone -
名前空間:
aws:elb:policiesオプション名:
ConnectionDrainingEnabled