我有許多 EC2 實例,每個實例目前都有一個與其關聯的公共 IPv4 位址:
實例 | 公有IP | 域名系統 |
---|---|---|
juno |
7.8.9.10 |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
7.8.9.11 |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
7.8.9.12 |
ec2-1-2-3-6.compute-1.amazonaws.com |
我目前已將 DNS 配置為將子網域指向每個實例,如下所示:
子域 | 別名記錄 |
---|---|
juno |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
ec2-1-2-3-6.compute-1.amazonaws.com |
到目前為止,一切都很好。這個設定有效。然而,它的缺點是每個實例需要一個公共 IPv4 位址,眾所周知,IPv4 位址正變得稀缺且使用成本越來越昂貴。
減少該伺服器叢集消耗的 IPv4 位址數量的最佳方法是什麼?
答案1
諸如 ALB 之類的反向代理會很好地工作。它可能每個可用區都有一個公共 IP,但它可以接受許多網域的流量並將其傳送到正確的執行個體。您也可以使用 Nginx 實例,但服務通常優於伺服器。
我在 AWS 中託管了 6 個個人網域,但沒有 IPv4 位址。我的 EC2 執行個體具有 IPv6 位址,網域的 DNS 指向 CloudFlare。 CloudFlare 透過 IPv6 聯絡伺服器並透過 IPv4 提供網站。我沒有遇到任何問題,只需要對 Nginx 配置進行一些實驗即可使其正常工作。我不會在我的個人網站上使用負載平衡器,但在商業網站上我可能會使用。