如何将 ELB 指向由服务发现定义的域

Posted

技术标签:

【中文标题】如何将 ELB 指向由服务发现定义的域【英文标题】:How do I point ELB to domain defined by service discovery 【发布时间】:2020-01-06 09:10:12 【问题描述】:

我在 AWS ECS 中有服务,并且服务发现维护像 web.local 这样指向该服务中的任务的域记录。

我希望网络负载均衡器指向域 web.local 而不是 IP 或实例。

我知道当我创建服务时我会指定负载均衡器,它会神奇地为我设置一切。我找不到指定web.local 的位置或服务发现。

我检查了目标群体等。

【问题讨论】:

【参考方案1】:

有一个使用服务发现的选项,如果你想启用它,你可以在创建 ECS 服务时启用它。

命名空间名称是点(.)之后的关键字,在我们的例子中是.local

还有一个选项可以添加Service discovery name*,这是在点(.)之前的关键字。

参考:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html

更新:如果您使用 ECS 的服务发现选项,则不需要将其指向 NLB。目标群体绝对不会有它的作用。 ECS 服务将直接将 DNS 名称指向您的容器。如果您想使用基于负载均衡器的服务发现,那就完全不同了,那么您必须自己创建一个私有托管区域并将其指向您的负载均衡器。但最终只能选择一个。

【讨论】:

是的。我创建这样的名称空间。但是有没有办法将网络负载均衡器指向该服务?或者使服务发现更新目标组?它仅在我创建服务时发生。我问我以后怎么改。

以上是关于如何将 ELB 指向由服务发现定义的域的主要内容,如果未能解决你的问题,请参考以下文章

用于 ELB 的 AWS Certificate Manager 指向在 EC2 上运行的 Apache 服务器

将 aws ELB 用于另一个托管实例

如何阻止其他人的域指向我的 Apache 托管网站?

如何在 AWS EC2 和 ELB 上使用 Godaddy 注册的域实现 SSL 证书

仅从 ELB 访问 Amazon EC2 实例

将域指向没有虚拟主机或自定义 conf 文件的 apache 服务器