【问题标题】:AWS ECS handling DNS subdomains across multiple instancesAWS ECS 跨多个实例处理 DNS 子域
【发布时间】:2017-10-06 12:35:13
【问题描述】:

所以我正在尝试让我的 AWS 设置与 DNS 一起使用。

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

目前,如果我停止/启动一项任务,它可能会在我的任何一个实例上结束。这会导致子域 DNS 可能被指向错误的位置。

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

所以我的问题:

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

【问题讨论】:

    标签: amazon-web-services dns amazon-ecs elastic-load-balancer


    【解决方案1】:
    1. 我需要一个负载平衡器,还是每个“任务/子域”一个?

    您可以拥有一个应用程序负载均衡器和三个用于 Api、站点和 Web 应用程序的目标组。然后,您可以在负载均衡器侦听器中执行规则库路由,如下面的屏幕截图所示。

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

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

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

    当您在 ECS 中为您的任务定义创建服务时,您可以使用您创建的目标组来配置负载均衡。

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

    【讨论】:

    • 谢谢!还需要注意的是,将容器源端口设置为0 将使其随机化,从而允许多个这些类型的容器同时运行
    • 感谢您的信息。其实我不知道那个细节
    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2020-12-25
    • 2016-11-21
    • 2019-02-03
    • 2017-07-20
    相关资源
    最近更新 更多