

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

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