Amazon-Ec2

負載均衡器後面的外部網際網路訪問

  • March 20, 2017

我正在嘗試將我們的 AWS EC2 實例放在負載均衡器後面。這很好用,但我有一個問題,我不確定如何解決。

負載均衡器後面的實例沒有分配公共 IP 地址,並且除了通過負載均衡器外無法直接訪問 Internet。

問題是這意味著我無法使用 yum 更新實例,因為您得到以下資訊:

Loaded plugins: priorities, update-motd, upgrade-helper
Could not retrieve mirrorlist http://repo.eu-west-1.amazonaws.com/latest/main/mirror.list error was
12: Timeout on http://repo.eu-west-1.amazonaws.com/latest/main/mirror.list: (28, 'Connection timed out after 10000 milliseconds')

同樣,出於同樣的原因,我無法將最新程式碼從 git 下載到實例。

我已經進行了搜尋,但找不到解決方案。其他人如何解決這個問題?對此的最佳做法是什麼?為負載均衡器後面的每個實例分配公共 IP 的唯一方法是什麼?

您不需要為每個實例提供公共 IP 地址,您只需要為這些實例提供 Internet 訪問。

一種方法是使用NAT 網關,但您也可以設置一個NAT 實例,或者通過為一個實例分配一個公共 IP 地址並在那里安裝一個 (HTTP) 代理伺服器來讓其他伺服器連接到您自己的實例。

@HBrijn 描述了可能是最常見的方法。

如果您只想執行作業系統更新,您還可以使用EC2 Systems Manager (此處的完整文件)。這是更多的工作,但可以自動化。

您仍然可以臨時或永久地將彈性 IP 分配給您的實例。這不是標準做法,但如果您想手動進行更新,這是一種解決方法。

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