Amazon-Ec2

允許公有子網內具有私有 IP 地址的 ec2 實例訪問 Internet?

  • February 7, 2018
  • 我有一個公共子網(S1),其路由表中的路由指向 Internet 網關。
  • 在 S1 內部啟動了一個 ec2 實例(I1),但沒有為其分配公共 IP,因此該實例只有一個私有 IP 地址,無法從 Internet 訪問。
  • 我已經設置了從我的網關到實例(I1)的基於路徑的路由,它工作得很好,這意味著對網關的請求正在不受阻礙地服務。
  • 問題是我需要從我的實例 I1 訪問 Internet 中的一些資源,但該實例不應該從外部訪問。

我認為實例可以通過網關與網際網路通信是錯誤的嗎(就像在 wifi 網路中具有私有 IP 的移動設備如何通過接入點的公共 IP 與網際網路通信一樣)?!

只是想知道是否可以在不為我的實例分配公共 IP/彈性 IP 的情況下實現這種情況,因為您也需要網際網路訪問來安裝任何軟體,人們將如何實現此要求?!

注意:對於私有子網,NAT 網關可以正常工作,但這是一個公共子網,如果將其指向 NAT 網關,則需要刪除指向 Internet 網關的路由,這意味著我的網關將無法與我的實例通信(因為 ALB/Gateway 只與 AWS 的公有子網中的實例通信?!)

PS:aws的初學者,請不要濫用任何知識空白,在此先感謝。

–雅什

您誤解/誤用了公共子網和私有子網。

公共子網具有 Internet 網關 (IGW)。公共子網中的實例需要公共 IP 地址才能訪問 Internet。

私有子網具有 NAT 網關或 NAT 實例。私有子網中的實例沒有公共 IP 地址。

總之:如果一個子網有一個 IGW,它就是一個公共子網。如果子網具有 NAT,則它是私有子網。

您的問題的解決方案:

  1. 創建一個新子網。
  2. 創建 NAT 網關。將 NAT 網關分配給子網。
  3. 為您需要移動到私有子網的每個實例創建一個 AMI,然後關閉這些實例。稍後您可以終止它們,但要等到您知道以下步驟已正確完成。
  4. 從您在步驟 #3 中創建的每個 AMI 啟動新的 EC2 實例。
  5. 驗證一切正常。然後終止舊實例。您的 AMI 還充當這些實例的備份。

對您的要求有幫助的是:

“您可以在您的實例上使用公共 IP 地址,然後使用安全組將其鎖定。風險取決於允許的訪問類型以及從何處訪問。”

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