AWS ALB 到 DNS 名称而不是 IP

tom*_*ing 6 ip dns vpc amazon-web-services amazon-elb

我们在 AWS 中有一个应用程序负载均衡器,我们正在尝试对内部 DNS 名称而不是 IP 的请求进行负载均衡。

例如:

我们正在尝试负载平衡到10.0.10.1internal-abc.host.com和 10.0.10.2 internal-efg.host.com,而不是 10.0.10.1 和 10.0.10.2

然而,在配置 ALB 的目标时,我们似乎只能选择指定一个或多个 IP 地址,而不是 DNS 名称。

在此输入图像描述

我们想要使用 DNS 而不是 IP 的原因是,我们从 ELB 请求的服务是从我们无法控制的对等 VPC 中的服务创建的,并且私有 IP 经常更改。

我们已经考虑过在不同的可用区中旋转 Nginx 并使用 Nginx 将请求重新路由到 DNS 上......但是感觉我们缺少一种更直接的方法。

我们还阅读了这篇AWS 文章,其中建议使用 S3 可能是一种选择,但我们认为 S3 并不是真正为此目的而设计的。

我们还研究了在 Route53 上设置反向 DNS,例如使用此处in-addr.arpa所解释的方法,但这似乎仅适用于公共 IP,如此处所解释的我们希望使用私有 IP 仅使用 VPC 对等互连路由流量。

谢谢。

Mic*_*bot 4

Application Load Balancer 不支持任何类型的动态目标 - 它们始终由实例 ID 或 IP 地址指定。

为了实现您想要的目标,在与平衡器相同的 VPC 上运行具有反向代理功能的东西(例如 Nginx 或 HAProxy)是唯一真正的选择。您应该发现非常小的实例足以完成这样的任务——我在 t2.nano 和 t2.micro 上运行 HAProxy,并且拥有每天处理数百万个请求的系统,而几乎不使用任何 CPU。我认为当 Nginx 唯一的任务是代理请求时,它也会执行类似的操作。