跳至內容

我透過傳輸閘道連接時發生跨帳戶連線問題,要怎麼進行疑難排解並解決問題?

3 分的閱讀內容
0

我的資源無法透過傳輸閘道,在不同 AWS 帳戶的虛擬私有雲端 (VPC) 之間連線。

解決方法

**注意:**擁有傳輸閘道的帳戶是擁有者帳戶。獲得傳輸閘道存取權的帳戶是共用帳戶。

檢查您的傳輸閘道資源共用設定

**注意:**如果您在 AWS Organizations 中擁有組織,請開啟資源共用設定。開啟資源共用設定後,AWS 會自動在會員帳戶之間共用並接受傳輸閘道。

請完成下列步驟:

  1. 使用擁有者帳戶登入 AWS Resource Access Manager (AWS RAM) 主控台
  2. 在導覽窗格中,選擇 Shared resources (共用資源)。
  3. 選取您的傳輸閘道。
  4. 檢查您是否與正確的帳戶或組織共用傳輸閘道。
  5. 確認 Share status (共用狀態) 顯示的是 Associated (已建立關聯),而非 Pending acceptance (等待接受)。

檢查擁有者和共用帳戶中的傳輸閘道連接狀態

請完成下列步驟:

  1. 開啟 Amazon Virtual Private Cloud (Amazon VPC) 主控台
  2. 前往擁有者帳戶和共用帳戶,在導覽窗格中選擇 Transit Gateway Attachments (傳輸閘道連接)。
  3. 確認 Attachment state (連接狀態) 是否為 Available (可用)。
    **注意:**每個連接至傳輸閘道的帳戶都必須具備一個處於 Available (可用) 狀態的連接。
  4. 確認連接在每個可用區域各使用一個子網路進行流量路由。

如果共用帳戶中的連接顯示 Pending acceptance (等待接受),請完成以下步驟:

  1. 從共用帳戶中選擇 Transit gateway attachments (傳輸閘道連接)。
  2. 選取待處理的連接。
  3. 選擇 Actions (動作),然後選擇 Accept (接受)。

檢查路由表設定和路由傳播

請完成下列步驟:

  1. 使用擁有者帳戶登入 AWS Transit Gateway 主控台
  2. 在導覽窗格中,選擇 Transit gateway route tables (傳輸閘道路由表)。
  3. 檢查每個連接是否與正確的路由表建立關聯。
  4. 確認路由表中是否包含路由,可導向其他 VPC 的 CIDR 區塊。路由可以設成靜態或傳播,且都必須導向每個 VPC 對應的正確傳輸閘道連接。
  5. (選擇性) 如果使用安全 VPC 檢查流量,請確認防火牆和安全設備是否允許流量通過。
  6. 確認來源和目的地範圍沒有重疊。
    **注意:**傳輸閘道無法路由重疊的 IP 位址範圍。

最佳做法是為不同環境建立分段式路由表。例如,如果您擁有開發和正式環境,使用分段式路由表可隔離兩者間的流量,因為每個環境都擁有各自獨立的路由表。

確認 VPC 路由表是否導向傳輸閘道

請完成下列步驟:

  1. 開啟 Amazon VPC 主控台
  2. 在導覽窗格中,選擇 Route Tables (路由表)。
  3. 選擇與資源子網路相關聯的路由表。
  4. Routes (路由) 索引標籤下方,確認導向其他 VPC 的 CIDR 區塊的路由,皆指向正確的傳輸閘道 ID。

**注意:**確認安全群組和網路存取控制清單 (網路 ACL) 是否允許 VPC 之間的流量通過。

確認安全群組和網路 ACL 組態

請執行下列動作:

  • 檢查 Amazon Elastic Compute Cloud (Amazon EC2) 安全群組,確認已針對正確的 CIDR 區塊與連接埠允許傳入及傳出流量。
  • 設定安全群組,允許工作負載之間使用所需的通訊協定。例如,檢查 TCP 連接埠 443 與 TCP 連接埠 22
  • 檢查網路 ACL 是否允許 VPC 之間的流量通過。
  • 檢查網路 ACL 規則,確認不會阻擋通往傳輸閘道的流量。

**注意:**網路 ACL 為無狀態。您必須在網路 ACL 規則中同時允許傳入和傳出流量。

使用 Reachability Analyzer 分析路徑

**注意:**若要使用 VPC Reachability Analyzer 並分析跨帳戶路徑,請在 AWS Organizations 中開啟受信任存取設定

請完成下列步驟:

  1. 開啟 AWS Network Manager 主控台
  2. 在導覽窗格中,選擇 Network Manager
  3. 選擇 Reachability Analyzer
  4. 選擇 Create and analyze path (建立和分析路徑)。
  5. 輸入下列資訊,選擇路徑的來源和目的地:
    針對 Source account (來源帳戶),請選取來源帳戶的帳戶 ID。
    針對 Source type (來源類型),請選取資源類型。
    針對 Source (來源),請選取特定資源。
    針對 Destination account (目的地帳戶),請選取目的地帳戶的帳戶 ID。
    針對 Destination type (目的地類型),請選取資源類型。
    針對 Source (來源),請選擇特定資源。
  6. 選擇 Analyze path (分析路徑)。
  7. 查看結果。

若路徑顯示為 Reachable (可達),代表您的網路組態設定正確。若路徑顯示為 Not reachable (不可達),請修改路由與安全規則以允許流量通過。

使用 VPC 流量日誌檢查流量傳輸情形

在開始之前,請先建立 VPC 流量日誌。最佳做法是使用包含 pkt-srcaddrpkt-dstaddr 欄位的自訂格式。VPC 流量日誌中的 pkt-srcaddrpkt-dstaddr 欄位會顯示流量原始來源與目的地主機的 IP 位址。預設的 srcaddrdstaddr 會顯示中間網路介面的 IP 位址。

使用 VPC 流量日誌,找出透過傳輸閘道連接的 VPC 之間,哪些流量允許通過,哪些遭到阻斷。

若要分析流量日誌,請完成以下步驟:

  1. 開啟 Amazon CloudWatch 主控台

  2. 在導覽窗格中,選擇 Logs (日誌),然後選擇 Log Insights

  3. Query Scope (查詢範圍) 下拉式清單中,選取 VPC 流量日誌的日誌群組。然後,搜尋來源和目的地資源對應的彈性網路介面 ID。

  4. 執行下列範例查詢,按來源和目的地 IP 位址篩選日誌,找出 VPC 之間允許通過和遭到阻斷的流量:

    parse @message " *************************" as version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus, vpcid, subnetid, instanceid, tcpflags, type, pktsrcaddr, pktdstaddr, pktsrcawsservice, pktdstawsservice, flowdirection, trafficpath|filter (pktsrcaddr='SOURCE-IP-ADDRESS’ and pktdstaddr=‘DESTINATION-IP-ADDRESS’)|limit 100

    **注意:**請替換 ************************ 和欄位名稱,以對應您建立 VPC 流量日誌時選取的格式。星號與欄位的數量會因選擇的日誌格式而異。請將 SOURCE-IP-ADDRESS 替換成您的來源 IP 位址,並將 DESTINATION-IP-ADDRESS 替換成您的目的地 IP 位址。

測試 Amazon EC2 執行個體之間的連線

執行下列命令,測試透過傳輸閘道連接的 EC2 執行個體之間的連線能力。

**注意:**在下列命令中,請將 DESTINATION-PRIVATE-IP 替換成目的地的私有 IP 位址,並將 PORT 替換成您要測試的連接埠號碼。

執行下列 ICMP ping 命令:

ping DESTINATION-PRIVATE-IP

執行下列 telnet 命令來測試 TCP 連接埠:

telnet DESTINATION-PRIVATE-IP PORT

執行下列 curl 命令以進行 HTTP 測試:

curl -v http://DESTINATION_PRIVATE_IP:PORT

如果測試失敗,請執行以下動作:

  • 確認兩個 VPC 中的路由表是否都有路由項目,將目的地 CIDR 區塊範圍的流量導向傳輸閘道。
  • 確認傳輸閘道路由表是否包含這兩個 VPC 的路由項目,並與正確的傳輸閘道連接建立關聯。
  • 確認安全群組是否允許執行個體之間的傳入和傳出流量。
  • 確認子網路中的網路 ACL 是否允許所需的流量通過。
  • 如果擁有共用的傳輸閘道,請確認您是否妥善地與目標帳戶共用。

相關資訊

如何將傳輸閘道與其他帳戶或在組織內部共用?

Reachability Analyzer 的運作方式

Transit gateway route tables in AWS Transit Gateway (AWS Transit Gateway 中的傳輸閘道路由表)

AWS 官方已更新 5 個月前