メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

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

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

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

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

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

Elastic Beanstalk コンソール

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

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

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

更新したソースバンドルを環境(Elastic Beanstalk コンソール)にデプロイするには

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

  2. お客様の環境の管理ページに移動します。

  3. [Upload and Deploy] を選択する

     アップロードとデプロイ
  4. [Browse] を選択してアプリケーションソースバンドルを開きます。

  5. [Deploy] を選択します。

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

保存済み設定を使用する

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

実行中の環境に保存済み設定を適用するには(Elastic Beanstalk コンソール)

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

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

  3. [Saved Configurations] を選択します。

  4. 保存住設定を選択した後、[Load] を選択します。

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

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

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

環境マネジメントコンソールを使用する

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

実行中の環境(Elastic Beanstalk コンソール)で設定オプションを変更する

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

  2. お客様の環境の管理ページに移動します。

  3. [Configuration] を選択します

  4. 変更するオプションを含むセクションで、  編集 をクリックします。

  5. 設定を変更して [Apply] を選択します。

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

EB CLI

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

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

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

~/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 を使用します。

次の例は、環境作成時に EB CLI によって適用される 2 つの推奨値(IamInstanceProfile の値と InstanceType の値)、環境作成時にリポジトリ設定に基づいて直接設定されるオプション(EC2KeyName)、その他の値の API デフォルトなど、名前空間 aws:autoscaling:launchconfiguration に適用される設定を表示します。

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-538a9563
    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-538a9563
        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-538a9563
        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 にアップロードするアプリケーションバンドルに同ファイルを含めます。

~/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-0123456789012"
    }
  2. アプリケーションソースバンドルを Amazon S3 にアップロードする

    $ aws s3 cp sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-0123456789012/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-0123456789012",S3Key="my-app/sourcebundlev2.zip"
  4. 環境を更新する

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

保存済み設定を使用する

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

保存済み設定は、[resources/templates] の下のアプリケーションに関連する名前のパスの Elastic Beanstalk バケット内にあることが必要です。たとえば、us-west-2 リージョンにあるアカウント番号 0123456789012 の my-app アプリケーションの v1 テンプレートは、s3://elasticbeanstalk-us-west-2-0123456789012/resources/templates/my-app/v1 にあります。

実行中の環境に保存済み設定を適用するには(AWS CLI)

  • --template-name オプションで、update-environment コールの保存済み設定を指定します。

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

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

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

JSON ドキュメントで設定オプションを変更するには(AWS CLI)

  1. ローカルファイルで、オプション設定を JSON 形式で定義します。

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

    $ 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)

  • --settings-to-remove オプションで update-environment コマンドを実行します。

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

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