AWS - 無法連接 NFS 實例
我們有一個自動擴展組,可以根據需要啟動多個實例。自動擴展組中的所有實例都從單獨的 EC2 實例(執行 NFS)中獲取數據,因此它們都可以共享相同的數據。
以下是 NFS 伺服器的設置,允許每個人通過萬用字元訪問它
/var/nfs *(rw,sync,no_root_squash,no_subtree_check)
現在,當伺服器自動擴展時,它會將自己的私有/公共 IP 地址隨機分配給在自動擴展組下執行的 EC2 實例,現在我必須像這樣將這些私有/公共 IP 地址分配給 NFS 實例安全組
否則我有安全弱選項來允許來自任何來源的所有埠上的所有流量,即:具有對來自所有來源的所有埠的所有訪問權限的安全組,這將是一場災難。
如果沒有這 2 個選項,我在自動擴展組下執行的 EC2 實例不會連接到 NFS 實例。
我嘗試了許多選項,例如允許來自所有埠的所有流量到自動縮放安全組“組 ID”或允許來自所有埠的所有流量到預設安全組“組 ID”,如下所示
但這些都不起作用,我一直處於奇怪的境地!
PS:沒有埠問題,因為我一直在嘗試所有 tarffic。
您不應該使用彈性 IP,它是公共的,您需要支付網際網路流量費,而內部流量是免費的。
實例在重新啟動時保持其 IP,但它可以在停止/啟動時更改。但是,我在子網上有一個實例,該實例已多次停止和啟動,並保持相同的私有 IP。
我認為最好的解決方案是使用 ENI(彈性網路介面)。您可以創建一個 ENI 並指定一個私有固定 IP 地址,您可以從 API 或控制台執行此操作。然後,您將您的 ENI 附加到您的 EC2 實例,可能需要一些擺弄才能讓作業系統/軟體辨識它,但我想您可以搜尋它。
您可以將 NFS 實例放在與 EC2 實例相同的子網中,但如果 EC2 實例是公共 Web 伺服器,則其安全性低於使用 DMZ。