

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

# 環境資訊清單 (`env.yaml`)
<a name="environment-cfg-manifest"></a>

您可於應用程式原始碼套件的根目錄內，納入 YAML 格式的環境資訊清單，藉此設定建立環境時可用的環境名稱、解決方案堆疊和[環境連結](environment-cfg-links.md)。

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

下列範例資訊清單定義 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** – 用於建立環境的[解決方案堆疊](concepts.platforms.md)全名。

  ```
  SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  ```
+ **OptionSettings** – 欲套用至環境的[組態選項](command-options.md)設定。例如，下列項目將執行個體類型設定為 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，名稱結尾包含 \$1 字元以啟用群組。

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

  ```
  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) 佇列的名稱。

**CName**、**EnvironmentName** 和 **EnvironmentLinks** 鍵都可用於建立[環境群組](environment-mgmt-compose.md)及[其他環境的連結](environment-cfg-links.md)。使用 EB CLI AWS CLI 或 SDK 時，目前支援這些功能。