虽然它不是免费的,但通常如果你想要一个 ECS 服务(fargate 或 EC2)的公共 DNS 名称,你会在它前面加上一个负载均衡器(如果你愿意,它也可以做 SSL 终止)。
因此,AWS 可以在您设置服务时轻松创建负载均衡器或将服务添加到现有目标组。我不认为你可以在事后改变它,所以你可能需要重新创建服务。
最后,当您在 ECS 服务前面有一个负载均衡器时,您只需在 Route53 中设置一个 CNAME 或一个 A ALIAS(如果您使用的是 Route53)来将 DNS 名称定向到该负载均衡器。
AWS 在 AWS Compute Blog 上有一个从 2016 年开始的演练,快速描述了如何设置 ECS 服务并使用 Application Load Balancer 公开它。
还有另一条路径——使用 ECS 服务发现和 AWS CloudMap,您可以使用 API 网关。您的负载平衡选项受到更多限制,但 API 网关是根据使用量而不是小时数计费的,因此它可以潜在地节省低容量服务的成本。您还可以在多个 ECS 服务前使用单个 API 网关,这也是一些人想要做的。这种方法不太常用,但可能是某些用途的正确途径。