

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

# 於環境建立期間設定組態選項
<a name="environment-configuration-methods-during"></a>

當您使用 Elastic Beanstalk 主控台、EB CLI AWS CLI、 SDK 或 Elastic Beanstalk API 建立 AWS Elastic Beanstalk 環境時，您可以提供組態選項的值，以自訂您的環境和其中啟動 AWS 的資源。

以非一次性的組態變更而言，您可於本機、原始碼套件或 Amazon S3 [存放組態檔案](environment-configuration-methods-before.md)。

這個主題包括於環境建立期間設定組態選項之所有方法的程序。

**Topics**
+ [

## 在 Elastic Beanstalk 主控台中
](#configuration-options-during-console)
+ [

## 使用 EB CLI
](#configuration-options-during-ebcli)
+ [

## 使用 AWS CLI
](#configuration-options-during-awscli)

## 在 Elastic Beanstalk 主控台中
<a name="configuration-options-during-console"></a>

當您於 Elastic Beanstalk 主控台建立 Elastic Beanstalk 環境時，可透過組態檔案、已儲存組態和 **Create New Environment (建立新的環境)** 精靈內的表單，提供組態選項。

**Topics**
+ [

### 使用組態檔案 (`.ebextensions`)
](#configuration-options-during-console-ebextensions)
+ [

### 使用已儲存組態
](#configuration-options-during-console-savedconfig)
+ [

### 使用新的環境精靈
](#configuration-options-during-console-wizard)

### 使用組態檔案 (`.ebextensions`)
<a name="configuration-options-during-console-ebextensions"></a>

將 `.config` 檔案放入[應用程式原始碼套件](applications-sourcebundle.md)內名為 `.ebextensions` 的資料夾。

如需組態檔案的詳細資訊，請參閱 [.Ebextensions](ebextensions.md)。

```
~/workspace/my-app-v1.zip
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- index.php
`-- styles.css
```

通常會在[環境建立](using-features.environments.md)期間將原始碼套件上傳至 Elastic Beanstalk。

Elastic Beanstalk 主控台會針對部分組態選項套用[建議值](command-options.md#configuration-options-recommendedvalues)，其他選項則提供表單欄位。Elastic Beanstalk 主控台設定的選項，會直接套用至環境，並覆寫組態檔案中的設定。

### 使用已儲存組態
<a name="configuration-options-during-console-savedconfig"></a>

使用 Elastic Beanstalk 主控台建立新的環境時，第一個步驟就是選擇組態。組態可為[**預先定義的組態**](concepts.platforms.md)，通常是平台 (如 **PHP** 或 **Tomcat**) 的最新版本，也可以是**已儲存組態**。

**欲在環境建立期間套用已儲存組態 (Elastic Beanstalk 主控台)**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇 **Applications** (應用程式)，然後在清單上選取應用程式名稱。

1. 在導覽窗格中，找到應用程式名稱並選擇 **Saved configurations (已儲存的配置)**。

1. 選取您要套用的已儲存組態，然後選擇 **Launch environment (啟動環境)**。

1. 繼續透過精靈來建立您的環境。

已儲存組態僅適用特定應用程式。如需建立已儲存組態的詳細資訊，請參閱 [已儲存的組態](environment-configuration-methods-before.md#configuration-options-before-savedconfig)。

### 使用新的環境精靈
<a name="configuration-options-during-console-wizard"></a>

多數標準組態選項會顯示在[建立新環境精靈](environments-create-wizard.md)的 **Configure more options (設定更多選項)** 頁面。若您為環境建立 Amazon RDS 資料庫或設定 VPC，其他組態選項也可用於這些資源。

**在環境建立期間設定已儲存組態 (Elastic Beanstalk 主控台)**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇 **Applications (應用程式)**。

1. 選擇或[建立](applications.md)應用程式。

1. 選擇 **Actions (動作)**，然後選擇 **Create environment (建立環境)**。

1. 繼續執行精靈，選擇 **Configure more options (設定多個選項)**。

1. 選擇任何 **configuration presets (組態預設)**，然後在一或多個組態類別選擇 **Edit (編輯)** 以變更一組相關的組態選項。

1. 當您選定選項，請選擇 **Create environment (建立環境)**。

新的環境精靈中所設定的任何選項，都會直接設定至環境，並覆寫您套用的已儲存組態或組態檔案 (`.ebextensions`) 內的選項設定。使用 [EB CLI](environment-configuration-methods-after.md#configuration-options-after-ebcli) 或 [AWS CLI](environment-configuration-methods-after.md#configuration-options-after-awscli) 建立環境後，您可以移除設定，允許已儲存組態或組態檔案內的設定浮現。

如需新環境精靈的詳細資訊，請參閱 [建立新的環境精靈](environments-create-wizard.md)。

## 使用 EB CLI
<a name="configuration-options-during-ebcli"></a>

**Topics**
+ [

### 使用組態檔案 (`.ebextensions`)
](#configuration-options-during-ebcli-ebextensions)
+ [

### 使用已儲存組態
](#configuration-options-during-ebcli-savedconfig)
+ [

### 使用命令列選項
](#configuration-options-during-ebcli-params)

### 使用組態檔案 (`.ebextensions`)
<a name="configuration-options-during-ebcli-ebextensions"></a>

於您專案資料夾的 `.config` 底下納入 `.ebextensions`，與應用程式程式碼一同部署。

如需組態檔案的詳細資訊，請參閱 [.Ebextensions](ebextensions.md)。

```
~/workspace/my-app/
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- .elasticbeanstalk
|   `-- config.yml
|-- index.php
`-- styles.css
```

透過 **eb create** 建立您的環境，並部署原始碼。

```
~/workspace/my-app$ eb create my-env
```

### 使用已儲存組態
<a name="configuration-options-during-ebcli-savedconfig"></a>

欲在使用 [**eb create**](eb3-create.md) 建立環境時套用已儲存組態，請使用 `--cfg` 選項。

```
~/workspace/my-app$ eb create --cfg savedconfig
```

已儲存組態可存放於專案資料夾內，或者 Amazon S3 上的 Elastic Beanstalk 儲存位置。在前面範例中，EB CLI 首先會尋找資料夾 `savedconfig.cfg.yml` 內名為 `.elasticbeanstalk/saved_configs/` 的已儲存組態檔案。使用 `.cfg.yml` 套用已儲存組態時，請不要納入檔案副檔名 (`--cfg`)。

```
~/workspace/my-app/
|-- .ebextensions
|   `-- healthcheckurl.config
|-- .elasticbeanstalk
|   |-- saved_configs
|   |   `-- savedconfig.cfg.yml
|   `-- config.yml
|-- index.php
`-- styles.css
```

若 EB CLI 於本機找不到該組態，則會尋找 Amazon S3 的 Elastic Beanstalk 儲存位置。如需建立、編輯和上傳已儲存組態的詳細資訊，請參閱[已儲存的組態](environment-configuration-methods-before.md#configuration-options-before-savedconfig)。

### 使用命令列選項
<a name="configuration-options-during-ebcli-params"></a>

EB CLI **eb create** 命令有數個[選項](eb3-create.md#eb3-createoptions)，您可用其在環境建立期間設定組態選項。您可以使用這些選項來將 RDS 資料庫新增至您的環境、設定 VPC，或覆寫[建議值](command-options.md#configuration-options-recommendedvalues)。

例如，EB CLI 預設使用 `t2.micro` 執行個體類型。欲選擇不同的執行個體類型，請使用 `--instance_type` 選項。

```
$ eb create my-env --instance_type t2.medium
```

欲建立 Amazon RDS 資料庫執行個體並將其連接至您的環境，請使用 `--database` 選項。

```
$ eb create --database.engine postgres --database.username dbuser
```

若您省略建立環境所需的環境名稱、資料庫密碼或其他參數，EB CLI 會提示您將其輸入。

如需可用選項完整清單及使用範例，請參閱 [eb create](eb3-create.md)。

## 使用 AWS CLI
<a name="configuration-options-during-awscli"></a>

當您使用 `create-environment`命令透過 建立 Elastic Beanstalk 環境時 AWS CLI， AWS CLI 不會套用任何[建議的值](command-options.md#configuration-options-recommendedvalues)。您指定原始碼套件，其中的組態檔案會定義所有組態選項。

**Topics**
+ [

### 使用組態檔案 (`.ebextensions`)
](#configuration-options-during-awscli-ebextensions)
+ [

### 使用已儲存組態
](#configuration-options-during-awscli-savedconfig)
+ [

### 使用命令列選項
](#configuration-options-during-awscli-params)

### 使用組態檔案 (`.ebextensions`)
<a name="configuration-options-during-awscli-ebextensions"></a>

若要將組態檔案套用至您使用 建立的環境 AWS CLI，請在您上傳至 Amazon S3 的應用程式原始碼套件中包含這些檔案。

如需組態檔案的詳細資訊，請參閱 [.Ebextensions](ebextensions.md)。

```
~/workspace/my-app-v1.zip
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- index.php
`-- styles.css
```

**使用 上傳應用程式原始碼套件並建立環境 AWS CLI**

1. 若您的 Amazon S3 內還沒有 Elastic Beanstalk 儲存貯體，請使用 `create-storage-location` 建立。

   ```
   $ aws elasticbeanstalk create-storage-location
   {
       "S3Bucket": "elasticbeanstalk-us-west-2-123456789012"
   }
   ```

1. 將您的應用程式原始碼套件上傳至 Amazon S3。

   ```
   $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip
   ```

1. 建立應用程式版本。

   ```
   $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
   ```

1. 建立環境。

   ```
   $ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"
   ```

### 使用已儲存組態
<a name="configuration-options-during-awscli-savedconfig"></a>

若要在建立期間將已儲存組態套用至環境，請使用 `--template-name` 參數。

```
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1
```

指定已儲存組態時，請勿同時指定解決方案堆疊名稱。已儲存組態已指定解決方案堆疊，若您嘗試同時使用這些選項，Elastic Beanstalk 將回傳錯誤。

### 使用命令列選項
<a name="configuration-options-during-awscli-params"></a>

使用 `--option-settings` 參數以 JSON 格式指定組態選項。

```
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[
  {
    "Namespace": "aws:elasticbeanstalk:application",
    "OptionName": "Application Healthcheck URL",
    "Value": "/health"
  }
]
```

若要自檔案載入 JSON，請使用 `file://` 字首。

```
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json
```

Elastic Beanstalk 會將您使用 `--option-settings` 選項指定的選項設定，直接套用至環境。若已儲存組態或組態檔案已指定相同選項，`--option-settings` 會覆寫這些值。