

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为部署创建部署组（控制台） EC2/On-Premises blue/green
<a name="deployment-groups-create-blue-green"></a>

要使用 CodeDeploy 控制台为部署创建部署组，请执行以下操作： blue/green

**警告**  
以下情况下请勿按照这些步骤操作：  
在 blue/green 部署过程中，您没有要替换的安装了 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 中创建经典负载均衡器或应用程序负载均衡器来注册替换环境中的实例。有关更多信息，请参阅 [在 Elastic Load Balancing 中为 CodeDeploy Amazon EC2 部署设置负载均衡器](deployment-groups-create-load-balancer.md)。

1. 登录 Amazon Web Services 管理控制台 并打开 CodeDeploy 控制台，网址为[https://console.aws.amazon.com/codedeploy](https://console.amazonaws.cn/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. 在 **Service role (服务角色)** 中，选择向 CodeDeploy 授予访问您的目标实例的权限的服务角色。

1. 在**部署类型**中，选择**Blue/green**。

1. 在**环境配置**中，执行以下操作：
   + 选择用于为您的替换环境提供实例的方法。您有以下选项：
     + **自动复制 Amazon EC2 Auto Scaling 群组**：通过复制您指定的群组来 CodeDeploy创建一个 Amazon EC2 Auto Scaling 群组。
     + **Manually provision instances**：在创建部署前，您不会为替换环境指定实例。您必须在启动部署前创建实例。您应于此处指定要替换的实例。
   + 如果您选择了 “**自动复制 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. 在 S **ystems Manager 的 CodeDeploy 代理配置**中，指定您希望如何在部署组中的实例上安装和更新代理。有关 CodeDeploy 代理的更多信息，请参阅[使用代 CodeDeploy 理](https://docs.amazonaws.cn/en_us/codedeploy/latest/userguide/codedeploy-agent.html)。有关 Systems Manager 的详细信息，请参阅[什么是 Systems Manager？](https://docs.amazonaws.cn/systems-manager/latest/userguide/what-is-systems-manager.html)

   1. **从不**：跳过使用 Systems Manager 配置 CodeDeploy 安装。实例必须安装代理才能在部署中使用，因此只有在以其他方式安装 CodeDeploy 代理时才应选择此选项。

   1. **仅限一次**：Systems Manager 将在部署组中的每个实例上安装一次 CodeDeploy 代理。

   1. **立即安排更新**：Systems Manager 将创建与状态管理器的关联，该关联将按照您配置的计划安装 CodeDeploy 代理。有关状态管理器和关联的详细信息，请参阅[关于状态管理器](https://docs.amazonaws.cn/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 组名称以标识原始环境中的实例（即，您要替换的实例或正在运行当前应用程序修订的实例）。

1. 在**负载均衡器**中，选择**启用负载均衡**，然后从列表中选择要注册替换 Amazon EC2 实例的经典负载均衡器、应用程序负载均衡器目标组和网络负载均衡器目标组。每个替换实例都将在*所有* 选定的经典负载均衡器和目标组中注册。您最多可以选择 10 个经典负载均衡器和 10 个目标组，总共可以选择 20 个项目。

   根据您选择的**流量重新路由**和**部署配置**设置，流量将从原始实例重新路由到替换实例。

   有关用于 CodeDeploy 部署的负载均衡器的更多信息，请参阅[CodeDeploy 与 Elastic Load Balancing](integrations-aws-elastic-load-balancing.md)。
**警告**  
如果您要在此部署组中同时配置 Auto Scaling 组和 Elastic Load Balancing 负载均衡器，并且想要将[负载均衡器连接到 Auto Scaling 组](https://docs.amazonaws.cn/autoscaling/ec2/userguide/attach-load-balancer-asg.html)，我们建议您在通过此部署组创建 CodeDeploy 部署*之前*完成此附件。在创建部署后尝试完成连接可能会导致所有实例意外从负载均衡器取消注册。

1. 在 **Deployment settings** 中，查看用于将流量重新路由到替换环境的默认选项、要用于部署的部署配置以及在部署后处理原始环境中的实例的方式。

   如果您要更改设置，请继续执行下一步。否则，请跳至步骤 14。

1. 要更改部署的 blue/green 部署设置，请选择以下任一设置。


<table>
<thead>
  <tr><th>设置</th><th>选项</th></tr>
</thead>
<tbody>
  <tr><td><b>Traffic rerouting</b></td><td> <ul><li> <b>立即重新路由流量</b>：一旦预置替换环境中的实例并在这些实例上安装最新应用程序修订，这些实例将自动注册到指定的负载均衡器和目标组，从而使流量重新路由到它们。原始环境中的实例随后将取消注册。 </li><li> <b>我将选择是否重新路由流量</b>：替换环境中的实例不会注册到指定的负载均衡器和目标组，除非您手动重新路由流量。如果在没有重新路由流量的情况下经过了指定的等待时间，部署状态将更改为“Stopped”。 </li></ul> </td></tr>
  <tr><td><b>部署配置</b></td><td>选择替换环境中的实例向负载均衡器和目标组注册的速度，如一次一个或一次全部。 将流量成功路由到替换环境后，无论选择了哪个部署配置，原始环境中的实例都将一次全部取消注册。 <br />有关更多信息，请参阅 <a href="deployment-configurations.md">在中使用部署配置 CodeDeploy</a>。</td></tr>
  <tr><td><b>Original instances</b></td><td> <ul><li> <b>终止部署组中的原始实例</b>：将流量重新路由到替换环境后，已从负载均衡器和目标组取消注册的实例将在您指定的一段等待时间后终止。注意以下几点： <ul><li> 如果您的 Auto Scaling 组启用了删除保护（<code>prevent-force-deletion</code>或<code>prevent-all-deletion</code>），则 CodeDeploy blue/green 部署将在原始（蓝色）Auto Scaling 组上禁用此保护，然后在部署清理期间将其删除。替换（绿色）Auto Scaling 组将保持与原始组相同的删除保护设置。 </li></ul> </li><li> <b>继续运行部署组中的原始实例</b>：将流量重新路由到替换环境后，已从负载均衡器和目标组取消注册的实例将继续运行。 </li></ul> </td></tr>
</tbody>
</table>


1. （可选）在 “**高级**” 中，配置要包含在部署中的选项，例如 Amazon SNS 通知触发器、Amazon CloudWatch 警报、Auto Scaling 选项或自动回滚。

   有关在部署组中指定高级选项的信息，请参阅[为部署组配置高级选项](deployment-groups-configure-advanced-options.md)。

1. 选择 **Create deployment group（创建部署组）**。