跳至內容

如何使用 Direct Connect 管理非對稱路由?

2 分的閱讀內容
0

我想使用 AWS Direct Connect 搭配公共、私有和傳輸虛擬介面,管理我的內部部署網路與 AWS 資源之間的非對稱路由。

解決方法

以下解決方法說明如何管理從 AWS 到您內部部署網路的傳出流量。對於從您內部部署網路到 AWS 的傳入流量,您必須使用偏好路由選項,將偏好設定為特定路徑。

若要使用 Direct Connect 管理非對稱路由,請使用首碼長度和邊界閘道協定 (BGP) 屬性,判斷不同類型虛擬介面的路徑選取。

**注意:**對於公共虛擬介面,AWS 會使用 AS_PATH 和最長首碼比對來判斷路由路徑。

使用特定首碼,讓流量優先選擇 Direct Connect,而非網際網路

如果您從網際網路和公共虛擬介面公告相同的首碼,請在公共虛擬介面上使用更具體的路由。流量隨後會優先選擇 Direct Connect。

例如,您在網際網路和公共虛擬介面上都公告首碼 80.80.80./24。若要讓流量優先選擇公共虛擬介面,請將您的虛擬介面首碼變更為更具體的首碼,例如 80.80.80.0/2580.80.80.128/25

使用相同 BGP 屬性和首碼長度,從主區域和遠端區域路由流量

在以下情況中,AWS 會優先將主 AWS 區域用於傳出流量:

您在主區域和遠端區域的公共虛擬介面上,以相同的 BGP 屬性和首碼長度公告相同首碼。

若要在區域之間路由,請在主區域和遠端區域的公共虛擬介面上公告您的首碼。此組態可讓流量優先選擇與 VPC 位於相同區域的虛擬介面。

使用相同首碼長度,從主區域和遠端區域路由流量

在以下情況中,AWS 會優先選擇 AS_PATH 較短的連結:

您在主區域和遠端區域的公共虛擬介面上,以相同的首碼長度公告相同首碼。

若要在多個區域之間路由流量,請在主區域和遠端區域的虛擬介面上公告您的首碼。然後,在主區域的虛擬介面上,以較長的 AS_PATH 公告您的首碼。此組態可讓主區域中 VPC 的流量優先選擇遠端區域中的虛擬介面。

使用相同首碼長度,從兩個遠端區域路由流量

在以下情況中,AWS 會優先選擇 AS_PATH 較短的連結:

您從兩個遠端區域的公共虛擬介面,以相同的首碼長度公告相同首碼。

若要在多個區域之間路由流量,請在遠端區域的公共虛擬介面上公告您的首碼。然後,在其中一個遠端公共虛擬介面上,以較長的 AS_PATH 公告您的首碼。此組態可讓主區域中 VPC 的流量,優先選擇較短 AS_PATH 的遠端虛擬介面。

使用公共 ASN 和私有 ASN,從多個區域路由流量

**注意:**前置可搭配公共自治系統編號 (ASN) 使用,而您的前置 ASN 會顯示給其他網路。如果您搭配私有 ASN 使用前置,AWS 會將您的私有 ASN 替換為 7224 ASN。當您在公共虛擬介面上使用私有 ASN 時,ASN 前置不會決定 AWS 外部的路由決策。

在以下情況中,AWS 會優先選擇 AS_PATH 較短的連結:

您從兩個區域的公共虛擬介面,以相同的首碼長度公告相同首碼。

若要在使用公共和私有 ASN 時於多個區域之間路由流量,請在每個遠端區域的虛擬介面上公告您的首碼。在其中一個遠端區域中,請以較長的私有 ASN AS_PATH 公告您的首碼。在另一個遠端區域中,請以較短的公共 ASN AS_PATH 公告您的首碼。此組態可讓主區域中 VPC 的流量優先選擇具有較長私有 ASN AS_PATH 的虛擬介面。

**注意:**Direct Connect 會將 ASN 替換為您的 Direct Connect 閘道,或該區域 ASN 的公共 ASN。在 AWS 網路中,Direct Connect 會從具有較長私有 ASN AS_PATH 的虛擬介面看到 「[your prefix], as_path [YOUR_PUBLIC_ASN]」。從具有較短公共 ASN AS_PATH 的虛擬介面,它會看到 「[your prefix], as_path [YOUR_PUBLIC_ASN] 1111 1111」

在相同區域中的多個連線進行負載共用

若要修改多個 Direct Connect 連線之間的傳出流量負載共用,請公告具有相同路徑屬性的首碼。

**注意:**您只能在相同區域中對虛擬介面進行負載共用。

若要從多個連線進行負載共用,請在與您的 VPC 位於相同區域的所有公共虛擬介面上,以相同首碼長度公告您的首碼。

使用本機偏好,為私有和傳輸虛擬介面選擇網路路徑

使用 BGP 社群來修改本機偏好。系統會優先選擇較高的本機偏好。

若要設定本機偏好,請使用下列其中一個 BGP 社群標籤:

  • 7224:7100 (低偏好)
  • 7224:7200 (中偏好)
  • 7224:7300 (高偏好)

以下範例情境示範如何使用本機偏好,為私有和傳輸虛擬介面選擇網路路徑。這些情境假設您已將傳輸虛擬介面連接到單一 Direct Connect 閘道。

**注意:**當您針對主動和被動連線的路由路徑,以及公告相同首碼長度時,最佳實務是使用本機偏好 BGP 屬性。您必須為每個區域設定本機偏好值,以優先選擇具有相同相關區域的 Direct Connect 位置。請將值設為 7224:7200 (中偏好)。如果您沒有將本機區域與 Direct Connect 位置建立關聯,請將本機偏好設為較低的值。這僅在您未指派本機偏好社群標記時適用。

相同區域中的兩個虛擬介面

當兩個虛擬介面位於相同區域時,請將社群標籤新增到您的主要虛擬介面。不要將社群標籤新增到您的次要虛擬介面。然後,在兩個虛擬介面上公告您的首碼。此組態可讓相同區域中 VPC 的流量優先選擇具有社群標籤的虛擬介面。

**注意:**BGP 本機偏好的預設值為 7224:7200 (中偏好)。

不同區域中的一個虛擬介面

您有一個虛擬介面與 VPC 位於相同區域,另一個位於遠端區域。不要在主虛擬介面或遠端虛擬介面中新增社群標籤。然後,在兩個虛擬介面上公告您的首碼。此組態可讓流量優先選擇與您的 VPC 位於相同區域的虛擬介面。

**注意:**BGP 本機偏好的預設值為 7224:7200 (中偏好)。

虛擬介面位於與您的 VPC 不同的區域

兩個虛擬介面都位於與您的 VPC 不同的區域。不要在任何一個遠端虛擬介面中新增社群標記,然後在兩個虛擬介面上公告您的首碼。此組態可讓來自 VPC 的流量在兩個遠端虛擬介面之間進行負載平衡。

使用 AS_PATH 屬性選擇網路路徑

如果無法使用本機偏好選項,請使用 AS_PATH 屬性來選擇網路路徑。您必須公告具有不同 AS_PATH 長度的首碼來引導流量,但前提是您的首碼具有相同的本機偏好。最佳實務是使用較短的 AS_PATH。

以下範例情境示範如何使用 AS_PATH 屬性,為私有和傳輸虛擬介面選擇網路路徑。

**注意:**以下情境假設您已將傳輸虛擬介面連接到單一 Direct Connect 閘道。

相同區域中的兩個虛擬介面

您有兩個虛擬介面位於相同區域。不要在虛擬介面中新增社群標籤。在兩個虛擬介面上公告您的首碼,然後將較長的 AS_PATH 套用到其中一個虛擬介面。此組態可讓來自 VPC 的流量優先選擇較短 AS_PATH 的虛擬介面。

**注意:**BGP 本機偏好的預設值為 7224:7200 (中偏好)。

不同區域中的一個虛擬介面

您有一個虛擬介面與 VPC 位於相同區域,另一個位於不同區域。不要在主區域中的虛擬介面或遠端虛擬介面中新增社群標籤。在兩個虛擬介面上公告您的首碼,然後選擇一組 AS_PATH 偏好設定。此組態可讓流量優先選擇與 VPC 位於相同區域的虛擬介面。

注意:主區域的 BGP 本機偏好預設值為 7224:7200 (中偏好)。您不能使用 AS_PATH 屬性,將偏好變更為「主區域: 7224:7200 中偏好」。本機偏好會覆寫任何 AS_PATH 偏好。

虛擬介面位於與您的 VPC 不同的區域

兩個虛擬介面都位於與您的 VPC 不同的區域。不要在任何虛擬介面中新增社群標籤。在兩個虛擬介面上以相同 AS_PATH 偏好公告您的首碼。然後,在其中一個虛擬介面上套用較長的 AS_PATH。此組態可讓來自 VPC 的流量優先選擇較短 AS_PATH 的虛擬介面。

**注意:**遠端區域的 BGP 本機偏好預設值為 7224:7100 (低偏好)。

遵循最佳實務來管理非對稱路由

實作以下最佳實務:

  • 對於公共虛擬介面,在可行情況下於 Direct Connect 上使用更具體的路由,讓您的流量優先選擇專用連線而非網際網路。
  • 定期監控您的 BGP 路由和流量模式,確保您的路由組態正常運作。
  • 如果您使用多個虛擬介面進行備援,請設定您的內部部署網路來處理可能的非對稱路由情境。
  • 在您於生產環境中實作路由組態之前,請先進行測試。

相關資訊

Direct Connect 路由政策與 BGP 社群

AWS 官方已更新 4 個月前