環境資訊清單 (env.yaml) - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

環境資訊清單 (env.yaml)

您可於應用程式原始碼套件的根目錄內,納入 YAML 格式的環境資訊清單,藉此設定建立環境時可用的環境名稱、解決方案堆疊和環境連結

此檔案格式可支援環境群組。欲使用群組,請於資訊清單內,將環境名稱的尾端指定為 + 符號。建立或更新環境時,請透過 --group-name (AWS CLI) 或 --env-group-suffix (EB CLI) 來指定群組名稱。如需群組的詳細資訊,請參閱建立和更新 Elastic Beanstalk 環境的群組

下列範例資訊清單定義 Web 伺服器環境,其中包含其相依的工作者環境元件的連結。資訊清單會使用群組,以允許使用相同原始碼套件來建立多個環境:

~/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 Resource Name (ARN)。您可依照 ARN 或解決方案堆疊名稱指定平台。

    Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
  • SolutionStack – 用於建立環境的解決方案堆疊全名。

    SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  • OptionSettings – 欲套用至環境的組態選項設定。例如,下列項目將執行個體類型設定為 t2.micro。

    OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: t2.micro
  • 標籤 – 最多 47 個標籤可套用至環境內建立的資源。

    Tags: Cost Center: WebApp Dev
  • EnvironmentTier – 欲建立的環境類型。以 Web 伺服器環境而言,此區段可以排除 (Web 伺服器為預設值)。以工作者環境而言,請使用下列。

    EnvironmentTier: Name: Worker Type: SQS/HTTP
  • CName – 環境的 CNAME,名稱結尾包含 + 字元以啟用群組。

    CName: front-A08G28LG+
  • EnvironmentName – 欲建立的環境名稱。名稱結尾包含 + 字元以啟用群組。

    EnvironmentName: front+

    如需啟用群組,務必於建立環境時指定群組名稱。Elastic Beanstalk 會將群組名稱以連字號附加於環境名稱。以環境名稱 front+ 和群組名稱 dev 為例,Elastic Beanstalk 將建立的環境名稱為 front-dev

  • EnvironmentLinks – 相依的變數名稱和環境名稱的對應。下列範例使得 worker+ 環境成為依存項目,並指示 Elastic Beanstalk 將連結資訊儲存至名為 WORKERQUEUE 的變數。

    EnvironmentLinks: "WORKERQUEUE" : "worker+"

    連結變數的值取決於連結環境的類型。以 Web 伺服器環境而言,該連結是環境的 CNAME。以工作者環境而言,該連結是環境 Amazon Simple Queue Service (Amazon SQS) 佇列的名稱。

CNameEnvironmentNameEnvironmentLinks 鍵都可用於建立環境群組其他環境的連結。EB CLI、AWS CLI 或軟體開發套件現均支援這些功能。