跳至內容

如何對 Direct Connect 和 AWS 資源之間的連線問題進行疑難排解?

2 分的閱讀內容
0

我想要疑難排解 AWS Direct Connect 與 AWS 資源之間的連線問題。

解決方法

檢查您的虛擬介面狀態

如果您的虛擬介面停止運作,請採取以下動作:

對私有虛擬介面的問題進行疑難排解

設定傳入與傳出規則

為您目的地執行個體的安全群組和子網路的網路存取控制清單 (網路 ACL) 設定傳入與傳出規則。這些規則必須允許 AWS 與內部部署資源之間的雙向連線。

**注意:**具體規則取決於您的來源 IP 位址、目的地 IP 位址及連接埠。如果您有內部部署檢查防火牆,請將其設定為允許雙向流量。

檢查您的 BGP 路由組態

對於您內部部署路由器的 BGP 路由組態,請確認您將所需路由導向 AWS。

如果您已在 Amazon Virtual Private Cloud (Amazon VPC) 路由表上啟用路由傳播,請讓路由顯示在路由表上。在您的 Amazon VPC 路由表中,您的內部部署路由必須將虛擬閘道作為下一個躍點或目的地。例如,如果內部部署路由器公告 10.0.0.0/8 並指向 AWS,則您的路由表會包含 10.0.0.0/8 的路由項目。該項目會將與您 VPC 關聯的虛擬閘道作為下一個躍點或目的地。

檢查您的內部部署路由器

請確認您的內部部署路由器透過 BGP 接收 VPC CIDR 的路由。路由器必須從與 Direct Connect 虛擬介面相關聯的 AWS 對等 IP 位址接收路由。

如果您未從 AWS 對等的 IP 位址接收到路由,則請將您的虛擬私有閘道關聯到正確的 VPC。

如果您的私有虛擬介面終止於 Direct Connect 閘道,則請將正確的虛擬私有閘道與您的 Direct Connect 閘道建立關聯。設定允許的首碼,讓 VPC CIDR 導向內部部署路由器。

執行路由追蹤

若要根據雙向網際網路控制訊息通訊協定 (ICMP),從您的內部部署路由器對 VPC 執行個體執行路由追蹤,請執行下列命令:

sudo traceroute -n -I YOUR_IP_ADDRESS

**注意:**將 YOUR_IP_ADDRESS 替換為您的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或內部部署主機的私有 IP 位址。

如果您的內部部署路由器或防火牆封鎖 ICMP 型路由追蹤請求,則請在適當的 TCP 連接埠上執行以下 TCP 型路由追蹤:

sudo traceroute -n -T -p 22 YOUR_IP_ADDRESS

注意:YOUR_IP_ADDRESS 替換為您的私有 IP 位址。在前述命令中,-n -T -p 22 會在連接埠 22 上執行路由追蹤。您可以使用您的應用程式作為接聽程式所使用的任何連接埠。

檢查路由追蹤結果

檢查與您虛擬介面相關聯之內部部署路由器和 AWS 對等 IP 位址的可見性與行為。

根據您的情境,採取以下動作:

  • 路由追蹤會從 AWS 前往內部部署資源,且流量停在內部部署路由器的 IP 位址: 設定您的內部部署網路防火牆設定,以允許您的連接埠進行雙向連線。
  • 路由追蹤會從內部部署資源前往 AWS,且流量停在 AWS 對等的 IP 位址: 檢查您的網路 ACL 和安全性組態。您也可以使用 VPC 流程日誌,檢查特定彈性網路介面是否收到內部部署路由器傳送的封包。
  • AWS 或內部部署對等 IP 位址未與虛擬介面關聯,且流量透過錯誤路徑轉送: 確認內部部署路由器對於相同 CIDR 透過不同的對等節點具有更具體或偏好的路由。
  • 從 AWS 到內部部署路由器的路由追蹤不包含 AWS 對等的 IP 位址: 尋找次要路徑,例如流量流向您內部部署路由器的虛擬介面或 VPN。例如,另一個虛擬介面可能終止於相同的虛擬私有閘道,或是 Direct Connect 閘道公告相同的內部部署路由。或者,現有的 AWS Site-to-Site VPN 連線可能會在 VPC 路由表上,為您的內部部署路由器公告特定路由。

比較從 AWS 到內部部署路由器,以及從內部部署路由器到 AWS 的路由追蹤。如果兩個路由追蹤的躍點不同,則路由是非對稱的。使用路由政策,確保系統雙向優先使用相同的 Direct Connect 私有虛擬介面。

對公共虛擬介面的問題進行疑難排解

驗證公共首碼的路由

確認託管您公共虛擬介面的內部部署路由器,會從 AWS 對等 IP 位址接收來自公共首碼的路由。如果您有輸入首碼篩選器和路由對應來篩選路由,請確認首碼篩選器符合所需首碼。

公告公共對等 IP 位址

如果您對內部部署網路執行 NAT,則請透過 BGP 將您的公共對等 IP 位址公告給 AWS。

**注意:**請確認您是從內部部署資源,透過公共虛擬介面向 AWS 公告的首碼進行連線。您無法從未公告至公共虛擬介面的首碼進行連線。此外,您必須先將首碼新增至「您想要公告的首碼」清單,之後才能在公共虛擬介面上透過 BGP 公告這些首碼。清單中的首碼必須與您計畫公告的首碼相同,或較不明確。

執行路由追蹤

從您的內部部署資源到 AWS 執行路由追蹤,然後確認您的流量已透過 Direct Connect 公共虛擬介面轉送。如果流量透過公共虛擬介面轉送,則路由追蹤會包含與該虛擬介面相關聯的 IP 位址。

如果您必須檢查 AWS 使用的網路路徑,請啟動一個公共 Amazon EC2 執行個體。該執行個體必須與您的 AWS 服務位於相同的 AWS 區域。啟動執行個體後,對內部部署路由器執行路由追蹤。如果路由追蹤顯示流量透過網際網路或不同的虛擬介面轉送,則可能已公告特定路由。

**注意:**AWS 使用 AS_PATH 和「最長首碼比對」來判定路由路徑。對於來源為 AWS 的流量,Direct Connect 是優先路徑。如需更多資訊,請參閱公共虛擬介面路由政策

測試與公共 AWS 服務的連線

確認您到公共 AWS 服務 (例如 Amazon Simple Storage Service (Amazon S3)) 的連線可正常運作,且目的地區域正確。然後,確認您為公告給 AWS 的公共首碼加上 BGP 社群標籤。如需更多資訊,請參閱 公共虛擬介面的 BGP 社群

**注意:**BGP 社群標籤會決定您的首碼在 AWS 網路上的傳播範圍。

對傳輸虛擬介面的問題進行疑難排解

將內部部署 CIDR 設定為傳輸閘道路由

如果您尚未在目的地資源的 VPC 子網路路由表中設定從您的內部部署 CIDR 到傳輸閘道的路由,請進行設定。此外,請設定執行個體或資源安全群組,以及子網路的網路 ACL,以允許雙向連線。如需更多資訊,請參閱 AWS Transit Gateway 中傳輸閘道的網路 ACL

驗證 BGP 路由

確認與您傳輸虛擬介面相關聯的內部部署路由器,會透過 BGP 從 AWS 對等端接收正確路由。這些路由適用於目的地 VPC CIDR。

如果您未接收到所需路由,請檢查允許的首碼清單。為與傳輸閘道關聯的 Direct Connect 閘道設定允許的首碼,加入所需首碼。AWS 只會透過傳輸虛擬介面,公告您新增至允許首碼清單的路由。

驗證內部部署網路首碼

對於與傳輸虛擬介面相關聯的內部部署路由器,請將所需的內部部署網路首碼公告給 AWS。如果您將路由從 Direct Connect 閘道傳播至傳輸閘道路由表,請讓路由顯示在傳輸閘道路由表上。如果路由未顯示,請檢查已公告路由上的 AS_PATH。AS_PATH 不得包含傳輸閘道 ASN。

**注意:**您無法將路由從傳輸閘道傳播到 VPC。因此,您必須確認 VPC 路由表具有指向傳輸閘道的路由項目。如果您公告的路由在 AS_PATH 上包含傳輸閘道 ASN,則該路由不會安裝到路由表上。請確認您的內部部署路由器和傳輸閘道使用不同的 ASN。

驗證傳輸閘道路由

檢查傳輸閘道資料表,確認與 Direct Connect 閘道及目的地 VPC 附加項目相關聯的資料表具有正確的目的地路由。與 Direct Connect 閘道相關聯的傳輸閘道路由表,必須具有導向 VPC 附加項目的 VPC CIDR 路由。與 VPC 附加項目相關聯的傳輸閘道路由表,必須具有導向 Direct Connect 閘道附加項目的內部部署 CIDR 路由。

驗證 Direct Connect 閘道設定

如果從 AWS 到內部部署資源的路由追蹤不包含您虛擬介面的對等 IP 位址,請檢查您的 Direct Connect 閘道設定。您必須在相同的 Direct Connect 閘道上具有其他傳輸虛擬介面,並公告相同的內部部署路由。若要識別您必須用於傳出連線的虛擬介面,請檢查傳輸虛擬介面路由政策

檢查 VPC 附加項目的子網路關聯

確認您已在與目的地資源相同的可用區域中,將子網路與傳輸閘道VPC 附加項目建立關聯。例如,您的傳輸閘道VPC 附加項目必須在與您的執行個體相同的可用區域中具有一個子網路。

**注意:**若要識別網路介面上的雙向流量,請檢查 VPC 流程日誌,以確認您的內部部署流量可到達特定執行個體的網路介面。

AWS 官方已更新 7 個月前