Amazon ECS
AWS Fargate 用户指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

为滚动更新部署类型配置负载均衡器

如果您的服务的任务需要一段时间才能启动和响应 Elastic Load Balancing 运行状况检查,则您最长可以指定 2147483647 秒的运行状况检查宽限期。在此期间,服务计划程序忽略运行状况检查状态。此宽限期可防止服务计划程序将由于时间不足尚未启动的任务标记为不正常并停止它们。您的服务只有配置为使用负载均衡器时此设置才适用。

配置运行状况检查宽限期

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

  2. 对于 Health check grace period (运行状况检查宽限期):输入时间段(以秒为单位),在任务首次启动后,Amazon ECS 服务计划程序在此时间段内应忽略不正常的 Elastic Load Balancing 目标运行状况检查。

要将服务配置为使用负载均衡器,您必须选择要用于服务的负载均衡器类型。

选择负载均衡器类型

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

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

    应用程序负载均衡器

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

    网络负载均衡器

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

    传统负载均衡器

    需要静态主机端口映射(每个容器实例只允许一个任务);不支持基于规则的路由和路径。

    建议对 Amazon ECS 服务使用应用程序负载均衡器,以便利用这些服务可用的高级功能。

  3. 对于 Select IAM role for service (为服务选择 IAM 角色),选择 Create new role (创建新角色) 以便为您的服务创建新角色,或选择要用于您的服务的现有 IAM 角色(默认情况下,此角色为 ecsServiceRole)。

    重要

    如果选择使用现有 ecsServiceRole IAM 角色,则必须验证该角色是否拥有使用应用程序负载均衡器和 传统负载均衡器的适当权限。有关更多信息,请参阅Amazon ECS 服务计划程序 IAM 角色

  4. 对于 ELB Name,选择要用于您的服务的负载均衡器的名称。此处只有与您之前选择的负载均衡器类型对应的负载均衡器可见。

  5. 下一个步骤因服务的负载均衡器类型而异。如果选择了应用程序负载均衡器,请按照配置应用程序负载均衡器中的步骤操作。如果选择了网络负载均衡器,请按照配置网络负载均衡器中的步骤操作。

配置应用程序负载均衡器

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

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

  3. 对于 Target group name,选择您在创建 应用程序负载均衡器中创建的目标组(如果适用),或选择 create new 以创建新目标组。

    重要

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

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

    • 对于 Target group name (目标组名),为您提供了默认名称。

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

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

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

  5. 配置完应用程序负载均衡器之后,选择 Next step (下一步)

配置网络负载均衡器

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

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

  3. 对于 Target group name,选择您在创建 应用程序负载均衡器中创建的目标组(如果适用),或选择 create new 以创建新目标组。

    重要

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

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

    • 对于 Target group name (目标组名),为您提供了默认名称。

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

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

  5. 配置完网络负载均衡器之后,选择 Next Step (下一步)