AWS ECS 跨多个实例处理 DNS 子域
AWS ECS handling DNS subdomains across multiple instances
所以我正在尝试让我的 AWS 设置与 DNS 一起工作。
我有 2 个实例(目前)。
我有 4 个任务定义。其中 3 个需要 运行 在端口 80/443 上,但是都在不同的子域上。
目前,如果我 stop/start 一个任务,它可能会在我的任何一个实例上结束。这会导致子域 DNS 可能被指向错误的位置。
我想我需要设置某种负载均衡器来指向 DNS,但不确定如何让它路由到正确的任务。
所以我的问题:
- 我需要一个负载均衡器,还是每个 'task / subdomain' 一个?
- 我如何处理从设置的源端口到任意数量的目标端口之一的端口(如果我最终有多个容器运行执行同一任务)
- 我是不是把这个复杂化了很多,还是有更简单的方法来实现这个?
- 我需要一个负载均衡器,还是每个 'task / subdomain' 一个?
您可以有一个应用程序负载均衡器和三个目标组 Api、站点和 Web 应用程序。然后,您可以在负载均衡器侦听器中执行基于规则的路由,如下面的屏幕截图所示。
参考: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(查看 "Configuring Your Service to Use a Load Balancer")
所以我正在尝试让我的 AWS 设置与 DNS 一起工作。
我有 2 个实例(目前)。 我有 4 个任务定义。其中 3 个需要 运行 在端口 80/443 上,但是都在不同的子域上。
目前,如果我 stop/start 一个任务,它可能会在我的任何一个实例上结束。这会导致子域 DNS 可能被指向错误的位置。
我想我需要设置某种负载均衡器来指向 DNS,但不确定如何让它路由到正确的任务。
所以我的问题:
- 我需要一个负载均衡器,还是每个 'task / subdomain' 一个?
- 我如何处理从设置的源端口到任意数量的目标端口之一的端口(如果我最终有多个容器运行执行同一任务)
- 我是不是把这个复杂化了很多,还是有更简单的方法来实现这个?
- 我需要一个负载均衡器,还是每个 'task / subdomain' 一个?
您可以有一个应用程序负载均衡器和三个目标组 Api、站点和 Web 应用程序。然后,您可以在负载均衡器侦听器中执行基于规则的路由,如下面的屏幕截图所示。
参考: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(查看 "Configuring Your Service to Use a Load Balancer")