

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

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

您可以為 CodeDeploy 應用程式指定一或多個部署群組。每個應用程式部署使用其中一個部署群組。部署群組包含部署期間使用的設定和組態。大多數部署群組設定取決於應用程式使用的運算平台。您可以針對任何運算平台的部署群組設定某些設定，例如轉返、觸發和警示。

## Amazon ECS 運算平台部署中的部署群組
<a name="deployment-group-ecs"></a>

在 Amazon ECS 部署中，部署群組會指定 Amazon ECS 服務、負載平衡器、選用的測試接聽程式和兩個目標群組。它還指定何時將流量重新路由到替代任務集，以及何時在成功部署後終止原始任務集和 Amazon ECS 應用程式。

## AWS Lambda 運算平台部署中的部署群組
<a name="deployment-group-lambda"></a>

在 AWS Lambda 部署中，部署群組會為 AWS Lambda 函數的未來部署定義一組 CodeDeploy 組態。例如，部署群組指定如何將流量路由到新版本的 Lambda 函數。它也可以指定警示和轉返。 AWS Lambda 部署群組中的單一部署可以覆寫一或多個群組組態。

## EC2/現場部署運算平台部署中的部署群組
<a name="deployment-group-server"></a>

在 EC2/現場部署中，部署群組是一組針對部署的個別執行個體。部署群組包含個別標記的執行個體、Amazon EC2 Auto Scaling 群組中的 Amazon EC2 執行個體，或兩者。

在就地部署中，部署群組中的執行個體會使用最新的應用程式修訂更新。

在藍/綠部署中，流量會從一組執行個體重新路由到另一組執行個體，方法是從一個或多個負載平衡器取消註冊原始執行個體，並註冊通常已安裝最新應用程式修訂版的替代執行個體集。

您可以在 CodeDeploy 中將多個部署群組與應用程式建立關聯。這可在不同時間內，將應用程式修訂部署到不同組執行個體。例如，您可能會使用一組部署群組，將應用程式修訂部署到一組套用 `Test` 標籤的執行個體，確認程式碼的品質。然後，您會將相同的應用程式修訂部署到包含套用 `Staging` 標籤之執行個體的部署群組，以做進一步的驗證。最後，當您準備好將最新的應用程式發行給客戶時，您會部署到包含套用 `Production` 標籤之執行個體的部署群組。

您也可以使用多個標籤群組，更進一步縮小包含在部署群組中執行個體的條件。如需相關資訊，請參閱[CodeDeploy 中部署群組的標記執行個體](instances-tagging.md)。

當您使用 CodeDeploy 主控台建立應用程式時，您可以同時設定其第一個部署群組。當您使用 AWS CLI 建立應用程式時，您會在不同的步驟中建立其第一個部署群組。

若要檢視已與 AWS 您的帳戶相關聯的部署群組清單，請參閱 [使用 CodeDeploy 檢視部署群組詳細資訊](deployment-groups-view-details.md)。

如需 Amazon EC2 執行個體標籤的相關資訊，請參閱[使用主控台處理標籤](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console)。如需內部部署執行個體的資訊，請參閱「[使用 CodeDeploy 的內部部署執行個體](instances-on-premises.md)」。如需 Amazon EC2 Auto Scaling 的相關資訊，請參閱 [將 CodeDeploy 與 Amazon EC2 Auto Scaling 整合](integrations-aws-auto-scaling.md)。

## 主題
<a name="topiclist-deployment-groups"></a>
+ [使用 CodeDeploy 建立部署群組](deployment-groups-create.md)
+ [使用 CodeDeploy 檢視部署群組詳細資訊](deployment-groups-view-details.md)
+ [使用 CodeDeploy 變更部署群組設定](deployment-groups-edit.md)
+ [設定部署群組的進階選項](deployment-groups-configure-advanced-options.md)
+ [使用 CodeDeploy 刪除部署群組](deployment-groups-delete.md)

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

您可以使用 CodeDeploy 主控台、 AWS CLI、CodeDeploy APIs或 CloudFormation 範本來建立部署群組。如需使用 CloudFormation 範本建立部署群組的詳細資訊，請參閱 [CloudFormation CodeDeploy 參考的 範本](reference-cloudformation-templates.md)。

當您使用 CodeDeploy 主控台建立應用程式時，您可以同時設定其第一個部署群組。當您使用 AWS CLI 建立應用程式時，您會在不同的步驟中建立其第一個部署群組。

做為建立部署群組的一部分，您必須指定服務角色。如需詳細資訊，請參閱[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。

**Topics**
+ [

# 建立就地部署的部署群組 （主控台）
](deployment-groups-create-in-place.md)
+ [

# 建立 EC2/現場部署藍/綠部署的部署群組 （主控台）
](deployment-groups-create-blue-green.md)
+ [

# 建立 Amazon ECS 部署的部署群組 （主控台）
](deployment-groups-create-ecs.md)
+ [

# 在 Elastic Load Balancing 中為 CodeDeploy Amazon EC2 部署設定負載平衡器
](deployment-groups-create-load-balancer.md)
+ [

# 設定 CodeDeploy Amazon ECS 部署的負載平衡器、目標群組和接聽程式
](deployment-groups-create-load-balancer-for-ecs.md)
+ [

# 建立部署群組 (CLI)
](deployment-groups-create-cli.md)

# 建立就地部署的部署群組 （主控台）
<a name="deployment-groups-create-in-place"></a>

若要使用 CodeDeploy 主控台為就地部署建立部署群組：

**警告**  
如果發生下列情況，請勿採用這些步驟：  
您尚未準備好將執行個體用於應用程式的第一個 CodeDeploy 部署。若要設定您的執行個體，請遵循[使用 CodeDeploy 的執行個體](instances.md)中的說明，然後遵循本主題中的步驟。
您希望建立部署群組，使用自訂部署組態，但您尚未建立部署組態。請遵循[使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)中的說明，再返回本主題中的步驟。
您沒有信任 CodeDeploy 的服務角色，至少要信任 中所述的信任和許可[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。若要建立及設定服務角色，請遵循[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)中的說明，再返回本主題中的步驟。
您想要在 Elastic Load Balancing 中為就地部署選取 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer，但尚未建立。

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 在 **Applications (應用程式)** 頁面上，選擇要建立部署群組的應用程式名稱。

1. 在您的應用程式頁面，從 **Deployment groups (部署群組)** 標籤中，選擇 **Create deployment group (建立部署群組)**。

1. 在 **Deployment group name (部署群組名稱)** 中，輸入描述部署群組的名稱。
**注意**  
如果您想要使用與其他部署群組相同的設定 （包括部署群組名稱；標籤、Amazon EC2 Auto Scaling 群組名稱或兩者；以及部署組態），請在此頁面指定這些設定。雖然這個新的部署群組和現有的部署群組具有相同的名稱，但 CodeDeploy 會將它們視為單獨的部署群組，因為它們各自與不同的應用程式相關聯。

1. 在**服務角色**中，選擇授予 CodeDeploy 存取目標執行個體的服務角色。

1. 在 **Deployment type (部署類型)** 中，選擇 **In-place (就地)**。

1. 在**環境組態**中，執行下列動作：

   1. 如果您想要將應用程式部署到 Amazon EC2 Auto Scaling 群組，請選取 **Amazon EC2 Auto Scaling 群組**，然後選擇要部署應用程式修訂版的 Amazon EC2 Auto Scaling 群組名稱。當新的 Amazon EC2 執行個體作為 Amazon EC2 Auto Scaling 群組的一部分啟動時，CodeDeploy 可以自動將您的修訂部署到新的執行個體。您最多可以將 10 個 Amazon EC2 Auto Scaling 群組新增至部署群組。如需詳細資訊，請參閱[將 CodeDeploy 與 Amazon EC2 Auto Scaling 整合](integrations-aws-auto-scaling.md)。

   1. 

      如果您選取**了 Amazon EC2 Auto Scaling 群組**，可選擇選取將**終止關聯新增至 Auto Scaling 群組**，讓 CodeDeploy 在您建立或更新部署群組時，將終止關聯安裝到您的 Auto Scaling 群組。安裝此掛鉤時，CodeDeploy 會執行終止部署。如需詳細資訊，請參閱[在 Auto Scaling 縮減事件期間啟用終止部署](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-behaviors-hook-enable)。

   1. 如果您想要標記執行個體，請選取 **Amazon EC2 執行個體**或**內部部署執行個體**。在**索引**鍵和**值**欄位中，輸入您用來標記執行個體的索引鍵/值對的值。您最多可以在單一標籤群組內標記 10 個金鑰值對。

      1. 您可以在**值**欄位中使用萬用字元來識別以特定模式標記的所有執行個體，例如類似的 Amazon EC2 執行個體、成本中心和群組名稱等。例如，如果您在**金鑰**欄位中選擇**名稱**並在**GRP-\$1a****值**欄位中輸入 ，CodeDeploy 會識別符合該模式的所有執行個體，例如 **GRP-1a**、 **GRP-2a**和 **GRP-XYZ-a**。

      1. **Value (值)** 欄位區分大小寫。

      1. 要從清單中移除一個鍵值組，請選擇移除圖示。

      隨著 CodeDeploy 找到符合每個指定鍵值對或 Amazon EC2 Auto Scaling 群組名稱的執行個體，它會顯示相符執行個體的數量。要查看有關於執行個體的詳細資訊，請按一下數字。

      如果您想要強化部署到執行個體的條件，請選擇 **Add tag group (新增標籤群組)** 以建立標籤群組。您可以建立最多三個標籤群組，每個標籤群組最多包含 10 個金鑰值對。當您在部署群組中使用多個標籤群組，只有所有標籤群組識別出的執行個體會包含在部署群組中。這表示一個執行個體至少有一個標籤必須符合部署群組中的每個群組。

      如需使用標籤群組來強化部署群組的相關資訊，請參閱[CodeDeploy 中部署群組的標記執行個體](instances-tagging.md)。

1. 在 **Systems Manager 的代理程式組態**中，指定您要如何在部署群組的執行個體上安裝和更新 CodeDeploy 代理程式。如需 CodeDeploy 代理程式的詳細資訊，請參閱[使用 CodeDeploy 代理程式](https://docs.aws.amazon.com/en_us/codedeploy/latest/userguide/codedeploy-agent.html)。如需 Systems Manager 的詳細資訊，請參閱[什麼是 Systems Manager？](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)

   1. **從不**：略過使用 Systems Manager 設定 CodeDeploy 安裝。執行個體必須安裝代理程式才能在部署中使用，因此只有在您將以其他方式安裝 CodeDeploy 代理程式時，才選擇此選項。

   1. **僅限一次**：Systems Manager 會在部署群組中的每個執行個體上安裝 CodeDeploy 代理程式一次。

   1. **現在和排程更新**：Systems Manager 將與 State Manager 建立關聯，以按照您設定的排程安裝 CodeDeploy 代理程式。有關狀態管理員和關聯的詳細資訊，請參閱[關於狀態管理員](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-about.html)。

1. 在 **Deployment configuration (部署組態)** 中，選擇部署組態以控制執行個體的部署速度，例如一次一個或一次全部。如需部署組態的詳細資訊，請參閱[在 CodeDeploy 中使用部署組態](deployment-configurations.md)。

1. （選用） 在**負載平衡器**中，選取**啟用負載平衡**，然後從清單中選取 Classic Load Balancer、Application Load Balancer 目標群組和 Network Load Balancer 目標群組，以在 CodeDeploy 部署期間管理執行個體的流量。您可以選取最多 10 個 Classic Load Balancer 和 10 個目標群組，總共 20 個項目。確定您要部署的 Amazon EC2 執行個體已向選取的負載平衡器 (Classic Load Balancer) 或目標群組 (Application Load Balancer 和 Network Load Balancer) 註冊。

   在部署期間，原始執行個體會從選取的負載平衡器和目標群組取消註冊，以防止流量在部署期間路由到這些執行個體。部署完成時，每個執行個體都會重新註冊*所有*選取的 Classic Load Balancer 和目標群組。

   如需 CodeDeploy 部署負載平衡器的詳細資訊，請參閱 [將 CodeDeploy 與 Elastic Load Balancing 整合](integrations-aws-elastic-load-balancing.md)。
**警告**  
如果您要在此部署群組中同時設定 Auto Scaling 群組和 Elastic Load Balancing 負載平衡器，而且想要[將負載平衡器連接至 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)，建議您先完成此附件，*再*從此部署群組建立 CodeDeploy 部署。在建立部署後嘗試完成附件可能會導致所有執行個體意外從負載平衡器取消註冊。

1. （選用） 展開**進階**並設定您要包含在部署中的任何選項，例如 Amazon SNS 通知觸發、Amazon CloudWatch 警示、Auto Scaling 選項或自動轉返。

   如需詳細資訊，請參閱[設定部署群組的進階選項](deployment-groups-configure-advanced-options.md)。

1. 選擇 **Create deployment group (建立部署群組)**。

# 建立 EC2/現場部署藍/綠部署的部署群組 （主控台）
<a name="deployment-groups-create-blue-green"></a>

若要使用 CodeDeploy 主控台建立藍/綠部署的部署群組：

**警告**  
如果發生下列情況，請勿採用這些步驟：  
在藍/綠部署程序期間，您沒有已安裝 CodeDeploy 代理程式的執行個體要取代。若要設定您的執行個體，請遵循[使用 CodeDeploy 的執行個體](instances.md)中的說明，然後遵循本主題中的步驟。
您希望建立使用自訂部署組態的應用程式，但您尚未建立部署組態。請遵循[使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)中的說明，再返回本主題中的步驟。
您沒有信任 CodeDeploy 的服務角色，至少要信任 中所述的信任和許可[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。若要建立及設定服務角色，請遵循[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)中的說明，再返回本主題中的步驟。
您尚未在 Elastic Load Balancing 中建立 Classic Load Balancer 或 Application Load Balancer，以註冊替換環境中的執行個體。如需詳細資訊，請參閱[在 Elastic Load Balancing 中為 CodeDeploy Amazon EC2 部署設定負載平衡器](deployment-groups-create-load-balancer.md)。

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 在 **Applications (應用程式)** 頁面上，選擇要建立部署群組的應用程式名稱。

1. 在您的應用程式頁面，從 **Deployment groups (部署群組)** 標籤中，選擇 **Create deployment group (建立部署群組)**。

1. 在 **Deployment group name (部署群組名稱)** 中，輸入描述部署群組的名稱。
**注意**  
如果您想要使用與其他部署群組相同的設定 （包括部署群組名稱、標籤、Amazon EC2 Auto Scaling 群組名稱和部署組態），請在此頁面選擇這些設定。雖然這個新的部署群組和現有的部署群組具有相同的名稱，但 CodeDeploy 會將它們視為單獨的部署群組，因為它們與單獨的應用程式相關聯。

1. 在**服務角色**中，選擇授予 CodeDeploy 存取目標執行個體的服務角色。

1. 在 **Deployment type (部署類型)** 中，選擇 **Blue/green (藍/綠)**。

1. 在**環境組態**中，執行下列動作：
   + 選取要用來為您的替換環境提供執行個體的方法。您有下列選項：
     + **自動複製 Amazon EC2 Auto Scaling 群組**：CodeDeploy 會透過複製您指定的群組來建立 Amazon EC2 Auto Scaling 群組。
     + **手動佈建執行個體**：直到建立部署，您才能為您的替換環境指定執行個體。開始部署之前，您必須建立執行個體。在這個選項中，您要改為指定欲取代的執行個體。
   + 如果您選取**自動複製 Amazon EC2 Auto Scaling 群組**，可選擇選取將**終止關聯新增至 Auto Scaling 群組**，讓 CodeDeploy 在您建立或更新部署群組時，將終止關聯安裝到您的 Auto Scaling 群組。安裝此掛鉤時，CodeDeploy 會執行終止部署。如需詳細資訊，請參閱[在 Auto Scaling 縮減事件期間啟用終止部署](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-behaviors-hook-enable)。

1. 在 **Systems Manager 的代理程式組態**中，指定您要如何在部署群組的執行個體上安裝和更新 CodeDeploy 代理程式。如需 CodeDeploy 代理程式的詳細資訊，請參閱[使用 CodeDeploy 代理程式](https://docs.aws.amazon.com/en_us/codedeploy/latest/userguide/codedeploy-agent.html)。如需 Systems Manager 的詳細資訊，請參閱[什麼是 Systems Manager？](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)

   1. **從不**：略過使用 Systems Manager 設定 CodeDeploy 安裝。執行個體必須安裝代理程式才能在部署中使用，因此只有在您將以其他方式安裝 CodeDeploy 代理程式時，才選擇此選項。

   1. **僅限一次**：Systems Manager 會在部署群組中的每個執行個體上安裝 CodeDeploy 代理程式一次。

   1. **現在和排程更新**：Systems Manager 將與 State Manager 建立關聯，以按照您設定的排程安裝 CodeDeploy 代理程式。有關狀態管理員和關聯的詳細資訊，請參閱[關於狀態管理員](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-about.html)。

1. 根據您在步驟 8 中所做的選擇，執行下列任一作業：
   + 如果您選擇**自動複製 Amazon EC2 Auto Scaling 群組**：在 **Amazon EC2 Auto Scaling 群組**中，選擇或輸入Amazon EC2 Auto Scaling 您要用作替代環境中為執行個體建立的 Amazon EC2 Auto Scaling 群組範本的 Amazon EC2 Auto Scaling 群組名稱。您選擇的 Amazon EC2 Auto Scaling 群組中目前運作狀態良好的執行個體數目會在您的取代環境中建立。
   + 如果您選擇**手動佈建執行個體**：選取 **Amazon EC2 Auto Scaling 群組**、**Amazon EC2 Auto Scaling 執行個體**或兩者，以指定要新增至此部署群組的執行個體。輸入 Amazon EC2 Auto Scaling 標籤值或 Amazon EC2 Auto Scaling 群組名稱，以識別原始環境中的執行個體 （也就是您要取代或正在執行目前應用程式修訂版的執行個體）。

1. 在**負載平衡器**中，選取**啟用負載平衡**，然後從清單中選取您要註冊替代 Amazon EC2 執行個體的 Classic Load Balancer、Application Load Balancer 目標群組和 Network Load Balancer 目標群組。每個替換執行個體都會向*所有*選取的 Classic Load Balancer 和目標群組註冊。您可以選取最多 10 個 Classic Load Balancer 和 10 個目標群組，總共 20 個項目。

   流量會根據您選擇的流量重新路由和**部署組態設定**，從原始執行個體**重新路由**至替代執行個體。

   如需 CodeDeploy 部署負載平衡器的詳細資訊，請參閱 [將 CodeDeploy 與 Elastic Load Balancing 整合](integrations-aws-elastic-load-balancing.md)。
**警告**  
如果您在此部署群組中同時設定 Auto Scaling 群組和 Elastic Load Balancing 負載平衡器，而且想要[將負載平衡器連接至 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)，建議您先完成此附件，*再*從此部署群組建立 CodeDeploy 部署。在建立部署後嘗試完成附件可能會導致所有執行個體意外從負載平衡器取消註冊。

1. 在 **Deployment settings (部署設定)** 中，檢閱重新路由流量至替換環境的預設選項、要用於部署的部署組態，以及部署後處理原始環境中執行個體的方式。

   若您想要變更設定，請繼續下一個步驟。否則，請跳至步驟 14。

1. 若要變更藍/綠部署的部署設定，請選擇下列任何設定。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/deployment-groups-create-blue-green.html)

1. （選用） 在**進階**中，設定您要包含在部署中的選項，例如 Amazon SNS 通知觸發、Amazon CloudWatch 警示、Auto Scaling 選項或自動轉返。

   如需在部署群組中指定進階選項的相關資訊，請參閱[設定部署群組的進階選項](deployment-groups-configure-advanced-options.md)。

1. 選擇 **Create deployment group (建立部署群組)**。

# 建立 Amazon ECS 部署的部署群組 （主控台）
<a name="deployment-groups-create-ecs"></a>

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1.  在 **Applications table (應用程式資料表)** 中，選擇與您想編輯之部署群組相關聯的應用程式名稱。

1.  在應用程式頁面的 **Deployment groups (部署群組)** 上，選擇您想編輯的部署群組名稱。

1. 在您的應用程式頁面，從 **Deployment groups (部署群組)** 標籤中，選擇 **Create deployment group (建立部署群組)**。如需為 Amazon ECS 部署建立部署群組所需的詳細資訊，請參閱 [開始 Amazon ECS 部署之前](deployment-steps-ecs.md#deployment-steps-prerequisites-ecs)。

1. 在 **Deployment group name (部署群組名稱)** 中，輸入描述部署群組的名稱。
**注意**  
如果您想使用用於其他部署群組的相同設定 (包括部署群組名稱和部署組態)，請在本頁面上選擇這些設定。雖然這個新群組和現有群組的名稱可能相同，但 CodeDeploy 會將它們視為單獨的部署群組，因為每個群組都與單獨的應用程式相關聯。

1. 在**服務角色**中，選擇授予 CodeDeploy 存取 Amazon ECS 的服務角色。如需詳細資訊，請參閱[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。

1.  從**負載平衡器名稱**中，選擇為 Amazon ECS 服務提供流量的負載平衡器名稱。

1.  從**生產接聽程式連接埠**中，選擇為 Amazon ECS 服務提供生產流量的接聽程式連接埠和通訊協定。

1.  （選用） 從**測試接聽程式連接埠**中，選擇測試接聽程式的連接埠和通訊協定，以在部署期間將流量提供給 Amazon ECS 服務中的替代任務集。您可以在`AfterAllowTestTraffic`掛鉤期間執行的 AppSpec 檔案中指定一或多個 Lambda 函數。函數可以執行驗證測試。如果驗證測試失敗，則會觸發部署轉返。如果驗證測試成功，則會觸發部署生命週期中的下一個勾點 `BeforeAllowTraffic`。如果未指定測試接聽程式連接埠，則`AfterAllowTestTraffic`掛鉤期間不會發生任何情況。如需詳細資訊，請參閱[Amazon ECS 部署的 AppSpec 'hooks' 區段](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs)。

1. 從 **Target group 1 name (目標群組 1 名稱)** 和 **Target group 2 name (目標群組 2 名稱)** 中，選擇在部署期間用來路由流量的目標群組。CodeDeploy 會將一個目標群組繫結至 Amazon ECS 服務的原始任務集，並將另一個目標群組繫結至其替代任務集。如需詳細資訊，請參閱 [Application Load Balancer 的目標群組](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)。

1.  選擇**立即重新路由流量**或**指定何時重新路由流量**，以判斷何時將流量重新路由至更新的 Amazon ECS 服務。

    如果您選擇**立即重新路由流量**，則部署會在佈建替代任務集之後自動重新路由流量。

    如果您選擇**指定何時重新路由流量**，請選擇成功佈建替代任務集後要等待的天數、小時數和分鐘數。在此等待期間，會在 AppSpec 檔案中指定的 Lambda 函數中執行驗證測試。如果等待時間在流量重新路由之前過期，則部署狀態會變更為 `Stopped`。

1.  對於**原始修訂終止**，請選擇成功部署後在 Amazon ECS 服務中原始任務集終止之前要等待的天數、小時數和分鐘數。

1. （選用） 在**進階**中，設定您要包含在部署中的任何選項，例如 Amazon SNS 通知觸發、Amazon CloudWatch 警示或自動轉返。

   如需詳細資訊，請參閱[設定部署群組的進階選項](deployment-groups-configure-advanced-options.md)。

# 在 Elastic Load Balancing 中為 CodeDeploy Amazon EC2 部署設定負載平衡器
<a name="deployment-groups-create-load-balancer"></a>

在您執行任何藍/綠部署，或您想要在部署群組中指定選用負載平衡器的就地部署之前，您必須在 Elastic Load Balancing 中建立至少一個 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer。針對藍色/綠色部署，您會使用該負載平衡器註冊執行個體，組成您的取代環境。您原始環境中的執行個體可選擇性地向此相同負載平衡器註冊。對於就地部署，負載平衡器用於取消註冊 CodeDeploy 正在處理的執行個體，並在工作完成時重新註冊它們。

CodeDeploy 支援藍/綠部署並就地部署到 Amazon EC2 執行個體，位於鬆散負載平衡器後方。例如，假設您有 200 個 Amazon EC2 執行個體，其中 100 個向 2 個 Classic Load Balancer 註冊，另外 100 個向 2 個 Application Load Balancer 中的 4 個目標群組註冊。在此案例中，CodeDeploy 可讓您對全部 200 個執行個體執行藍/綠和就地部署，即使它們分散在 2 個 Classic Load Balancer、2 個 Application Load Balancer 和 4 個目標群組。

CodeDeploy 支援最多 10 個 Classic Load Balancer 和 10 個目標群組，總共 20 個項目。

若要設定一或多個 Classic Load Balancer，請遵循 [Classic Load Balancer 使用者指南中的教學課程：建立](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html) *Classic Load Balancer*。注意下列事項：
+ 在**步驟 2：定義負載平衡器**中，在**於內部建立 LB** 內，選擇您在建立執行個體時選取的相同 VPC。
+ 在**步驟 5：向您的負載平衡器註冊 EC2 執行個體**中，選取目前位於您部署群組 (就地部署) 中的執行個體，或是您已指定位於原始環境 (藍色/綠色部署) 中的執行個體。
+ 在**步驟 7：建立並確認您的負載平衡器**中，記下您負載平衡器的 DNS 地址。

  例如，若您將您的負載平衡器命名為 `my-load-balancer`，您的 DNS 地址會以類似下列格式出現：`my-load-balancer-1234567890.us-east-2.elb.amazonaws.com`。

若要設定一或多個 Application Load Balancer，請遵循下列其中一個主題中的指示：
+ [建立 Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)
+ [教學課程：使用 建立 Application Load Balancer AWS CLI](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/tutorial-application-load-balancer-cli.html)

若要設定一或多個 Network Load Balancer，請遵循下列其中一個主題中的指示：
+  [建立 Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) 
+  [教學課程：使用 建立 Network Load Balancer AWS CLI](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancer-cli.html) 

# 設定 CodeDeploy Amazon ECS 部署的負載平衡器、目標群組和接聽程式
<a name="deployment-groups-create-load-balancer-for-ecs"></a>

 在使用 Amazon ECS 運算平台執行部署之前，您必須建立 Application Load Balancer 或 Network Load Balancer、兩個目標群組，以及一個或兩個接聽程式。本主題說明如何建立 Application Load Balancer。如需詳細資訊，請參閱[開始 Amazon ECS 部署之前](deployment-steps-ecs.md#deployment-steps-prerequisites-ecs)。

 其中一個目標群組會將流量導向至 Amazon ECS 應用程式的原始任務集。另一個目標群組會將流量導向其替換任務集。在部署期間，CodeDeploy 會建立替代任務集，並將流量從原始任務集重新路由至新的任務集。CodeDeploy 會決定用於每個任務集的目標群組。

 接聽程式供負載平衡器用來將流量導向到您的目標群組。一個生產接聽程式為必要項目。您可以指定選用的測試接聽程式，負責在您執行驗證測試時引導流量到您的替換任務。

 負載平衡器必須使用 VPC 搭配不同可用區域中的兩個子網路。下列步驟說明如何確認您的預設 VPC、建立 Amazon EC2 Application Load Balancer，然後為您的負載平衡器建立兩個目標群組。如需詳細資訊，請參閱[網路負載平衡器的目標群組](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)。

## 驗證您的預設 VPC、公有子網路和安全群組
<a name="deployment-groups-create-load-balancer-for-ecs-verify-vpc"></a>

 本主題說明如何建立 Amazon EC2 Application Load Balancer、兩個目標群組，以及可在 Amazon ECS 刪除期間使用的兩個連接埠。其中一個連接埠是選用的，且只有在部署期間將流量導向測試連接埠進行驗證測試時才需要。

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)：// 開啟 Amazon VPC 主控台。

1. 驗證要使用的預設 VPC。在導覽窗格中，選擇 **Your VPCs** (您的 VPC)。請注意，哪個 VPC 在 **Default VPC (預設 VPC)** 欄中顯示 **Yes (是)**。這是您的預設 VPC。其中包含您使用的預設子網路。

1. 選擇 **Subnets (子網路)**。記下在 **Default subnet (預設子網路)** 欄中顯示 **Yes (是)** 的兩個子網路的子網路 ID。當您建立負載平衡器時會使用這些 ID。

1. 選擇每個子網路，然後選擇 **Description (描述)** 標籤。驗證您想要使用的子網路是否位於不同的可用區域中。

1. 選擇子網路，然後選擇 **Route Table (路由表)** 標籤。若要驗證您想要使用的每個子網路是否為公有子網路，請確認路由表中有一列具有網際網路閘道的連結。

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 從導覽窗格中，選擇 **Security Groups (安全群組)**。

1. 確認您想要使用的安全群組可用，並記下其群組 ID (例如，**sg-abcd1234**)。您在建立負載平衡器時會使用此項目。

## 建立 Amazon EC2 Application Load Balancer、兩個目標群組和接聽程式 （主控台）
<a name="deployment-groups-create-load-balancer-for-ecs-console"></a>

若要使用 Amazon EC2 主控台建立 Amazon EC2 Application Load Balancer：

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Load Balancers (負載平衡器)**。

1. 選擇 **Create Load Balancer (建立負載平衡器)**。

1. 選擇 **Application Load Balancer (應用程式負載平衡器)**，然後選擇 **Create (建立)**。

1. 在 **Name (名稱)** 中，輸入負載平衡器的名稱。

1. 在 **Scheme (結構描述)** 中，選擇 **internet-facing (面向網際網路)**。

1. 在 **IP address type (IP 地址)** 中，選擇 **ipv4**。

1. (選用) 為您的負載平衡器設定第二個接聽程式連接埠。您可以使用轉發至此連接埠的測試流量來執行部署驗證測試。

   1. 在 **Load Balancer Protocol (負載平衡器通訊協定)** 下，選擇 **Add listener (新增接聽程式)**。

   1. 在第二個接聽程式的 **Load Balancer Protocol (負載平衡器通訊協定)** 下，選擇 **HTTP**。

   1. 在 **Load Balancer Port (負載平衡器連接埠)** 下，輸入 **8080**。

1. 在 **Availability Zones (可用區域)** 下的 **VPC** 中，選擇預設 VPC，然後選取您要使用的兩個預設子網路。

1. 選擇 **Next: Configure Security Settings (下一步：設定安全設定)**。

1. 選擇 **Next: Configure Security Groups (下一步：設定安全群組)**。

1. 選擇 **Select an existing security group (選取現有的安全群組)**，選擇預設安全群組，然後記下其 ID。

1. 選擇 **Next: Configure Routing (下一步：設定路由)**。

1. 在 **Target group (目標群組)** 中，選擇 **New target group (新增目標群組)**，然後設定您的第一個目標群組：

   1. 在 **Name (名稱)** 中，輸入目標群組名稱 (例如，**target-group-1**)。

   1. 在 **Target type (目標類型)** 中，選擇 **IP**。

   1. 在 **Protocol (通訊協定)** 中，選擇 **HTTP**。在 **Port (連接埠)** 中，輸入 **80**。

   1. 選擇 **Next: Register Targets (下一步：註冊目標)**。

1. 選擇 **Next: Review (下一步：檢視)**，然後選擇 **Create (建立)**。

**為您的負載平衡器建立第二個目標群組**

1. 佈建負載平衡器之後，請開啟 Amazon EC2 主控台。在導覽窗格中，選擇 **Target Groups (目標群組)**。

1. 選擇 **Create target group (建立目標群組)**。

1. 在 **Name (名稱)** 中，輸入目標群組名稱 (例如，**target-group-2**)。

1. 在 **Target type (目標類型)** 中，選擇 **IP**。

1. 在 **Protocol (通訊協定)** 中，選擇 **HTTP**。在 **Port (連接埠)** 中，輸入 **80**。

1. 在 **VPC** 中，選擇預設 VPC。

1. 選擇**建立**。
**注意**  
您必須為負載平衡器建立兩個目標群組，才能執行 Amazon ECS 部署。建立 Amazon ECS 服務時，您可以使用其中一個目標群組的 ARN。如需詳細資訊，請參閱《[Amazon ECS 使用者指南》中的步驟 4：建立 Amazon ECS 服務](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-blue-green.html#create-blue-green-taskdef)。 **

## 建立 Amazon EC2 Application Load Balancer、兩個目標群組和接聽程式 (CLI)
<a name="deployment-groups-create-load-balancer-for-ecs-cli"></a>

若要使用 建立 Application Load Balancer AWS CLI：

1. 使用 [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 命令來建立 Application Load Balancer。指定兩個不在相同可用區域中的子網路和一個安全群組。

   ```
   aws elbv2 create-load-balancer --name bluegreen-alb \
   --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1
   ```

   輸出包含負載平衡器的 Amazon Resource Name (ARN)，格式如下：

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642
   ```

1. 使用 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 命令來建立您的第一個目標群組。CodeDeploy 將此目標群組的流量路由到您服務中的原始或替代任務集。

   ```
   aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 \
   --target-type ip --vpc-id vpc-abcd1234 --region us-east-1
   ```

   輸出包含第一個目標群組的 ARN，格式如下：

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4
   ```

1. 使用 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 命令來建立第二個目標群組。CodeDeploy 會將目標群組的流量路由到第一個目標群組未提供的任務集。例如，如果您的第一個目標群組將流量路由到原始任務集，此目標群組會將流量路由到替換任務集。

   ```
   aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 \
   --target-type ip --vpc-id vpc-abcd1234 --region us-east-1
   ```

   輸出包含第二個目標群組的 ARN，格式如下：

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4
   ```

1. 使用 [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 命令，以預設規則建立接聽程式，將生產流量轉送至 8080 埠。

   ```
   aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \
   --protocol HTTP --port 80 \
   --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4 --region us-east-1
   ```

   輸出包含接聽程式的 ARN，格式如下：

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
   ```

1. (選用) 使用 [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 命令，以預設規則建立第二個接聽程式，將測試流量轉送至 8080 埠。您可以使用轉發至此連接埠的測試流量來執行部署驗證測試。

   ```
   aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \
   --protocol HTTP --port 8080 \
   --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4 --region us-east-1
   ```

   輸出包含接聽程式的 ARN，格式如下：

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
   ```

# 建立部署群組 (CLI)
<a name="deployment-groups-create-cli"></a>

若要使用 AWS CLI 建立部署群組，請呼叫 [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html) 命令，指定：
+ 應用程式名稱。若要檢視應用程式名稱清單，請呼叫 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。
+ 部署群組的名稱。系統會針對指定的應用程式建立具有此名稱的部署群組。此外，部署群組僅能與一個應用程式建立關聯。
+ 有關識別要包含在部署群組中的執行個體的標籤、標籤群組或 Amazon EC2 Auto Scaling 群組名稱的資訊。
+ 服務角色的 Amazon Resource Name (ARN) 識別符，允許 CodeDeploy 在與其他 AWS 服務互動時代表您 AWS 的帳戶採取行動。如需取得服務角色的 ARN，請參閱[取得服務角色 ARN (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli)。如需服務角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[角色術語和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html#roles-about-termsandconcepts)。
+ 要與部署群組建立關聯的部署類型 (就地或藍/綠) 的相關資訊。
+ (選用) 現有部署組態的名稱。若要檢視部署組態清單，請參閱[使用 CodeDeploy 檢視部署組態詳細資訊](deployment-configurations-view-details.md)。如果未指定，CodeDeploy 會使用預設部署組態。
+ （選用） 建立觸發程序的命令，會將有關部署和執行個體事件的通知推送給訂閱 Amazon Simple Notification Service 主題的人員。如需詳細資訊，請參閱[使用 Amazon SNS 事件通知監控部署](monitoring-sns-event-notifications.md)。
+ （選用） 在警示中指定的指標低於或超過定義的閾值時，將現有 CloudWatch 警示新增至已啟用之部署群組的命令。
+ （選用） 部署的命令，可在部署失敗或啟用 CloudWatch 警示時轉返至上次已知的良好修訂。
+ （選用） 部署在 Auto Scaling 縮減事件期間產生生命週期事件掛鉤的命令。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling 如何與 CodeDeploy 搭配使用](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-behaviors)。
+ 針對就地部署：
  + （選用） Elastic Load Balancing 中管理執行個體流量的 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer 的名稱。
+ 針對藍色/綠色部署：
  + 藍色/綠色部署程序組態：
    + 取代環境中新執行個體的佈建方式。
    + 是否要立即將流量重新路由至取代環境，或是在指定期間內等待手動重新路由流量。
    + 是否要終止原始環境中的執行個體。
  + Elastic Load Balancing 中 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer 的名稱，用於在替代環境中註冊的執行個體。
**警告**  
如果您在部署群組中同時設定 Auto Scaling 群組和 Elastic Load Balancing 負載平衡器，而且想要[將負載平衡器連接至 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)，建議您先完成此附件，*再*從此部署群組建立 CodeDeploy 部署。在建立部署後嘗試完成附件可能會導致所有執行個體意外從負載平衡器取消註冊。

# 使用 CodeDeploy 檢視部署群組詳細資訊
<a name="deployment-groups-view-details"></a>

您可以使用 CodeDeploy 主控台 AWS CLI、 或 CodeDeploy APIs 來檢視與應用程式關聯之所有部署群組的詳細資訊。

**Topics**
+ [

## 檢視部署群組詳細資訊 （主控台）
](#deployment-groups-view-details-console)
+ [

## 檢視部署群組詳細資訊 (CLI)
](#deployment-groups-view-details-cli)

## 檢視部署群組詳細資訊 （主控台）
<a name="deployment-groups-view-details-console"></a>

若要使用 CodeDeploy 主控台檢視部署群組詳細資訊：

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 在 **Applications (應用程式)** 頁面上，選擇與部署群組相關聯的應用程式名稱。
**注意**  
如果未顯示任何項目，請確定已選取正確的區域。在導覽列的區域選擇器中，選擇 中[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)中列出的其中一個區域*AWS 一般參考*。CodeDeploy 僅支援這些區域。

1. 若要檢視個別部署群組的詳細資訊，請在 **Deployment groups (部署群組)** 標籤中，選擇部署群組的名稱。

## 檢視部署群組詳細資訊 (CLI)
<a name="deployment-groups-view-details-cli"></a>

若要使用 AWS CLI 來檢視部署群組詳細資訊，請呼叫 `get-deployment-group`命令或 `list-deployment-groups`命令。

若要檢視單一部署群組的詳細資訊，請呼叫 [get-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-group.html) 命令，指定：
+ 與部署群組建立關聯的應用程式名稱。若要取得應用程式名稱，請呼叫 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。
+ 部署群組名稱。若要取得部署群組名稱，請呼叫 [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html) 命令。

若要檢視部署群組名稱清單，請呼叫 [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html) 命令，指定與部署群組相關聯的應用程式名稱。若要取得應用程式名稱，請呼叫 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。

# 使用 CodeDeploy 變更部署群組設定
<a name="deployment-groups-edit"></a>

您可以使用 CodeDeploy 主控台 AWS CLI、 或 CodeDeploy APIs 來變更部署群組的設定。

**警告**  
若您希望部署群組使用尚未建立的自訂部署群組，請不要使用這些步驟。請改為遵循[使用 CodeDeploy 建立部署組態](deployment-configurations-create.md)中的說明，再返回本主題。若您希望部署群組使用尚未建立的不同服務角色，則請不要使用這些步驟。服務角色至少必須信任 CodeDeploy 與 中所述的許可[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。若要使用正確的許可建立及設定服務角色，請遵循[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)中的說明，再返回本主題。

**Topics**
+ [

## 變更部署群組設定 （主控台）
](#deployment-groups-edit-console)
+ [

## 變更部署群組設定 (CLI)
](#deployment-groups-edit-cli)

## 變更部署群組設定 （主控台）
<a name="deployment-groups-edit-console"></a>

若要使用 CodeDeploy 主控台變更部署群組設定：

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 在應用程式清單中，選擇與您欲變更部署群組建立關聯的應用程式名稱。
**注意**  
如果未顯示任何項目，請確定已選取正確的區域。在導覽列的區域選擇器中，選擇 中[區域和端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)中列出的其中一個區域*AWS 一般參考*。CodeDeploy 僅支援這些區域。

1. 選擇 **Deployment groups (部署群組)** 標籤，然後選擇您欲變更的部署群組名稱。

1. 在 **Deployment group (部署群組)** 頁面上，選擇 **Edit (編輯)**。

1. 請視需要編輯部署群組選項。

   如需部署群組元件的相關資訊，請參閱[使用 CodeDeploy 建立部署群組](deployment-groups-create.md)。

1. 選擇**儲存變更**。

   

## 變更部署群組設定 (CLI)
<a name="deployment-groups-edit-cli"></a>

若要使用 AWS CLI 變更部署群組設定，請呼叫 [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html) 命令，指定：
+ 對於 EC2/現場部署和 AWS Lambda 部署：
  + 應用程式名稱。若要檢視應用程式名稱清單，請呼叫 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。
  + 目前的部署群組名稱。若要檢視部署群組名稱的清單，請呼叫 [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html) 命令。
  + (選擇性) 不同的部署群組名稱。
  + （選用） 對應至服務角色的不同 Amazon Resource Name (ARN)，可讓 CodeDeploy 在與其他 AWS 服務互動時代表 AWS 您的帳戶採取行動。如需取得服務角色的 ARN，請參閱[取得服務角色 ARN (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli)。如需服務角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[角色術語和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/cross-acct-access.html)。
  + (選擇性) 部署組態的名稱。若要檢視部署組態清單，請參閱[使用 CodeDeploy 檢視部署組態詳細資訊](deployment-configurations-view-details.md)。（如果未指定，CodeDeploy 會使用預設部署組態。)
  + （選用） 在警示中指定的指標低於或超過定義的閾值時，將一或多個現有 CloudWatch 警示新增至已啟用的部署群組的命令。
  + （選用） 部署的命令，可在部署失敗或啟用 CloudWatch 警示時轉返至上次已知的良好修訂。
  + （選用） 部署在 Auto Scaling 縮減事件期間產生生命週期事件掛鉤的命令。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling 如何與 CodeDeploy 搭配使用](integrations-aws-auto-scaling.md#integrations-aws-auto-scaling-behaviors)。
  + （選用） 建立或更新發佈至 Amazon Simple Notification Service 中主題的觸發條件的命令，讓該主題的訂閱者接收有關此部署群組中部署和執行個體事件的通知。如需相關資訊，請參閱[使用 Amazon SNS 事件通知監控部署](monitoring-sns-event-notifications.md)。
+ 僅適用於 EC2/現場部署：
  + (選擇性) 取代標籤或標籤群組，用來唯一識別要包含在部署群組中的執行個體。
  + （選用） 要新增至部署群組的替代 Amazon EC2 Auto Scaling 群組名稱。
+ 僅適用於 Amazon ECS 部署：
  +  要部署的 Amazon ECS 服務。
  +  負載平衡器資訊，包括 Application Load Balancer 或 Network Load Balancer、Amazon ECS 部署所需的目標群組，以及生產和選用測試接聽程式資訊。

# 設定部署群組的進階選項
<a name="deployment-groups-configure-advanced-options"></a>

當您建立或更新部署群組時，您可以設定數個選項，針對該部署群組的部署提供更多控制及監督。

在您使用下列主題中的部署群組時，使用此頁面上的資訊協助您設定進階選項：
+ [使用 CodeDeploy 建立應用程式](applications-create.md)
+ [使用 CodeDeploy 建立部署群組](deployment-groups-create.md)
+ [使用 CodeDeploy 變更部署群組設定](deployment-groups-edit.md)

**Amazon SNS 通知觸發**條件：您可以將觸發條件新增至 CodeDeploy 部署群組，以接收與該部署群組中部署相關的事件通知。這些通知會傳送給訂閱您已作為觸發動作一部分的 Amazon SNS 主題的收件人。

您必須已設定此觸發程序指向的 Amazon SNS 主題，且 CodeDeploy 必須具有從此部署群組發佈至主題的許可。若您尚未完成這些設定步驟，您可以稍後再將觸發新增到部署群組。

若您想要立即建立觸發，以接收此應用程式部署群組中部署事件的通知，請選擇**建立觸發**。

如果您的部署是 Amazon EC2 執行個體，您可以為 建立通知並接收有關執行個體的通知。

如需詳細資訊，請參閱[使用 Amazon SNS 事件通知監控部署](monitoring-sns-event-notifications.md)。

**Amazon CloudWatch 警示**：您可以建立 CloudWatch 警示，在您指定的期間內監看單一指標，並根據相對於指定閾值的指標值，在多個期間內執行一或多個動作。對於 Amazon EC2 部署，您可以為您在 CodeDeploy 操作中使用的執行個體或 Amazon EC2 Auto Scaling 群組建立警示。對於 AWS Lambda 和 Amazon ECS 部署，您可以為 Lambda 函數中的錯誤建立警示。

您可以設定部署，在 Amazon CloudWatch 警示偵測到指標低於或超過定義的閾值時停止。

您必須先在 CloudWatch 中建立警示，才能將其新增至部署群組。

1. 若要將警示監控新增至部署群組，請在 **Alarms (警示)** 中選擇 **Add alarm (新增警示)**。

1. 輸入您已設定用來監控此部署的 CloudWatch 警示名稱。

   您必須完全依照在 CloudWatch 中建立的警示輸入 CloudWatch 警示。若要檢視警示清單，請在 開啟 CloudWatch 主控台[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)，然後選擇 **ALARM**。

其他選項：
+ 若您想要繼續部署，而無需考慮您新增的警示，請選擇 **Ignore alarm configuration (忽略警示組態)**。

  這個選擇在您希望暫時停用部署群組的警示監控，又不需要稍後再次新增相同的警示時非常有用。
+ （選用） 如果您希望部署在 CodeDeploy 無法從 Amazon CloudWatch 擷取警示狀態的情況下繼續進行，請選擇**繼續部署，即使警示狀態無法使用**。
**注意**  
此選項對應至 CodeDeploy API **ignorePollAlarmFailure** 中 [AlarmConfiguration](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AlarmConfiguration.html) 物件中的 。

如需詳細資訊，請參閱[在 CodeDeploy 中使用 CloudWatch 警示監控部署](monitoring-create-alarms.md)。



**自動轉返**：您可以設定部署群組，或設定部署在部署失敗或到達您指定的監控閾值時自動轉返。在此案例下，便會部署最後一個已知良好的應用程式修訂版本。您可以在使用主控台建立應用程式、建立部署群組或更新部署群組時設定部署群組的選擇性設定。當您建立新的部署時，您也可以選擇覆寫先前為部署群組指定的自動轉返組態。
+ 您可以在發生問題時，透過選擇其中一個或所有下列項目，讓部署轉返至最近一個已知良好的修訂：
  + **部署失敗時轉返**。CodeDeploy 會將最後一個已知的良好修訂重新部署為新的部署。
  + **Roll back when alarm thresholds are met (在到達警示閾值時轉返)**。如果您在上一個步驟中將警示新增至此應用程式，CodeDeploy 會在一或多個指定的警示啟用時重新部署最後一個已知的良好修訂。
**注意**  
若要暫時忽略轉返組態，請選擇 **Disable rollbacks (停用轉返)**。這個選擇在您希望暫時停用自動轉返，又不想要稍後再次設定相同組態時非常有用。

  如需詳細資訊，請參閱[使用 CodeDeploy 重新部署以及復原部署](deployments-rollback-and-redeploy.md)。

**自動更新過時的執行個體**：在某些情況下，CodeDeploy 可能會將應用程式的過時修訂部署到您的 Amazon EC2 執行個體。例如，如果您的 EC2 執行個體在 CodeDeploy 部署進行時在 Auto Scaling 群組 (ASG) 中啟動，這些執行個體會收到應用程式的較舊版本，而不是最新的版本。為了讓這些執行個體保持最新狀態，CodeDeploy 會自動啟動後續部署 （在第一個執行個體之後立即啟動），以更新任何過期的執行個體。如果您想要變更此預設行為，以便將過期的 EC2 執行個體保留在較舊的修訂版中，您可以透過 CodeDeploy API 或 AWS Command Line Interface (CLI) 執行此操作。

若要透過 API 設定過時執行個體的自動更新，請在 `UpdateDeploymentGroup`或 `CreateDeploymentGroup`動作中包含 `outdatedInstancesStrategy` 請求參數。如需詳細資訊，請參閱 *AWS CodeDeploy API 參考*。

若要透過 設定自動更新 AWS CLI，請使用下列其中一個命令：

`aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE`

或者...

`aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE`

...其中*引數*會取代為部署所需的引數，而 *UPDATE\$1IGNORE* 會取代為`UPDATE`啟用自動更新或`IGNORE`停用這些引數。

範例：

`aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE`

如需這些 AWS CLI 命令的詳細資訊，請參閱 *AWS CLI 命令參考*。

# 使用 CodeDeploy 刪除部署群組
<a name="deployment-groups-delete"></a>

您可以使用 CodeDeploy 主控台 AWS CLI、 或 CodeDeploy APIs來刪除與 AWS 您的帳戶相關聯的部署群組。

**警告**  
如果您刪除部署群組，與該部署群組相關聯的所有詳細資訊也會從 CodeDeploy 中刪除。部署群組中使用的執行個體則不會變更。這個操作無法復原。

**Topics**
+ [

## 刪除部署群組 （主控台）
](#deployment-groups-delete-console)
+ [

## 刪除部署群組 (CLI)
](#deployment-groups-delete-cli)

## 刪除部署群組 （主控台）
<a name="deployment-groups-delete-console"></a>

若要使用 CodeDeploy 主控台刪除部署群組：

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

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 在應用程式清單中，選擇與部署群組相關聯的應用程式名稱。

1. 在 **Application details (應用程式詳細資訊)** 頁面上，於 **Deployment groups (部署群組)** 標籤內，選擇您希望刪除的部署群組名稱。

1. 在 **Deployment details (部署詳細資訊)** 頁面上，選擇 **Delete (刪除)**。

1. 當系統出現提示時，請輸入部署群組的名稱，以確認要執行刪除動作，接著選擇 **Delete (刪除)**。

## 刪除部署群組 (CLI)
<a name="deployment-groups-delete-cli"></a>

若要使用 AWS CLI 刪除部署群組，請呼叫 [delete-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/delete-deployment-group.html) 命令，指定：
+ 與部署群組建立關聯的應用程式名稱。若要檢視應用程式名稱清單，請呼叫 [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html) 命令。
+ 與應用程式建立關聯的部署群組名稱。若要檢視部署群組名稱的清單，請呼叫 [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html) 命令。