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

负载均衡器类型

Elastic Load Balancing 支持以下类型的负载均衡器:应用程序负载均衡器、网络负载均衡器 和 传统负载均衡器。Amazon ECS 服务可以使用任一类型的负载均衡器。应用程序负载均衡器 用于路由 HTTP/HTTPS (或第 7 层) 流量。网络负载均衡器 和 传统负载均衡器 用于路由 TCP (或第 4 层) 流量。

应用程序负载均衡器

应用程序负载均衡器 在应用程序层 (HTTP/HTTPS) 作出路由决策,支持基于路径的路由,并且可以将请求路由到您的集群中每个容器实例上的一个或多个端口。应用程序负载均衡器 支持动态主机端口映射。例如,如果任务的容器定义指定端口 80 为 NGINX 容器端口,并指定端口 0 为主机端口,则从容器实例的临时端口范围(例如,在最新的经 Amazon ECS 优化的 AMI 上,为 32768 到 61000)中动态选择主机端口。在启动任务时,NGINX 容器将作为实例 ID 和端口组合注册到 应用程序负载均衡器,并且流量将分配到与该容器对应的实例 ID 和端口。此动态映射可让您在同一容器实例上拥有来自单个服务的多个任务。有关更多信息,请参阅Application Load Balancer 用户指南

 应用程序负载均衡器

网络负载均衡器

网络负载均衡器 在传输层 (TCP/SSL) 制定路由决策。它每秒可以处理数百万个请求。在负载均衡器收到连接后,它会使用流式哈希路由算法从目标组中选择一个目标作为默认规则。它尝试在侦听器配置中指定的端口上打开一个到该选定目标的 TCP 连接。它将不修改标头的情况下转发请求。网络负载均衡器 支持动态主机端口映射。例如,如果任务的容器定义指定端口 80 为 NGINX 容器端口,并指定端口 0 为主机端口,则从容器实例的临时端口范围(例如,在最新的经 Amazon ECS 优化的 AMI 上,为 32768 到 61000)中动态选择主机端口。在启动任务时,NGINX 容器将作为实例 ID 和端口组合注册到 网络负载均衡器,并且流量将分配到与该容器对应的实例 ID 和端口。此动态映射可让您在同一容器实例上拥有来自单个服务的多个任务。有关更多信息,请参阅 Network Load Balancer 用户指南

 网络负载均衡器

传统负载均衡器

传统负载均衡器 在传输层 (TCP/SSL) 或应用程序层 (HTTP/HTTPS) 制定路由决策。传统负载均衡器 当前需要负载均衡器端口与容器实例端口间的固定关系。例如,可以将负载均衡器端口 80 映射到容器实例端口 3030,将负载均衡器端口 4040 映射到容器实例端口 4040。但是,无法将负载均衡器端口 80 映射到一个容器实例上的端口 3030 和另一个容器实例上的端口 4040。此静态映射需要您的集群至少具有与使用 传统负载均衡器 的单一服务的预期数量一样多的容器实例。有关更多信息,请参阅Classic Load Balancer 用户指南

 传统负载均衡器