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

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

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

保存済み設定を適用し、新しいソースバンドルと設定ファイル (.ebextensions) または JSON ドキュメントをアップロードすることで、実行中の環境でオプション設定を変更できます。EB CLI および Elastic Beanstalk コンソールには、オプション設定の設定と更新を実行するためのクライアント固有の機能もあります。

設定オプションを設定または変更する場合、変更の重要度によっては環境全体の更新をトリガーできます。例えば、aws:autoscaling:launchconfiguration のオプションへの変更(InstanceType など)では、環境内の Amazon EC2 インスタンスの再プロビジョニングが必要です。これにより、ローリング更新がトリガーされます。他の設定変更は、中断や再プロビジョニングなしに適用されます。

EB CLI または AWS CLI コマンドにより、環境からオプション設定を削除できます。API レベルで環境に直接設定されたオプションを削除すると、これらの設定にマスキングされていた設定ファイルの設定が有効になります。

保存済み設定と設定ファイルの設定は、他の設定方法のいずれかを使用して環境に直接同じオプションを設定することで上書きできます。ただし、これらは、更新された保存済み設定ファイルまたは設定ファイルを適用することによってのみ完全に削除することができます。オプションが、保存済み設定や設定ファイルに設定されていない場合、または環境に直接設定されていない場合、デフォルト値が適用されます (存在する場合)。詳細については、「優先順位」を参照してください。

Elastic Beanstalk コンソール

設定ファイルを含むアプリケーションソースバンドルをデプロイする、保存済み設定を適用する、または環境マネジメントコンソールの [Configuration (設定)] ページで直接変更することにより、Elastic Beanstalk コンソールの設定オプションの設定を更新することができます。

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

ソース ディレクトリにある設定ファイルを更新し、新しいソースバンドルを作成し、変更を適用する Elastic Beanstalk 環境に新しいバージョンをデプロイします。

設定ファイルの詳細については、「.Ebextensions」を参照してください。

ソースバンドルをデプロイするには
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

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

    注記

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

  3. 環境の概要ページで、[Upload and deploy (アップロードとデプロイ)] を選択します。

  4. 画面上のダイアログボックスを使用して、ソースバンドルをアップロードします。

  5. [デプロイ] を選択します。

  6. デプロイが完了したら、新しいタブのウェブサイトを開く、サイトの URL を選択できます。

設定ファイルへの変更は、保存済み設定や API レベルで環境に直接適用された設定のオプション設定を上書きしません。詳細については、「優先順位」を参照してください。

保存済み設定を使用する

実行中の環境に保存済み設定を適用し、同設定に定義されたオプション設定を適用します。

保存された設定を実行環境に適用するには (Elastic Beanstalk コンソール)、
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

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

    注記

    多数のアプリケーションがある場合は、検索バーを使用してアプリケーションのリストをフィルタリングします。

  3. ナビゲーションペインで、アプリケーションの名前を見つけ、[保存された設定] を選択します。

  4. 適用する保存済み設定を選択し、[Load (ロード)] を選択します。

  5. 環境を選択した後、[ロード] を選択します。

保存済み設定で定義された設定は、設定ファイルの設定を上書きし、環境マネジメントコンソールを使用して設定された設定に上書きされます。

保存済み設定を作成する方法の詳細については、「保存された設定」を参照してください。

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

Elastic Beanstalk コンソールでは、各環境の [Configuration (設定)] ページに多くの設定オプションが表示されます。

実行環境の設定オプションを変更するには(Elastic Beanstalk コンソール)
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

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

    注記

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

  3. ナビゲーションペインで、[設定] を選択します。

  4. 編集する設定ページを見つけます。

    • 目的のオプションを見つけたか、そのオプションが含まれている設定カテゴリがわかったら、設定カテゴリの [編集] を選択します。

    • オプションを探すには、[テーブルビュー] をオンにし、検索ボックスに検索語句を入力します。入力中に、リストが短くなり、検索語句に一致したオプションのみが表示されます。

      目的のオプションを見つけたら、そのオプションが含まれている設定カテゴリの [編集] を選択します。

      オプションの検索を示す、Elastic Beanstalk コンソールの設定概要ページのテーブルビュー
  5. 設定を変更し、次に [保存] を選択します。

  6. 必要に応じて、追加の設定カテゴリで前の 2 つの手順を繰り返します。

  7. [Apply] を選択します。

環境マネジメントコンソールの設定オプションへの変更は、環境に直接適用されます。これらの変更により、設定ファイルまたは保存済み設定の同じオプションの設定が上書きされます。詳細については、「優先順位」を参照してください。

Elastic Beanstalk コンソールを使用して実行環境の設定オプションを変更する方法の詳細については、「Elastic Beanstalk 環境の設定」のトピックを参照してください。

EB CLI

設定ファイルを含むソースコードをデプロイする、保存済み設定の設定を適用する、または eb config コマンドで環境設定を直接変更することにより、設定オプションの設定を EB CLI で更新できます。

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

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

設定ファイルの詳細については、「.Ebextensions」を参照してください。

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

eb deploy でソースコードをデプロイします。

~/workspace/my-app$ eb deploy

保存済み設定を使用する

eb config コマンドを使用して、実行中の環境に保存済み設定を適用できます。保存済み設定の名前で --cfg オプションを使用し、その設定を環境に適用できます。

$ eb config --cfg v1

この例の [v1] は、以前に作成された保存済みファイルの名前です。

このコマンドで環境に適用された設定は、環境の作成時に適用された設定やアプリケーションソースバンドルの設定ファイルで定義された設定を上書きします。

eb config を使用する

EB CLI の eb config コマンドにより、テキストエディタを使用して環境で直接オプション設定を設定および削除できます。

eb config を実行している場合、EB CLI は、設定ファイル、保存済み設定、推奨値、環境に直接設定されたオプション、API デフォルトなどのすべてのソースから環境に適用されている設定を表示します。

注記

eb config は、環境プロパティを表示しません。アプリケーションで読み取り可能な環境プロパティを設定するには、eb setenv を使用します。

次の例では、aws:autoscaling:launchconfiguration 名前空間に適用される設定を示します。設定は次のとおりです。

  • 2 つの推奨値、IamInstanceProfile および InstanceType は、環境作成時に EB CLI によって適用されます。

  • オプション EC2KeyName は、リポジトリ設定に基づいて作成時に環境に直接適用されます。

  • その他のオプションの API デフォルト値。

ApplicationName: tomcat DateUpdated: 2015-09-30 22:51:07+00:00 EnvironmentName: tomcat SolutionStackName: 64bit Amazon Linux 2015.03 v2.0.1 running Tomcat 8 Java 8 settings: ... aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.micro ...
eb config で設定オプションを設定するまたは変更するには
  1. eb config を実行して環境の設定を表示します。

    ~/workspace/my-app/$ eb config
  2. デフォルトのテキストエディタを使用して任意の設定値をへんこうする。

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.medium
  3. 一時設定ファイルを保存して終了します。

  4. EB CLI が環境設定を更新します。

eb config で設定オプションを設定すると、他のすべてのソースの設定が上書きされます。

eb config で環境からオプションを削除することもできます。

設定オプションを削除するには(EB CLI)
  1. eb config を実行して環境の設定を表示します。

    ~/workspace/my-app/$ eb config
  2. 表示された値を文字列 null で置き換えます。削除するオプションを含む行全体を削除することもできます。

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: null
  3. 一時設定ファイルを保存して終了します。

  4. EB CLI が環境設定を更新します。

eb config で環境からオプションを削除すると、アプリケーションソースバンドルの設定ファイルの同じオプションの設定が有効になります。詳細については、「優先順位」を参照してください。

eb setenv を使用する

EB CLI で環境プロパティを設定するには、eb setenv を使用します。

~/workspace/my-app/$ eb setenv ENVVAR=TEST INFO: Environment update is starting. INFO: Updating environment my-env's configuration settings. INFO: Environment health has transitioned from Ok to Info. Command is executing on all instances. INFO: Successfully deployed new configuration to environment.

このコマンドは、aws:elasticbeanstalk:application:environment 名前空間の環境プロパティを設定します。eb setenv で設定された環境プロパティは、短い更新プロセスの後、アプリケーションで利用できます。

環境に設定された環境プロパティを eb printenv で表示します。

~/workspace/my-app/$ eb printenv Environment Variables: ENVVAR = TEST

AWS CLI

設定ファイルを含むソースバンドルをデプロイする、リモートに格納された保存済み設定を適用する、または aws elasticbeanstalk update-environment コマンドで環境を直接変更することにより、AWS CLI で設定オプションの設定を更新できます。

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

AWS CLI で実行中の環境に設定ファイルを適用するには、Amazon S3 にアップロードするアプリケーションソースバンドルに同ファイルを含めます。

設定ファイルの詳細については、「.Ebextensions」を参照してください。

~/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 sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundlev2.zip
  3. アプリケーションバージョンを作成します。

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v2 --description MyAppv2 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundlev2.zip"
  4. 環境を更新します。

    $ aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

保存済み設定を使用する

--template-name コマンドの aws elasticbeanstalk update-environment オプションにより、実行中の環境に保存済み設定を適用できます。

保存された設定は、resources/templates下のアプリケーションの名前を付けたパスのElastic Beanstalk バケットにある必要があります。例えば、US West (オレゴン) リージョン (us-west-2) の v1 アプリケーション用の my-app テンプレート(アカウント番号 123456789012)は s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/v1 にあります。

実行中の環境に保存済み設定を適用するには (AWS CLI)
  • update-environment オプションで、--template-name コールの保存済み設定を指定します。

    $ aws elasticbeanstalk update-environment --environment-name my-env --template-name v1

Elastic Beanstalk は、aws elasticbeanstalk create-configuration-template を使用して設定を作成すると、保存された設定をこの場所に配置します。保存済み設定をローカルに変更し、自身でこの場所に配置することもできます。

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

JSON ドキュメントで設定オプションを変更するには (AWS CLI)
  1. ローカルファイルで、オプション設定を JSON 形式で定義します。

  2. update-environment オプションで --option-settings を実行します。

    $ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://~/ebconfigs/as-zero.json

この例では、ゼロインスタンスの最小数と最大数で環境を設定するオプションを [as-zero.json] が定義します。これにより、環境を終了することなく、インスタンスが停止します。

~/ebconfigs/as-zero.json

[ { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:updatepolicy:rollingupdate", "OptionName": "RollingUpdateEnabled", "Value": "false" } ]
注記

update-environment で設定オプションを設定すると、他のすべてのソースの設定が上書きされます。

update-environment で環境からオプションを削除することもできます。

設定オプションを削除するには(AWS CLI)
  • update-environment オプションを使用して --options-to-remove コマンドを実行します。

    $ aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

update-environment で環境からオプションを削除すると、アプリケーションソースバンドルの設定ファイルの同じオプションの設定が有効になります。これらの方法でオプションが設定されている場合、API のデフォルト値が適用されます(存在する場合)。詳細については、「優先順位」を参照してください。