AWS ALB 解析为 2 个 IP。它们是什么?

AWS ALB 解析为 2 个 IP。它们是什么?

我已经为我的应用程序设置了 AWS ALB。ALB 连接到具有 2 个实例的 AWS ECS 集群。这 2 个实例位于私有子网中。当我解析 ALB DNS 名称的 IP 时,我得到了 2 个 IP。这些 IP 可用于访问我的应用程序。

这些 IP 是什么?我在 ALB 控制台或 ECS 控制台中找不到任何这些 IP。

我计划为这个 ALB 创建自己的域名,并且不使用 AWS Route53。我计划使用自己的域名或已有的子域名。所以我想检查这些 IP 是 ALB 的 IP 还是我的底层 EC2 实例的 IP。

任何有关 ALB IP 的信息都将受到赞赏。

答案1

ALB 是中间人在您的用户和服务器之间。用户通过 ALB 的公共 IP 地址连接到 ALB,然后 ALB 通过私有 IP 连接到您的 ECS 服务器。

解析 ALB 主机名时看到的 IP 地址是公共 IP。这就是您的用户使用您的服务所需要连接的,也是最终必须由您的域名解析的(例如demo.example.com)。

然而不要将您解析的实际 IP 放入您的demo.example.comDNS 记录!ALB IP会随着时间而改变根据负载和其他因素!

正确的方法是创建一个CNAME 记录指向 ALB 主机名。AWS 会在 ALB DNS 记录中的 IP 发生变化时自动更新它们,并且由于您的 demo.example.com 仅引用ALB 主机名而不是实际的ALB IP 地址一切都将按预期进行。


因此您需要创建:

demo.example.com. CNAME your-alb-abcdefgh.us-east-1.elb.amazonaws.com.

然后当你的用户尝试解决时,demo.example.com他们会得到这样的答案:“我不知道 IP,请解析your-alb-abcdefgh.us-east-1.elb.amazonaws.com。”。然后解析your-alb-...elb.amazonaws.com将返回当前有效的 ALB IP 地址。


我知道如果你对 DNS 的经验有限,可能会有点困惑。请随时询问澄清 :)


更新:您会看到 2 个外部 IP,因为 ALB 必须位于至少 2 个不同的子网实现高可用性。创建 ALB 时,您已选择子网:

ALB 可用区

您可以选择更多可用区域/子网,在这种情况下您将拥有更多公共 IP。但最低为 2 个。

希望有帮助:)

相关内容