AWS Elastic Beanstalk
開発者ガイド

Elastic Beanstalk の保存された設定を使用する

お使いの環境の設定をオブジェクトとして Amazon Simple Storage Service (Amazon S3) に保存し、他の環境の作成時に適用したり、実行中の環境に適用したりできるようにします。保存された設定は、YAML 形式のテンプレートであり、環境の プラットフォームバージョン階層設定オプションの設定、およびタグを定義します。

保存された設定の作成時にタグを適用したり、既存の保存された設定のタグを編集したりできます。詳細については、「保存された設定にタグ付けする」を参照してください。

注記

保存された設定に適用したタグは、Tags: キーを使用して保存された設定に指定したタグとは関係ありません。後者のタグは、保存された設定を環境に適用するときに、環境に適用されます。

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

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

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

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

  3. [アクション]、[Save Configuration (設定の保存)] の順に選択します。

  4. 画面上のフォームを使用して、保存した設定に名前を付けます。必要に応じて、簡単な説明を入力し、タグのキーと値を追加します。

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

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

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

eb config get NAME

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

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

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

  3. [保存された設定] を選択します。

  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

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