跳至內容

為什麼我無法使用 NAT 將私有子網路中的 EC2 執行個體連線到網際網路?

1 分的閱讀內容
0

我建立了 NAT 閘道,以從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體存取網際網路。我的執行個體在私有子網路中使用 HTTP 或 HTTPS 連接埠,但無法存取網際網路。

解決方法

確認目的地可達性和 NAT 閘道狀態

檢查是否可以透過公有 IP 位址從另一個來源存取目的地。確認 NAT 閘道處於可用狀態。如果 NAT 閘道處於失敗狀態,請參閱NAT 閘道建立失敗

注意:處於失敗狀態的 NAT 閘道將在約一小時後自動刪除。

確認您的子網路和路由表組態

確認您是否在公有子網路中建立了 NAT 閘道。確認公有路由表具有將流量導向網際網路閘道的預設路由。另外,確認私有子網路的路由表具有將流量導向至 NAT 閘道的預設路由。

**重要:**確定私有子網路和公有子網路使用不同的路由表。若您使用相同的路由表,流量不會路由到網際網路。

若要防止 DNS 解析失敗,請在虛擬私有雲端 (VPC) 中將 enableDnsSupport 屬性設為 true。如需詳細資訊,請參閱查看和更新 VPC 的 DNS 屬性

檢查防火牆和連接埠設定

確認防火牆是否允許來源主機和目的地主機上的 HTTP 流量透過連接埠 80 傳輸,以及是否允許 HTTPS 流量透過連接埠 443 傳輸。若要檢查連線,請執行以下命令:

telnet PUBLIC_IP TCP_PORT

查看安全群組設定

請確定附加到執行個體的彈性網路介面安全群組允許到連接埠 80 和 443 的傳出流量。如需詳細資訊,請參閱適用於您 EC2 執行個體的 Amazon EC2 安全群組

檢查與 NAT 閘道子網路關聯的網路存取控制清單 (ACL)。若要讓您的 EC2 執行個體存取 HTTPS 網站,與 NAT 閘道子網路關聯的網路 ACL 必須具有下列規則:

傳入規則

來源通訊協定連接埠範圍允許/拒絕
VPC CIDRTCP443允許
PUBLIC_IPTCP1024-65535允許

傳出規則

目的地通訊協定連接埠範圍允許/拒絕
PUBLIC_IPTCP443允許
VPC CIDRTCP1024-65535允許

如需如何設定網路 ACL 的詳細資訊,請參閱使用網路存取控制清單控制子網路流量

相關資訊

NAT 閘道

設定路由表

AWS 官方已更新 7 個月前