【问题标题】:AWS ALB to DNS name rather than IPAWS ALB 到 DNS 名称而不是 IP
【发布时间】:2018-08-24 05:43:30
【问题描述】:

我们在 AWS 中有一个 Application Load Balancer,我们正在尝试将请求负载平衡到内部 DNS 名称而不是 IP。

例如:

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

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

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

我们曾考虑在我们不同的可用区中启动 Nginx,并使用 Nginx 将请求重新路由到 DNS...但是感觉我们缺少更直接的方法。

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

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

谢谢。

【问题讨论】:

    标签: amazon-web-services dns ip amazon-elb vpc


    【解决方案1】:

    Application Load Balancer 不支持任何类型的动态目标——它们总是由 instance-id 或 IP 地址指定。

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

    【讨论】:

    • 我对您的解决方案非常感兴趣。就我而言,我有一个 ALB,需要将请求转发到另一个 ALB。现在,我考虑使用 Lambdas 更新其目标组的 IP,但我更愿意使用 DNS 名称。您介意分享您的 Nginx 配置文件吗?
    猜你喜欢
    • 2019-01-22
    • 2020-05-19
    • 2016-12-09
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2019-06-09
    • 1970-01-01
    相关资源
    最近更新 更多