Amazon-Web-Services

AWS ALB 解析為 2 個 IP。這些是什麼?

  • November 22, 2018

我為我的應用程序設置了 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 的資訊將不勝感激。

ALB 是您的使用者和伺服器之間的*中間人。*使用者通過 ALB 的公共 IP 地址連接到 ALB,然後 ALB 通過私有 IP 地址連接到您的 ECS 伺服器。

您在解析 ALB 主機名時看到的 IP 地址是Public IPs。這就是您的使用者需要連接才能使用您的服務,並且最終必須通過您的域名(例如demo.example.com)來解決。

但是**,不要**將您解析的實際 IP 放入您的demo.example.com DNS 記錄!ALB IP根據負載和其他因素隨時間變化!

正確的方法是創建指向 ALB 主機名的CNAME 記錄。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 是最小值。

希望有幫助:)

引用自:https://serverfault.com/questions/941009