AWS Elastic Beanstalk
開発者ガイド

Elastic Beanstalk 保存済み設定を使用する

環境の作成中に他の環境または実行中の環境に適用できる環境設定を、オブジェクトとして Amazon S3 に保存することができます。保存済み設定は、環境のプラットフォーム設定階層設定オプションの設定、およびタグを定義する YAML 形式のテンプレートです。

Elastic Beanstalk マネジメントコンソールで環境の現在の状態から、保存済み設定を作成します。

環境の設定を保存するには

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

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

  3. [Actions] を選択し、次に [Save Configuration] を選択します。

  4. 設定名と説明を入力し、[Save] を選択します。

保存済み設定には、コンソールまたは Elastic Beanstalk API を使用する他のクライアントで環境に適用したその他の設定が含まれます。次に、後で環境に保存済み設定を適用し、以前の状態に復元したり、環境の作成中に新しい環境に適用したりできます。

次の例のように、EB CLI eb config コマンドを使用して設定をダウンロードできます。NAME は保存された設定の名前です。

eb config get NAME

環境の作成時に保存済み設定を適用する(AWS マネジメントコンソール)

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

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

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

  4. 保存した設定を選択し、[環境の起動] を選択します。

  5. ウィザードを続行して環境を作成します。

保存された設定には、アプリケーションのソースコードの設定ファイルを使用して適用される設定は含まれません。同じ設定が設定ファイルと保存済み設定の両方に適用された場合、保存済み設定の設定が優先されます。同様に、AWS マネジメントコンソール で指定されるオプションは保存されている設定を上書きします。詳細については、「優先順位」を参照してください。

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

テキストエディタで保存した設定のコンテンツを開いて表示します。次の例は、Elastic Beanstalk 管理コンソールで起動されたウェブサーバーの環境の設定を示します。

EnvironmentConfigurationMetadata: Description: Saved configuration from a multicontainer Docker environment created with the Elastic Beanstalk Management Console DateCreated: '1520633151000' DateModified: '1520633151000' Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0 OptionSettings: aws:elasticbeanstalk:command: BatchSize: '30' BatchSizeType: Percentage aws:elasticbeanstalk:sns:topics: Notification Endpoint: me@example.com aws:elb:policies: ConnectionDrainingEnabled: true ConnectionDrainingTimeout: '20' aws:elb:loadbalancer: CrossZone: true aws:elasticbeanstalk:environment: ServiceRole: aws-elasticbeanstalk-service-role aws:elasticbeanstalk:application: Application Healthcheck URL: / aws:elasticbeanstalk:healthreporting:system: SystemType: enhanced aws:autoscaling:launchconfiguration: IamInstanceProfile: aws-elasticbeanstalk-ec2-role InstanceType: t2.micro EC2KeyName: workstation-uswest2 aws:autoscaling:updatepolicy:rollingupdate: RollingUpdateType: Health RollingUpdateEnabled: true EnvironmentTier: Type: Standard Name: WebServer AWSConfigurationTemplateVersion: 1.1.0.0 Tags: Cost Center: WebApp Dev

保存した設定の内容を変更し、Amazon S3 の同じ場所にデータを保存することができます。適切な場所に保存された正しいフォーマットの設定は、Elastic Beanstalk 管理コンソールを使用して環境に適用できます。

以下のキーがサポートされます。

  • AWSConfigurationTemplateVersion(必須)– 設定テンプレートバージョン (1.1.0.0)。

    AWSConfigurationTemplateVersion: 1.1.0.0
  • プラットフォーム – 環境のプラットフォーム設定の Amazon リソースネーム (ARN)。プラットフォームは、ARN またはソリューションスタック名で指定できます。

    Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
  • ソリューションスタック – 環境を作成するために使用されるソリューションスタックの完全名。

    SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  • オプション設定設定オプション環境に適用する設定。 たとえば、次のエントリはインスタンスタイプを t2.micro に設定します。

    OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: t2.micro
  • タグ – 環境内で作成されたリソースに適用される最大 47 個のタグ。

    Tags: Cost Center: WebApp Dev
  • 環境層– 作成する環境のタイプ。 ウェブサーバーの環境では、このセクションは除外できます(ウェブサーバーがデフォルトとなります)。ワーカー環境では、次を使用します。

    EnvironmentTier: Name: Worker Type: SQS/HTTP
  • CName – 環境用の CNAME。 グループを有効にするために、名前の末尾に + 記号を含めます。

    CName: front-A08G28LG+
  • EnvironmentName – 作成する環境の名前。 グループを有効にするために、名前の末尾に + 記号を含めます。

    EnvironmentName: front+

    グループが有効化されている場合、環境を作成するときにグループ名を指定する必要があります。 Elastic Beanstalk は、環境の名前にハイフンでグループ名を追加します。 たとえば、環境の名前が front+ で、グループ名が dev の場合、Elastic Beanstalk は環境の作成時に名前を front-dev とします。

  • 環境リンク–依存関係にある変数名と環境の名前のマップです。 次の例では、worker+ 環境を依存化し、WORKERQUEUE という変数にリンク情報を保存するように Elastic Beanstalk に指示しています。

    EnvironmentLinks: "WORKERQUEUE" : "worker+"

    リンク変数の値は、リンクされた環境の種類によって異なります。 ウェブサーバーの環境では、リンクは環境の CNAME となります。 ワーカーの環境では、リンクは環境内の Amazon SQS キューの名前となります。

[CName、[EnvironmentName]、[EnvironmentLinks] キーは、環境グループ他の環境へのにリンクを作成するのに使用できます。これらの機能は、現在 EB CLI、AWS CLI または SDK を使用するときにサポートされます。これらの機能を使用すると、Amazon S3 に保存された設定を参照する代わりに、ソースコードの設定を環境マニフェストとして保存された設定に含めることができます。詳細については、該当するトピックを参照してください。

設定を作成し保存した設定に適用する代替の方法については、次のトピックを参照してください。