

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

# **eb create**
<a name="eb3-create"></a>

## Description
<a name="eb3-createdescription"></a>

建立新的環境，然後在其中部署應用程式版本。

**注意**  
若要在 .NET 應用程式上使用 **eb create**，您必須依照 [建立 .NET 應用程式的原始碼套件](applications-sourcebundle.md#using-features.deployment.source.dotnet) 所述建立部署套件，接著設定 CLI 組態，將套件部署為成品，如 [部署成品而非專案資料夾](eb-cli3-configuration.md#eb-cli3-artifact) 所述。
要以 EB CLI 建立環境，就必須有[服務角色](concepts-roles-service.md)。您可以在 Elastic Beanstalk 主控台建立環境，以建立服務角色。如果您沒有服務角色，EB CLI 會嘗試在您執行 `eb create` 時為您建立。

您可自數個來源來部署應用程式版本：
+ 預設情況：自本機專案目錄下的應用程式原始碼。
+ 使用 `--version` 選項：自應用程式內已存在的應用程式版本。
+ 您的專案目錄沒有應用程式程式碼，或使用 `--sample` 選項時：自您的環境平台專屬的範例應用程式部署。

## 語法
<a name="eb3-createsyntax"></a>

**eb create**

**eb create *environment-name***

環境名稱長度必須介於 4 到 40 個字元。僅可包含字母、數字與連字號 (-)。環境名稱的開頭和結尾不可為連字號。

若您的命令納入環境名稱，EB CLI 不會提示您進行選擇或建立服務角色。

若您執行不帶環境名稱引數的命令，將會以互動式流程執行，並提示您輸入或選取部分設定的值。在此互動式流程中，若您正部署範例應用程式，EB CLI 亦會問您是否要將該範例應用程式下載至本機專案目錄中。下載後，您稍後即可搭配新環境使用 EB CLI，執行需要應用程式程式碼的操作 (如 [**eb deploy**](eb3-deploy.md))。

某些互動式流程提示只會在特定情況下顯示。例如，如果您選擇使用 Application Load Balancer (而您的帳戶至少有一個可共享的 Application Load Balancer，則 Elastic Beanstalk 會顯示提示，詢問您是否要使用共享負載平衡器。如果您的帳戶中沒有可共享的 Application Load Balancer，則不會顯示此提示。

## 選項
<a name="eb3-createoptions"></a>

這些選項均非必要。若您不帶選項執行 **eb create**，EB CLI 將提示您輸入或選取每個設定的值。


****  

|  名稱  |  描述  | 
| --- | --- | 
|  `-d` 或 `--branch_default`  |  將環境設定為目前儲存庫的預設環境。  | 
|  `--cfg` *config-name*  |  [使用已儲存組態的平台設定](environment-configuration-methods-during.md#configuration-options-during-ebcli-savedconfig)，位置位於 `.elasticbeanstalk/saved_configs/` 或您的 Amazon S3 儲存貯體。僅指定該檔案的名稱，不要納入 `.cfg.yml` 副檔名。  | 
|  `-c` *subdomain-name* 或 `--cname` *subdomain-name*  |  CNAME DNS 項目前綴的子網域名稱，可路由至您的網站。 類型：字串 預設：環境名稱  | 
|  `-db` 或 `--database`  |  將資料庫連接至環境。若您將 **eb create** 搭配 `--database` 選項執行，但沒有 `--database.username` 和 `--database.password` 選項，則 EB CLI 會提示您輸入資料庫的主要使用者名稱及密碼。  | 
|  `-db.engine` *引擎* 或 `--database.engine` *引擎*  |  資料庫引擎類型。若您搭配此選項執行 **eb create**，EB CLI 會啟動連接至資料庫的環境。即使您沒有透過 `--database` 選項執行此命令也是。 類型：字串 有效值：`mysql`、`oracle-se1`、`postgres`、`sqlserver-ex`、`sqlserver-web`、`sqlserver-se`  | 
|  `-db.i` *instance\$1type* 或 `--database.instance` *instance\$1type*  |  要用於資料庫的 Amazon EC2 執行個體類型。若您搭配此選項執行 **eb create**，EB CLI 會啟動連接至資料庫的環境。即使您沒有透過 `--database` 選項執行此命令也是。 類型：字串 有效值： Amazon RDS 支援一組標準的資料庫執行個體。若要為資料庫引擎選取適當的資料庫執行個體，您必須將幾項特定條件一併納入考量。如需詳細資訊，請參閱 *Amazon RDS 使用者指南*中的[資料庫執行個體類別](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)。  | 
|  `-db.pass` *密碼* 或 `--database.password` *密碼*  |  資料庫的密碼。若您搭配此選項執行 **eb create**，EB CLI 會啟動連接至資料庫的環境。即使您沒有透過 `--database` 選項執行此命令也是。  | 
|  `-db.size` *number\$1of\$1gigabytes* 或 `--database.size` *number\$1of\$1gigabytes*  |  為資料庫儲存配置的 GB 數。若您搭配此選項執行 **eb create**，EB CLI 會啟動連接至資料庫的環境。即使您沒有透過 `--database` 選項執行此命令也是。 類型：數字 有效值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/eb3-create.html)  | 
|  `-db.user` *使用者名稱* 或 `--database.username` *使用者名稱*  |  資料庫的使用者名稱。若您搭配此選項執行 **eb create**，EB CLI 會啟動連接至資料庫的環境，即使此命令未納入 `--database` 選項。若您執行的 **eb create** 具備 `--database` 選項，但沒有 `--database.username` 和 `--database.password` 選項，則 EB CLI 會提示您輸入主要資料庫的使用者名稱及密碼。  | 
|  `-db.version` *版本* 或 `--database.version` *version*  |  用於指定資料庫引擎版本。若此旗標已存在，環境將搭配指定版本編號的資料庫啟動，即使 `--database` 旗標不存在。  | 
|  `--elb-type` *類型*  |  [負載平衡器類型](using-features.managing.elb.md)。 類型：字串 有效值：`classic`、`application`、`network` 預設：`application`  | 
|  `-es` 或 `--enable-spot`  |  為您的環境啟用 Spot 執行個體請求。如需更多詳細資訊，請參閱 [Auto Scaling 群組](using-features.managing.as.md)。 相關選項： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/eb3-create.html)  | 
| --env-group-suffix groupname | 欲附加至環境名稱的群組名稱。僅能搭配 [編寫環境](ebcli-compose.md) 使用。 | 
|  `--envvars`  |  以逗號分隔清單列出的[環境屬性](environments-cfg-softwaresettings.md)，格式為 *name*=*value*。請參閱 [設定環境屬性 (環境變數)](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console) 了解限制。  | 
|  `-ip` *profile\$1name* 或 `--instance_profile` *profile\$1name*  |  具有 IAM 角色的執行個體描述檔，具有應用程式存取 AWS 資源所需的臨時安全登入資料。  | 
|  `-it` 或 `-﻿-﻿instance-types type1[,type2 ...]`  |  您要讓環境使用的逗號分隔 Amazon EC2 執行個體類型清單。如果您未指定此選項，則 Elastic Beanstalk 會提供預設的執行個體類型。 如需詳細資訊，請參閱 [Amazon EC2 執行個體](using-features.managing.ec2.md) 及 [Auto Scaling 群組](using-features.managing.as.md)。  EB CLI 僅將此選項套用至 Spot 執行個體。除非搭配 `--enable-spot` 選項使用此選項，否則 EB CLI 會加以忽略。若要指定隨需執行個體的執行個體類型，請改用 `--intance-type` (沒有 "s") 選項。   | 
|  `-i` 或 `--instance_type`  |  您要讓環境使用的 Amazon EC2 執行個體類型。如果您未指定此選項，則 Elastic Beanstalk 會提供預設的執行個體類型。 如需更多詳細資訊，請參閱 [Amazon EC2 執行個體](using-features.managing.ec2.md)。  EB CLI 只會將此選項套用於隨需執行個體。請勿搭配 `--enable-spot` 選項使用此選項，因為 EB CLI 會在您如此使用時忽略此選項。若要指定 Spot 執行個體的執行個體類型，請改用 `--intance-types` (有 "s") 選項。   | 
|  `-k` *key\$1name* 或 `--keyname` *key\$1name*  |  要搭配安全殼層 (SSH) 用戶端使用的 Amazon EC2 金鑰對名稱，以安全登入執行 Elastic Beanstalk 應用程式的 Amazon EC2 執行個體。若您的 **eb create** 命令納入此選項，則您提供的該值會覆寫 **eb init** 指定的金鑰名稱。 有效值：向 Amazon EC2 註冊的現有金鑰名稱  | 
|  `-im` *number-of-instances* 或 `--min-instances` *number-of-instances*  |  要求環境具備的 Amazon EC2 執行個體數目下限。 類型：數值 (整數) 預設：`1` 有效值：`1` 至 `10000`  | 
|  `-ix` *number-of-instances* 或 `--max-instances` *number-of-instances*  |  允許環境擁有的 Amazon EC2 執行個體數目上限。 類型：數值 (整數) 預設：`4` 有效值：`1` 至 `10000`  | 
|  `--modules` *component-a component-b*  | 欲建立的元件環境清單。僅能搭配[編寫環境](ebcli-compose.md)使用。 | 
|  `-sb` 或 `--on-demand-base-capacity`  |  隨著環境擴展，Auto Scaling 群組在考量 Spot 執行個體前佈建的最小隨需執行個體數量。 此選項只能搭配 `--enable-spot` 選項一起指定。如需更多詳細資訊，請參閱 [Auto Scaling 群組](using-features.managing.as.md)。 類型：數值 (整數) 預設：`0` 有效值：`0` 到 `--max-instances` (缺少時：[`MaxSize`](command-options-general.md#command-options-general-autoscalingasg) 命名空間中的 `aws:autoscaling:asg` 選項)  | 
|  `-sp` 或 `--on-demand-above-base-capacity`  |  隨需執行個體百分比 (Auto Scaling 群組超出 `--on-demand-base-capacity` 選項所指定之執行個體數量所怖建的一部分額外容量)。 此選項只能搭配 `--enable-spot` 選項一起指定。如需詳細資訊，請參閱 [Auto Scaling 群組](using-features.managing.as.md)。 類型：數值 (整數) 預設：`0` 適用於單一執行個體環境；`70` 適用於負載平衡環境 有效值：`0` 至 `100`  | 
|  `-p` *platform-version* 或 `--platform` *platform-version*  |  要使用的[平台版本](concepts.platforms.md)。您可以指定平台名稱、平台名稱及版本、平台分支、解決方案堆疊名稱或解決方案堆疊 ARN。例如： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/eb3-create.html) 使用 [`eb platform list`](eb3-platform.md) 取得可用組態的清單。 如果您指定 `--platform` 選項，即會覆寫 `eb init` 期間所提供的數值。  | 
|  `-pr` 或 `--process`  |  預處理並驗證原始碼套件中的環境資訊清單和組態檔案。驗證組態檔案可在將應用程式版本部署至環境前辨識問題。  | 
|  `-r` *區域* 或 `--region` *區域*  |  您要部署應用程式的 AWS 區域。 如需可以為此選項指定的值之清單，請參閱《*AWS 一般參考*》中的[AWS Elastic Beanstalk 端點與配額](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。  | 
|  `--sample`  |  將範例應用程式部署至新的環境，而非儲存庫中的程式碼。  | 
|  `--scale` *number-of-instances*  |  以特定數量的執行個體來啟動  | 
| --service-role servicerole | 將非預設服務角色指派至環境。 請勿輸入 ARN。只輸入角色名稱。Elastic Beanstalk 會在角色名稱前綴正確的值，在內部建立所產生的 ARN。  | 
|  `-ls` *load-balancer* 或 `--shared-lb` *load-balancer*  |  將環境設定為使用共享負載平衡器。提供您帳戶中可共享負載平衡器的名稱或 ARN (由您明確建立而不是其他 Elastic Beanstalk 環境所建立的 Application Load Balancer)。如需更多詳細資訊，請參閱 [共享 Application Load Balancer](environments-cfg-alb-shared.md)。 參數範例： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/eb3-create.html) 您只能使用 `--elb-type application` 指定此選項。如果您指定該選項但未指定 `--shared-lb`，Elastic Beanstalk 會為該環境建立專用負載平衡器。  | 
|  `-lp` *連接埠* 或 `--shared-lb-port` *連接埠*  |  此環境之共享負載平衡器的預設接聽程式連接埠。Elastic Beanstalk 會新增接聽程式規則，以將此接聽程式的所有流量路由傳送至預設環境程序。如需更多詳細資訊，請參閱 [共享 Application Load Balancer](environments-cfg-alb-shared.md)。 類型：數值 (整數) 預設：`80` 有效值：代表共享負載平衡器之接聽程式連線埠的任何整數。  | 
|  `--single`  |  透過單一 Amazon EC2 執行個體建立環境，無須負載平衡器。  單一執行個體環境並非可立即生產。如果執行個體在部署期間變得不穩定，或者 Elastic Beanstalk 在組態更新期間終止並重新啟動執行個體，您的應用程式可能會有一段時間無法使用。使用單一執行個體環境來開發、測試或封測。使用負載平衡環境來生產。   | 
|  `-sm` 或 `--spot-max-price`  |  您願意為 Spot 執行個體支付的每單位小時最高價格 (以美元為單位)。 此選項只能搭配 `--enable-spot` 選項一起指定。如需詳細資訊，請參閱 [Auto Scaling 群組](using-features.managing.as.md)。 類型：數字 (浮點數) 預設：每個執行個體類型的隨需價格。在此情況下，選項的數值為 `null`。 有效值：`0.001` 至 `20.0` 如需 Spot 執行個體最高價格選項的建議，請參閱《*Amazon EC2 使用者指南》中的* [Spot 執行個體定價歷史記錄](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)。  | 
|  `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  標記您環境的資源。指定標籤的格式為以逗號分隔的 `key=value` 對清單。 如需詳細資訊，請參閱[標記環境](using-features.tagging.md)。  | 
|  `-t worker` 或 `--tier worker`  | 建立工作者環境。忽略此選項來建立 Web 伺服器環境。 | 
|  `--timeout` *分鐘*  |  設定命令逾時前的分鐘數。  | 
|  `--version` *version\$1label*  |  指定欲部署至環境的應用程式版本，而非本機專案目錄中的應用程式原始碼。 類型：字串 有效值：現有應用程式版本標籤  | 
|  `--vpc`  |  設定您環境的 VPC。納入此選項時，EB CLI 會提示您輸入所有必要的設定，然後才會啟動環境。  | 
|  `--vpc.dbsubnets subnet1,subnet2`  |  指定 VPC 內資料庫執行個體的子網路。指定 `--vpc.id` 時為必要。  | 
|  `--vpc.ec2subnets subnet1,subnet2`  |  指定 VPC 內 Amazon EC2 執行個體的子網路。指定 `--vpc.id` 時為必要。  | 
|  `--vpc.elbpublic`  |  在您 VPC 的公有子網路啟動 Elastic Load Balancing 負載平衡器。 您可以使用 `--tier worker` 或 `--single` 選項指定此選項。  | 
|  `--vpc.elbsubnets subnet1,subnet2`  |  指定 VPC 內 Elastic Load Balancing 負載平衡器的子網路。 您可以使用 `--tier worker` 或 `--single` 選項指定此選項。  | 
|  `--vpc.id ID`  |  在指定 VPC 內啟動您的環境。  | 
|  `--vpc.publicip`  |  在您 VPC 的公有子網路啟動 Amazon EC2 執行個體。 您可以使用 `--tier worker` 選項指定此選項。  | 
|  `--vpc.securitygroups securitygroup1,securitygroup2`  |  指定安全群組 ID。指定 `--vpc.id` 時為必要。  | 
|  [常用選項](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-createoutput"></a>

若成功，本命令會以問題來提示您，然後回傳建立操作的狀態。若啟動期間出現問題，可使用 [**eb events**](eb3-events.md) 操作取得詳細資訊。

若您已在應用程式啟用 CodeBuild 支援，**eb create** 會在您建置程式碼時顯示 CodeBuild 的資訊。如需 Elastic Beanstalk 中 CodeBuild 支援的詳細資訊，請參閱[搭配 使用 EB CLI AWS CodeBuild](eb-cli-codebuild.md)。

## 範例
<a name="eb3-createexample1"></a>

下列範例以互動式模式建立環境。

```
$ eb create
Enter Environment Name
(default is tmp-dev): ENTER
Enter DNS CNAME prefix
(default is tmp-dev): ENTER
Select a load balancer type
1) classic
2) application
3) network
(default is 2): ENTER
Environment details for: tmp-dev
  Application name: tmp
  Region: us-east-2
  Deployed Version: app-141029_145448
  Environment ID: e-um3yfrzq22
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev.elasticbeanstalk.com
  Updated: 2014-10-29 21:54:51.063000+00:00
Printing Status:
...
```

下列範例亦以互動式模式建立環境。在此範例中，您的專案目錄沒有應用程式程式碼。此命令會部署範例應用程式，並將其下載至您的本機專案目錄。

```
$ eb create
Enter Environment Name
(default is tmp-dev): ENTER
Enter DNS CNAME prefix
(default is tmp-dev): ENTER
Select a load balancer type
1) classic
2) application
3) network
(default is 2): ENTER
NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Do you want to download the sample application into the current directory?
(Y/n): ENTER
INFO: Downloading sample application to the current directory.
INFO: Download complete.
Environment details for: tmp-dev
  Application name: tmp
  Region: us-east-2
  Deployed Version: Sample Application
  Environment ID: e-um3yfrzq22
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev.elasticbeanstalk.com
  Updated: 2017-11-08 21:54:51.063000+00:00
Printing Status:
...
```

下列命令會建立環境，且不會顯示任何提示。

```
$ eb create dev-env
Creating application version archive "app-160312_014028".
Uploading test/app-160312_014028.zip to S3. This may take a while.
Upload Complete.
Application test has been created.
Environment details for: dev-env
  Application name: test
  Region: us-east-2
  Deployed Version: app-160312_014028
  Environment ID: e-6fgpkjxyyi
  Platform: 64bit Amazon Linux 2015.09 v2.0.8 running PHP 5.6
  Tier: WebServer-Standard
  CNAME: UNKNOWN
  Updated: 2016-03-12 01:40:33.614000+00:00
Printing Status:
...
```

下列命令會在自訂 VPC 內建立環境。

```
$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265
Creating application version archive "app-160312_014309".
Uploading test/app-160312_014309.zip to S3. This may take a while.
Upload Complete.
Environment details for: dev-vpc
  Application name: test
  Region: us-east-2
  Deployed Version: app-160312_014309
  Environment ID: e-pqkcip3mns
  Platform: 64bit Amazon Linux 2015.09 v2.0.8 running Java 8
  Tier: WebServer-Standard
  CNAME: UNKNOWN
  Updated: 2016-03-12 01:43:14.057000+00:00
Printing Status:
...
```