如何为 Amazon ECS 设置动态端口映射?

1 分钟阅读
0

我想为 Amazon Elastic Container Service (Amazon ECS) 中我的容器实例设置动态端口映射。

简短描述

经典负载均衡器不允许您在同一个实例上运行一个任务的多个副本。相反,在使用经典负载均衡器时,您必须静态映射容器实例上的端口号。但是,应用程序负载均衡器使用动态端口映射,因此您可以在同一个容器实例上从单个服务运行多个任务。

**注意:**网络负载均衡器也可以用于动态端口映射。请参阅网络负载均衡器创建网络负载均衡器

解决方法

要设置动态端口映射,请执行以下步骤:

  1. 创建应用程序负载均衡器和目标组。
    重要事项:要在创建目标组时正确路由运行状况检查流量,请展开高级运行状况检查设置。对于端口,选择流量端口
  2. 打开 Amazon ECS 控制台,然后将您正在创建更新任务定义的主机端口设置为 0。务必为您的应用程序设置容器端口映射
    重要事项:****主机awsvpc 网络模式不支持动态主机端口映射。
  3. 添加规则以允许从负载均衡器到容器实例的入站流量。安全组和网络访问控制列表(网络 ACL)必须允许通过临时端口范围从负载均衡器到实例的流量。
    **注意:**有关临时端口范围的详细信息,请参阅 PortMapping
  4. 打开 Amazon ECS 控制台,然后将您的服务配置为使用所创建的应用程序负载均衡器
    **重要事项:**只能在创建服务期间添加负载均衡器。在创建服务后,您将无法更改目标组的 Amazon 资源名称(ARN)、容器名称或服务定义中指定的容器端口。无法添加、删除或更改现有服务的负载均衡器配置。如果更新服务任务定义,则在创建服务时指定的容器名称和容器端口必须保留在任务定义中。有关更多信息,请参阅服务负载均衡
  5. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后从导航窗格中选择目标组。为您的目标组选择超链接名称。在目标选项卡中,您可以查看所创建服务中的任务使用哪个端口。

如果动态端口映射设置正确,则会看到在目标组中的注册目标和为任务分配的端口。您还可以在以下临时端口范围的注册目标中看到该任务: 49153–6553532768–61000

相关信息

什么是弹性负载均衡?

什么是应用程序负载均衡器?

AWS 官方
AWS 官方已更新 2 年前