如果您使用 EIP 建立 EC2 實例,您是否需要 IGW 來存取互聯網

如果您使用 EIP 建立 EC2 實例,您是否需要 IGW 來存取互聯網

我對 AWS 中的互聯網網關感到困惑,如果它說為了讓您的 VPC 存取互聯網,您需要 IGW,為什麼當您使用 EIP 建立 EC2 執行個體時,您會自動存取互聯網。

然後我有一個我無法回答的問題:

那麼為什麼當您在 AWS 中建立 EC2 執行個體(在預設 VPC 中建立)並指派彈性 IP 時,如果 AWS 文件中說為了讓您的 VPC 能夠存取互聯網,您會自動存取互聯網您需要互聯網閘道嗎?

答案1

VPC 需要網際網路閘道 (IGW) 才能與網際網路通訊。虛擬私人網關(VPN 端點)可讓您透過 VPN 與其他網路(例如企業網路)進行通信,這可能會為您提供 Internet 連線。 VPC 終端節點和 PrivateLink 為您提供其他有限的連接,例如與 S3 的專用連接,通常透過 Internet 進行。

您可以在沒有網際網路閘道的情況下自動指派公用 IP 位址。如果您在 VPC 沒有 Internet 網關時嘗試為您的實例指派彈性 IP,它不會允許您這樣做 - 錯誤訊息為

網路 vpc-05054501693f2f5fb 未連接任何網路網關

如果您嘗試將網際網路閘道與具有 EIP 執行個體的 VPC 分離,您會收到此錯誤訊息。

分離錯誤

我剛剛測試了所有這些以確保雙重確定。只花了十分鐘就創造了一個VPC,稍微搞了一下。這就是雲端/AWS 的偉大之處,透過嘗試通常很容易解決問題。我大概花了 0.05 美元。

答案2

要直接從 VPC 內的執行個體存取互聯網,您需要:

  1. 連接到 VPC 的網際網路閘道 (IGW)
  2. 具有路由表的子網,該子網路具有通過 IGW 的預設路由 (0.0.0.0/0)(稱為「公共子網路」)
  3. 附加到執行個體的公用 IP 或彈性 IP(請注意,您不需要彈性 IP 來存取互聯網,執行個體可以具有動態非彈性 IP)
  4. 附加到允許出站流量的執行個體的安全性群組(預設)
  5. 與允許流量的子網路關聯的網路 ACL(預設)

如果您在與公有子網路中的執行個體的直接網路連線方面遇到問題,這五點是一個很好的清單,可以執行。

請注意,在您的問題中,您提到部署到「預設 VPC」 - 預設 VPC 已經具有網際網路閘道和具有適當路由表設定的子網路 - 因此您不需要設定一個。

您也可以從「私有子網路」間接存取網際網路 - 即沒有透過 IGW 的預設路由的子網路。有許多方法可以做到這一點,但一種典型的方法是將 NAT 網關服務部署到單獨的公共子網路(即具有路由表的子網,該子網路確實具有透過 IGW 的預設路由),然後為透過NAT 閘道具有預設路由(0.0.0.0/0) 的私有子網路。這允許不直接而是透過 NAT 網關出站存取網際網路。私有子網路中的實例此時根本沒有公有或彈性 IP。

更多詳情可在此找到:網際網路閘關

和這裡:NAT 網關

相關內容