

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

# 在 CodeDeploy 中使用部署組態
<a name="deployment-configurations"></a>

部署組態是一組規則，以及 CodeDeploy 在部署期間所使用的成功和失敗條件。這些規則和條件不同，取決於您部署到 EC2/現場部署運算平台、 AWS Lambda 運算平台或 Amazon ECS 運算平台。

## EC2/內部部署運算平台上的部署組態
<a name="deployment-configuration-server"></a>



當您部署到 EC2/現場部署運算平台時，部署組態會透過使用「運作狀態良好主機」值和選用的「每個區域運作狀態良好主機」值，指定在部署期間必須隨時保持可用的執行個體數量或百分比。

您可以使用 提供的三個預先定義部署組態之一， AWS 或建立自訂部署組態。如需建立自訂部署組態的詳細資訊，請參閱 [使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)。如果您未指定部署組態，CodeDeploy 會使用 CodeDeployDefault.OneAtATime 部署組態。

如需 CodeDeploy 如何在部署期間監控和評估執行個體運作狀態的詳細資訊，請參閱 [CodeDeploy 執行個體運作狀態](instances-health.md)。若要檢視已註冊至您 AWS 帳戶的部署組態清單，請參閱 [使用 CodeDeploy 檢視部署組態詳細資訊](deployment-configurations-view-details.md)。

### EC2/內部部署運算平台的預先定義部署組態
<a name="deployment-configurations-predefined"></a>

下表列出預先定義部署組態。

**注意**  
沒有預先定義的部署組態支援 [zonal configuration](deployment-configurations-create.md#zonal-config)功能 （這項功能可讓您指定每個可用區域運作狀態良好的主機數量）。如果您想要使用此功能，您必須[建立自己的部署組態](deployment-configurations-create.md)。


****  

| Deployment configuration (部署組態) | Description | 
| --- | --- | 
| CodeDeployDefault.AllAtOnce | **就地部署**：嘗試部署應用程式修訂版，一次盡可能部署任意數量的執行個體。如果應用程式版本被部署到一個或多個執行個體，整體的部署狀態會顯示為成功。如果應用程式修訂版沒有部署到任何一個執行個體，整體的部署狀態會顯示為失敗。以九個執行個體為例，CodeDeployDefault.AllAtOnce 會嘗試立即部署到全部九個執行個體。即使只有單一執行個體部署成功，整體部署也算成功。只有在部署到全部九個執行個體都失敗時，才算失敗。<br />**藍/綠部署**：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/deployment-configurations.html) | 
| CodeDeployDefault.HalfAtATime | **就地部署**：<br />一次部署到最多執行個體的一半 (分數無條件捨去)。如果應用程式修訂版部署到至少一半的執行個體，整體部署即為成功 (分數無條件計入)。否則，部署失敗。在九個執行個體的範例中，它將同時部署到最多四個執行個體。如果成功部署至五個或以上的執行個體，整體部署即為成功。否則，部署失敗。 如果您要部署到多個 Auto Scaling 群組中的執行個體，無論*執行個體所在的 Auto Scaling 群組為何*，CodeDeploy 一次最多都會部署到一半的執行個體。例如，假設您有兩個 Auto Scaling 群組 `ASG1`和 `ASG2`，每個群組都有 10 個執行個體。在此案例中，CodeDeploy 可能會在 中部署到 10 個執行個體`ASG1`，並將其視為成功，因為它已部署到至少一半的執行個體。 <br />**藍/綠部署**：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/deployment-configurations.html) | 
| CodeDeployDefault.OneAtATime | **就地部署**：<br />將應用程式修訂版一次部署到一個執行個體。<br />對於包含多個執行個體的部署群組：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/deployment-configurations.html)<br />對於僅包含一個執行個體的部署群組，如果部署到單一執行個體成功，整體部署便算成功。<br />**藍/綠部署**：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/deployment-configurations.html) | 

## Amazon ECS 運算平台上的部署組態
<a name="deployment-configuration-ecs"></a>

當您部署到 Amazon ECS 運算平台時，部署組態會指定流量如何轉移到更新的 Amazon ECS 任務集。您可以使用 **Canary**、**線性**或**all-at-once**組態來轉移流量。如需詳細資訊，請參閱[Deployment configuration (部署組態)](primary-components.md#primary-components-deployment-configuration)。

您也可以建立您自己的自訂 Canary 或線性部署組態。如需詳細資訊，請參閱[使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)。

### Amazon ECS 運算平台的預先定義部署組態
<a name="deployment-configurations-predefined-ecs"></a>

下表列出可用於 Amazon ECS 部署的預先定義組態。

**注意**  
如果您使用的是 Network Load Balancer，則僅支援`CodeDeployDefault.ECSAllAtOnce`預先定義的部署組態。


****  

| Deployment configuration (部署組態) | Description | 
| --- | --- | 
| CodeDeployDefault.ECSLinear10PercentEvery1Minutes | 每分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
| CodeDeployDefault.ECSLinear10PercentEvery3Minutes  | 每三分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
| CodeDeployDefault.ECSCanary10Percent5Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在五分鐘之後部署。 | 
| CodeDeployDefault.ECSCanary10Percent15Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在 15 分鐘後部署。 | 
| CodeDeployDefault.ECSAllAtOnce | 將所有流量一次轉移到更新的 Amazon ECS 容器。 | 

## CloudFormation 藍/綠部署的部署組態 (Amazon ECS)
<a name="deployment-configuration-cfn-bg"></a>

 當您透過 CloudFormation 藍/綠部署部署到 Amazon ECS 運算平台時，部署組態會指定流量如何轉移到更新的 Amazon ECS 容器。您可以使用 **Canary**、**線性**或**all-at-once**組態來轉移流量。如需詳細資訊，請參閱[Deployment configuration (部署組態)](primary-components.md#primary-components-deployment-configuration)。

使用 CloudFormation 藍/綠部署時，您無法建立自己的自訂 Canary 或線性部署組態。如需使用 CloudFormation 管理 Amazon ECS 藍/綠部署step-by-step說明，請參閱*CloudFormation 《 使用者指南*》中的[使用 CodeDeploy 自動化 ECS 藍/綠部署 CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)。

**注意**  
在歐洲 （米蘭）、非洲 （開普敦） 和亞太區域 （大阪） 區域 CloudFormation 無法使用 管理 Amazon ECS 藍/綠部署。

## AWS Lambda 運算平台上的部署組態
<a name="deployment-configuration-lambda"></a>

當您部署到 AWS Lambda 運算平台時，部署組態會指定流量轉移到應用程式中新 Lambda 函數版本的方式。您可以使用 **Canary**、**線性**或**all-at-once**組態來轉移流量。如需詳細資訊，請參閱[Deployment configuration (部署組態)](primary-components.md#primary-components-deployment-configuration)。

您也可以建立您自己的自訂 Canary 或線性部署組態。如需詳細資訊，請參閱[使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)。

### AWS Lambda 運算平台的預先定義部署組態
<a name="deployment-configurations-predefined-lambda"></a>

下表列出 AWS Lambda 部署可用的預先定義組態。


****  

| Deployment configuration (部署組態) | Description | 
| --- | --- | 
| CodeDeployDefault.LambdaCanary10Percent5Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在五分鐘之後部署。 | 
| CodeDeployDefault.LambdaCanary10Percent10Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在 10 分鐘之後部署。 | 
| CodeDeployDefault.LambdaCanary10Percent15Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在 15 分鐘後部署。 | 
| CodeDeployDefault.LambdaCanary10Percent30Minutes | 在第一個遞增中移動 10% 的流量。剩餘的 90% 會在 30 分鐘之後部署。 | 
| CodeDeployDefault.LambdaLinear10PercentEvery1Minute | 每分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
| CodeDeployDefault.LambdaLinear10PercentEvery2Minutes | 每兩分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
| CodeDeployDefault.LambdaLinear10PercentEvery3Minutes | 每三分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
| CodeDeployDefault.LambdaLinear10PercentEvery10Minutes | 每 10 分鐘移動 10% 的流量，直到所有流量移動完畢。 | 
|  CodeDeployDefault.LambdaAllAtOnce  | 將所有流量一次轉移到更新的 Lambda 函數。 | 

## 主題
<a name="topiclist-deployment-configurations"></a>
+ [Create a Deployment Configuration](deployment-configurations-create.md)
+ [View Deployment Configuration Details](deployment-configurations-view-details.md)
+ [Delete a Deployment Configuration](deployment-configurations-delete.md)