亚马逊网络服务-AWS ECS在多个实例之间处理DNS子域

因此,我正在尝试使我的AWS设置与DNS一起使用.

我有2个实例(当前).
我有4个任务定义.其中3个需要在端口80/443上运行,但是所有这些都需要在单独的子域上运行.

ECS container diagram

当前,如果我停止/启动任务,则该任务可能会在我的任何一个实例上结束.这会导致子域DNS的问题可能指向错误的位置.

我想我需要设置某种负载均衡器以将DNS指向,但不确定如何将其路由到正确的任务.

Load balancer diagram

所以我的问题是:

>我需要一个负载平衡器,还是每个“任务/子域”一个?
>如何处理从设置的源端口到任意数量的目标端口之一的端口(如果最终导致多个容器运行同一任务)
>我是否过度地将此复杂化了,还是有一种更简单的方法来实现这一目标?

最佳答案
>我需要一个负载平衡器,还是每个“任务/子域”一个?

您可以有一个应用程序负载平衡器,并为Api,Site和Web App提供三个目标组.然后,您可以在负载均衡器侦听器中进行规则库路由,如以下屏幕截图所示.

enter image description here

参考:http://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html

然后,您可以将您的域www.domain.com和app.domain.com映射到负载均衡器

>如何处理从设置的源端口到任意数量的目标端口之一的端口(如果最终导致多个容器运行同一任务)

在ECS中为任务定义创建服务时,可以使用创建的目标组配置负载平衡.

参考:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service.html(检查“配置服务以使用负载均衡器”)

转载注明原文:亚马逊网络服务-AWS ECS在多个实例之间处理DNS子域 - 代码日志