簡體   English   中英

私有子網中的 AWS EC2 實例無法通過 NAT 網關連接到互聯網

[英]AWS EC2 instance in private subnet unable to connect to internet via NAT gateway

我有兩個 EC2 實例,一個在公共子網 (10.1.1.0/24) 上,另一個在私有子網 (10.1.2.0/24) 上,公共子網中的 EC2 實例可以正常使用 Internet 連接和配置的服務。

在公有子網 10.1.1.0/24 中配置了一個帶有彈性 IP 的 NAT 網關。 私有子網上的默認路由是 [0.0.0.0/0 --> 公共子網中的 NAT 網關]。 我在私有子網上有一個自定義網絡 ACL,我觀察到的是當入站/出站規則的源和目標設置為 10.1.1.0/24(公共子網)外部連接中斷,但 ssh 有效。 僅當源/目標設置為“任意”時,互聯網連接才會恢復。 我試圖了解應該在私有子網上的網絡 ACL 中使用什么確切的源/目標,以便 Internet 連接正常工作。

要允許來自私有子網的實例使用 NAT 網關訪問互聯網,您的 NACL 或 SG必須允許互聯網流量 NAT 不會將互聯網流量更改為私有 VPC 流量。 因此,如果您刪除0.0.0.0/0 ,互聯網連接將停止。

這在 AWS docs on Instances cannot access the internet 中有解釋

確保與私有子網和公共子網關聯的網絡 ACL沒有阻止入站或出站 Internet 流量的規則

因此,對於私有子網中的實例,您必須在 NACL 和 SG 中允許0.0.0.0/0 (或某些 IP 范圍,如果您只需要部分互聯網流量)。

作為旁注,通常不修改 NACL,通常使用默認設置。 相反,安全組是控制對實例的訪問的首選。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM