

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

# 使用 CodeDeploy 建立部署組態
<a name="deployment-configurations-create"></a>

如果您不想使用 CodeDeploy 隨附的其中一個預設部署組態，您可以使用下列指示建立自己的組態。

您可以使用 CodeDeploy 主控台 AWS CLI、CodeDeploy APIs 或 CloudFormation 範本來建立自訂部署組態。

如需使用 CloudFormation 範本建立部署組態的詳細資訊，請參閱 [CloudFormation CodeDeploy 參考的 範本](reference-cloudformation-templates.md)。

**Topics**
+ [建立部署組態 （主控台）](#deployment-configurations-create-console)
+ [使用 CodeDeploy 建立部署組態 (AWS CLI)](#deployment-configurations-create-cli)

## 建立部署組態 （主控台）
<a name="deployment-configurations-create-console"></a>

使用以下指示，使用 AWS 主控台建立部署組態。

**使用主控台在 CodeDeploy 中建立部署組態**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) 開啟 CodeDeploy 主控台。
**注意**  
使用您在 中設定的相同使用者登入[CodeDeploy 入門](getting-started-codedeploy.md)。

1. 在導覽窗格中，選擇**部署組態**。

   顯示內建部署組態的清單。

1. 選擇 **Create deployment configuration (建立部署組態)**。

1. 在**部署組態名稱**中，輸入部署組態的名稱。例如 **my-deployment-config**。

1. 在**運算平台**下，選擇下列其中一項：
   + **EC2/內部部署**
   + **AWS Lambda**
   + **Amazon ECS**

1. 執行以下任意一項：
   + 如果您選擇 **EC2/內部部署**：

     1. 在**運作狀態良好的最低主機**下，指定必須在部署期間隨時保持可用的執行個體數量或百分比。如需 CodeDeploy 在部署期間如何監控和評估執行個體運作狀態的詳細資訊，請參閱 [CodeDeploy 執行個體運作狀態](instances-health.md)。

     1. （選用） 在**區域組態**下，選取**啟用區域組態**，讓 CodeDeploy 一次將您的應用程式部署到區域內 AWS 的一個[可用區域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones)。透過一次部署到一個可用區域，您可以向越來越多的受眾公開部署，因為對部署效能和可行性增加的信心。如果您未啟用區域組態，CodeDeploy 會將您的應用程式部署到跨區域的隨機主機選擇。

        如果您啟用區域組態功能，請注意下列事項：
        + 只有在 Amazon EC2 執行個體就地部署時，才支援區域組態功能。（不支援藍/綠部署和內部部署執行個體。) 如需就地部署的詳細資訊，請參閱 [部署類型](primary-components.md#primary-components-deployment-type)。
        + [預先定義的部署](deployment-configurations.md#deployment-configurations-predefined)組態不支援區域組態功能。若要使用區域組態，您必須建立自訂部署組態，如此處所述。
        + 如果 CodeDeploy 需要復原部署，CodeDeploy 將在隨機主機上執行復原操作。(CodeDeploy 不會如您預期一次復原一個區域。) 基於效能原因選擇此轉返行為。如需轉返的詳細資訊，請參閱 [使用 CodeDeploy 重新部署以及復原部署](deployments-rollback-and-redeploy.md)。

     1. 如果您選取**啟用區域組態**核取方塊，請選擇性地指定下列選項：
        + （選用） 在**監控持續時間**中，指定 CodeDeploy 在完成部署至可用區域後必須等待的期間，以秒為單位。CodeDeploy 會等待這段時間，再開始部署到下一個可用區域。考慮新增監控持續時間，讓部署有時間在一個可用區域中證明自己 （或「製作」)，然後再在下一個區域中發佈。如果您未指定監控持續時間，則 CodeDeploy 會立即開始部署到下一個可用區域。如需**監控持續時間**設定如何運作的詳細資訊，請參閱 [每個可用區域的運作狀態良好執行個體數量下限](instances-health.md#minimum-healthy-hosts-az)。
        + （選用） 選取**新增第一個區域的監控持續時間**，以設定僅適用於第一個可用區域的監控持續時間。如果您想要為第一個可用區域允許額外的製作時間，您可以設定此選項。如果您未在**新增第一個區域監控持續時間**中指定值，則 CodeDeploy 會使用第一個可用區域的**監控持續時間**值。
        + （選用） 在**每個區域運作狀態良好的最低主機**下，指定部署期間每個可用區域必須保持可用的執行個體數量或百分比。選擇 **FLEET\$1PERCENT** 以指定百分比，或選擇 **HOST\$1COUNT** 以指定數字。此欄位可與運作**狀態良好的主機下限**欄位搭配使用。如需詳細資訊，請參閱[每個可用區域的運作狀態良好執行個體數量下限](instances-health.md#minimum-healthy-hosts-az)。

          如果您未在**每個區域運作狀態良好的最低主機下指定值**，則 CodeDeploy 會使用預設值 `0`%。
   + 如果您選擇 **AWS Lambda**或 **Amazon ECS**：

     1. 針對**類型**，選擇**線性**或 **Canary**。

     1. 在**步驟**和**間隔**欄位中，執行下列其中一項：
        + 如果您選擇 **Canary**，請在**步驟**中輸入要轉移的流量百分比，介於 1 到 99 之間。這是在第一個增量中轉移的流量百分比。剩餘的流量會在第二個增量之選定間隔後轉移。

          針對**間隔**，輸入第一個和第二個流量轉移之間的分鐘數。
        + 如果您選擇**線性**，請在**步驟**中輸入要轉移的流量百分比，介於 1 到 99 之間。這是在每個間隔開始時轉移的流量百分比。

          針對**間隔**，輸入每個增量輪班之間的分鐘數。

1. 選擇 **Create deployment configuration (建立部署組態)**。

   您現在擁有可與部署群組建立關聯的部署組態。

## 使用 CodeDeploy 建立部署組態 (AWS CLI)
<a name="deployment-configurations-create-cli"></a>

若要使用 AWS CLI 建立部署組態，請呼叫 [create-deployment-config](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-config.html) 命令。



下列範例會建立名為 的 EC2/現場部署組態`ThreeQuartersHealthy`，要求 75% 的目標執行個體在部署期間保持運作狀態：

```
aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75
```



下列範例會建立名為 的 EC2/現場部署組態`300Total50PerAZ`，每個部署總共需要 300 個目標執行個體才能維持運作狀態，而每個可用區域需要 50 個執行個體才能維持運作狀態。它也會設定 1 小時的監控持續時間。

```
aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'
```





下列範例會建立名為 的 AWS Lambda 部署組態`Canary25Percent45Minutes`。它使用 Canary 轉換功能，轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

```
aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda
```



下列範例會建立名為 的 Amazon ECS 部署組態`Canary25Percent45Minutes`。它使用 Canary 轉換功能，轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

```
aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS
```