マニフェスト環境 (env.yaml) - AWS Elastic Beanstalk

マニフェスト環境 (env.yaml)

環境を作成するときに使用する、環境の名前、ソリューションスタックと環境リンクを設定するために、YAML 形式の環境マニフェストをアプリケーションソースバンドルのルートに含めることができます。

このファイル形式には環境グループのサポートが含まれます。グループを使用するには、マニフェスト内の環境の名前の末尾に +記号を指定します。環境を作成あるいは更新する場合、グループ名を --group-name (AWS CLI) または --env-group-suffix (EB CLI) と指定します。グループの詳細については、「Elastic Beanstalk 環境グループを作成・更新する」を参照してください。

次の例では、マニフェストが、ウェブサーバー環境に依存しているワーカー環境のコンポーネントへのリンクを持つウェブサーバー環境を定義します。マニフェストは、グループを使用して同じソースバンドルで複数の環境を作成することを許可します。

~/myapp/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 SolutionStack: 64bit Amazon Linux 2015.09 v2.0.6 running Multi-container Docker 1.7.1 (Generic) 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 Tags: Cost Center: WebApp Dev CName: front-A08G28LG+ EnvironmentName: front+ EnvironmentLinks: "WORKERQUEUE" : "worker+"

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

  • 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 Simple Queue Service (Amazon SQS) キューの名前となります。

[CName]、[EnvironmentName]、[EnvironmentLinks] の各キーは、環境グループ他の環境へのリンクを作成するのに使用できます。これらの機能は、現在 EB CLI、AWS CLI、または SDK を使用するときにサポートされます。