为蓝/绿部署类型配置负载均衡器 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为蓝/绿部署类型配置负载均衡器

要配置使用蓝/绿部署类型的服务来使用负载均衡器,必须使用 Application Load Balancer 或 Network Load Balancer。

选择负载均衡器类型

  1. 如果您尚未这样做,请按照 步骤 1:配置基本服务参数 中的过程创建服务。

  2. 对于负载均衡器类型,选择要用于您的服务的负载均衡器类型:

    Application Load Balancer

    允许容器使用动态主机端口映射。通过主机端口映射,您可以在单个容器实例上使用同一端口放置多个任务。在单个负载均衡器上,多个服务可以通过基于规则的路由和路径使用同一个侦听器端口。

    Network Load Balancer

    允许容器使用动态主机端口映射。通过主机端口映射,您可以在单个容器实例上使用同一端口放置多个任务。在单个负载均衡器上,多个服务可以通过基于规则的路由使用同一个侦听器端口。

    我们建议您为 Amazon ECS 服务使用 Application Load Balancer。这样,您就可以使用 Application Load Balancer 的所有功能。

  3. 对于 Load balancer name (负载均衡器名称),选择要用于您的服务的负载均衡器的名称。只有与您之前选择的负载均衡器类型相对应的负载均衡器在此处可见。

  4. 下一个步骤因服务的负载均衡器类型而异。如果您选择 Application Load Balancer,请按照 配置 Application Load Balancer。 中的步骤操作。如果您选择 Network Load Balancer,请按照 配置 Network Load Balancer 中的步骤操作。

为蓝/绿部署类型配置 Application Load Balancer

  1. 对于 Container to load balance(用于负载均衡的容器),从任务定义中选择负载均衡器要向其分配流量的容器和端口组合,然后选择 Add to load balancer(添加到负载均衡器)。

  2. 对于 Production listener port (生产侦听器端口),选择您在创建 Application Load Balancer中创建的侦听器的侦听器端口和协议(如果适用);或者选择 create new (新建) 以创建新侦听器,然后输入端口号并为 Production listener protocol (生产侦听器协议) 选择端口协议。

  3. (可选)如果您希望在将流量路由到新任务集之前在负载均衡器上配置侦听器端口和协议来测试服务更新,请选择 Test listener(测试侦听器)。完成以下步骤:

    1. 对于 Test listener port (测试侦听器端口),选择要通过其测试流量的侦听器的侦听器端口和协议;或者选择 create new (新建) 以创建新测试侦听器,然后输入端口号并在 Test listener protocol (测试侦听器协议) 中选择端口协议。

  4. 对于蓝/绿部署,需要两个目标组。每个目标组绑定到部署中的一个单独任务集。完成以下步骤:

    1. 对于 Target group 1 name (目标组 1 名称),选择您在创建 Application Load Balancer中创建的目标组(如果适用),或选择 create new (新建) 以创建新目标组。

      重要

      如果服务的任务定义使用 awsvpc 网络模式(为 Fargate 启动类型所需),则目标组必须使用 ip 而不是 instance 作为目标类型。这是因为使用 awsvpc 网络模式的任务与弹性网络接口而不是 Amazon EC2 实例关联。

    2. (可选)如果选择创建新目标组,请按照下面所示填写以下字段:

      • 对于 Target group name,输入您的目标组的名称。

      • 对于 Target group protocol,输入用于将流量路由至您的任务的协议。

      • 对于 Path pattern,如果您的侦听器没有任何现有规则,则将使用默认路径模式 (/)。如果您的侦听器已经有默认规则,您必须输入与要发送到您的服务目标组的流量匹配的路径模式。例如,如果您的服务是名为 web-app 的 Web 应用程序,并且您希望与 http://my-elb-url/web-app 匹配的流量路由到您的服务,您应输入 /web-app* 作为您的路径模式。有关更多信息,请参阅适用于 Application Load Balancers 的用户指南中的 ListenerRules

      • 对于 Health check path,输入负载均衡器应将运行状况检查 ping 发送到的路径。

    3. 为目标组 2 重复这些步骤。

    4. 配置完 Application Load Balancer 之后,选择下一步。导航到 步骤 4:配置您的服务使用 Service Discovery

为蓝/绿部署类型配置 Network Load Balancer

  1. 对于用于负载均衡的容器,从任务定义中选择负载均衡器应将流量分发到的容器和端口组合,然后选择添加到负载均衡器

  2. 对于 Listener port (侦听器端口),选择您在创建 Network Load Balancer中创建的侦听器的侦听器端口和协议(如果适用);或者选择 create new (新建) 以创建新侦听器,然后输入端口号并为 Listener protocol (侦听器协议) 选择端口协议。

  3. 对于 Target group name,选择您在创建 Network Load Balancer中创建的目标组(如果适用),或选择 create new 以创建新目标组。

    重要

    如果服务的任务定义使用 awsvpc 网络模式(为 Fargate 启动类型所需),则目标组必须使用 ip 而不是 instance 作为目标类型。这是因为使用 awsvpc 网络模式的任务与弹性网络接口而不是 Amazon EC2 实例关联。

  4. (可选)如果选择创建新目标组,请按照下面所示填写以下字段:

    • 对于 Target group name,输入您的目标组的名称。

    • 对于 Target group protocol,输入用于将流量路由至您的任务的协议。

    • 对于 Health check path,输入负载均衡器应将运行状况检查 ping 发送到的路径。

  5. 配置完 Network Load Balancer 之后,选择下一步。导航到 步骤 4:配置您的服务使用 Service Discovery