Amazon VPC Transit Gateways 的運作方式 - Amazon VPC

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon VPC Transit Gateways 的運作方式

在 AWS 傳輸閘道中,傳輸閘道可做為區域虛擬路由器,用於在虛擬私有雲端 (VPCs) 和內部部署網路之間流動的流量。並依據網路流量大小來彈性擴展。經過傳輸閘道的路由會在 Layer 3 運作,其中封包會依據目的地 IP 地址,傳送至下一個特定躍點連接。

架構圖範例

下圖說明搭配三個 VPC 連線的傳輸閘道。其中每個 VPC 的路由表都包含本機路由以及將發往另外兩個 VPC 的流量傳送到傳輸閘道的路由。

VPC 連線選項

以下為上圖中所示連接的預設傳輸閘道路由表範例。每個 VPC 的 CIDR 區塊會傳播至路由表。因此,每個連接都可以將封包路由到其他兩個連接。

目的地 目標 路由類型
VPC A CIDR VPC A 的連接 傳播
VPC B CIDR VPC B 的連接 傳播
VPC C CIDR VPC C 的連接 已傳播

資源連接

傳輸閘道連接同時為封包的來源和目的地,您可以將下列資源連接至您的傳輸閘道:

  • 一或多個 VPCs。 AWS Transit Gateway 會在 VPC 子網路內部署彈性網路介面,然後由傳輸閘道用來路由往返所選子網路的流量。對於每個可用區域,您必須至少有一個子網路,這樣可讓流量抵達該區域中所有子網路的資源。在建立連接期間,只有在同一區域內啟用子網路時,特定可用區域內的資源才能到達傳輸閘道。如果子網路路由表包含至傳輸閘道的路由,則只有當傳輸閘道在相同可用區域的子網路中有連接時,流量才會轉送至該傳輸閘道。

  • 一個或多個 VPN 連線

  • 一或多個 AWS Direct Connect 閘道

  • 一個或多個 Transit Gateway Connect 連接

  • 一或多個傳輸閘道對等連線

等價多路徑路由

AWS Transit Gateway 支援大多數附件的等成本多路徑 (ECMP) 路由。對於 VPN 連接,您可以在建立或修改傳輸閘道時使用主控台啟用或停用 ECMP 支援。對於所有其他連接類型,下列 ECMP 限制將適用:

  • VPC - VPC 不支援 ECMP,因為 CIDR 區塊無法重疊。例如,您不能將使用 CIDR 10.1.0.0/16 的 VPC 與使用相同 CIDR 的第二個 VPC 連接至傳輸閘道,然後設定路由以負載平衡 VPC 之間的流量。

  • VPN - 停用 VPN ECMP 支援選項後,傳輸閘道會使用內部指標來決定在多個路徑之間具有相同字首時的偏好路徑。如需有關啟用或停用 VPN 連接的 ECMP 的詳細資訊,請參閱 Amazon VPC Transit Gateways 中的傳輸閘道

  • AWS Transit Gateway Connect - AWS Transit Gateway Connect 連接會自動支援 ECMP。

  • AWS Direct Connect 當網路字首、字首長度和 AS_PATH 完全相同時, AWS Direct Connect Gateway 連接會自動跨多個 Direct Connect Gateway 連接支援 ECMP。

  • 傳輸閘道對等 - 傳輸閘道對等不支援 ECMP,因為其既不支援動態路由,也不能針對兩個不同的目標設定相同的靜態路由。

注意
  • 不支援 BGP Multipath AS-Path Relax,因此您無法在不同的自治系統編號 (ASN) 上使用 ECMP。

  • 不同連接類型之間不支援 ECMP。例如,您無法在 VPN 和 VPN 連接之間啟用 ECMP。取而代之的是,系統會評估傳輸閘道路由,並相應地將流量路由至評估的路由。如需詳細資訊,請參閱路由評估順序

  • 單一 Direct Connect 閘道支援跨多個傳輸虛擬介面的 ECMP。因此,我們建議您只設定並使用單一 Direct Connect 閘道,而不要設定和使用多個閘道來利用 ECMP。如需 Direct Connect 閘道和公有虛擬介面的詳細資訊,請參閱如何 AWS 從公有虛擬介面設定 的主動/主動或主動/被動 Direct Connect 連線?

可用區域

將 VPC 附加至傳輸閘道時,您必須啟用傳輸閘道將使用的一個或多個可用區域,以將流量路由至 VPC 子網路內的資源。如要啟用每個可用區域,您必須確切指定一個子網路。傳輸閘道會使用該子網路的一個 IP 地址,將網路介面至於其中。啟用可用區域後,即可將流量路由至 VPC 中的所有子網路,而不是只路由至指定的子網路或可用區域。但只有位於有傳輸閘道連接之可用區域中的資源才能到達傳輸閘道。

如果流量來自目的地附件不存在的可用區域, AWS Transit Gateway 會在內部將該流量路由到存在附件的隨機可用區域。此類型的跨可用區域流量不需要支付額外的傳輸閘道費用。

建議您啟用多個可用區域來確保可用性。

使用設備模式支援

如果您計劃在 VPC 中配置可配置狀態的網路設備,則可以針對設備所在的 VPC 連接啟用設備模式支援。這可確保傳輸閘道在來源和目的地之間流量的存留期內,為該 VPC 連接使用相同的可用區域。它還允許傳輸閘道將流量傳送到 VPC 中的任何可用區域,只要該區域中有子網路關聯。如需詳細資訊,請參閱 範例:共享服務 VPC 中的設備

路由

您的傳輸閘道會使用傳輸閘道路由表在連接之間路由 IPv4 和 IPv6 封包路由傳送。您可將這些路由表設定為針對已連接 VPC、VPN 連線和 Direct Connect 閘道,從路由表來傳播路由。您也可以將靜態路由新增至傳輸閘道路由表。封包從一個連接傳送時,將使用目的地 IP 地址相符的路由,路由至另一個連接。

對於傳輸閘道對等連接,只支援靜態路由。

路由表

您的傳輸閘道會自動附帶預設路由表。根據預設,此路由表為預設的相關聯路由表及傳播路由表。或者,如果您停用路由傳播和路由表關聯, AWS 就不會為傳輸閘道建立預設路由表。

您可以為傳輸閘道建立其他路由表。如此即可隔離連接的子網路。每個連接可以與一個路由表相關聯。一個連接可以將其路由傳播至一或多個路由表。

您可以在您的傳輸閘道路由表中建立 blackhole 路由,降低符合路由的流量。

當您將 VPC 連接至傳輸閘道時,您必須將路由新增至子網路路由表,才能透過傳輸閘道路由流量。如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html#route-tables-tgw中的傳輸閘道的路由傳送

路由表關聯

您可以將傳輸閘道連接與單一路由表產生關聯。每個路由表可與零個至多個連接建立關聯,也可將封包轉送至其他連接。

路由傳播

每個連接會隨附路由,這些路由可安裝在一個或多個傳輸閘道路由表中。連接傳播至傳輸閘道路由表時,這些路由就會安裝在路由表中。您無法依公告路由篩選。

若為 VPC 連接,VPC 的 CIDR 區塊會傳播至傳輸閘道路由表。

動態路由搭配 VPN 連接或 Direct Connect 閘道連接使用時,您可以透過 BGP 將現場部署路由器的路由傳播至任一 Transit Gateway 路由表。

動態路由搭配 VPN 連接使用時,與 VPN 連接相關聯之路由表中的路由會透過 BGP 向客戶閘道公告。

對於 Connect 連接,與 Connect 連接關聯的路由表中的路由將通告給透過 BGP 在 VPC 中運行的第三方虛擬設備 (如 SD-WAN 設備)。

對於 Direct Connect 閘道連接,允許的字首互動控制哪些路由從中公告到客戶網路 AWS。

當靜態路由和傳播路由具有相同的目的地時,靜態路由具有較高的優先順序,因此傳播路由不會包含在路由表中。如果您移除靜態路由,重疊的傳播路由會包含在路由表中。

對等連接的路由

您可以使兩個傳輸閘道對等,並在其間路由流量。若要這樣做,您可以在傳輸閘道上建立互連連接,並指定用來建立互連連接的互連傳輸閘道。然後,您可以在傳輸閘道路由表中建立靜態路由,將流量路由傳送至傳輸閘道互連連接。然後,路由至互連傳輸閘道的流量可以路由至互連傳輸閘道的 VPC 和 VPN 連接。

如需詳細資訊,請參閱 範例:對等傳輸閘道

路由評估順序

傳輸閘道路由會依下列順序評估:

  • 目的地位址的最特定路由。

  • 對於具有相同 CIDR 但來自不同連接類型的路由,路由優先順序如下:

    • 靜態路由 (例如,Site-to-Site VPN 靜態路由)

    • 參照字首清單的路由

    • VPC 傳播路由

    • Direct Connect 閘道傳播路由

    • Transit Gateway Connect 傳播路由

    • 透過私有 Direct Connect 傳播路由的Site-to-Site VPN

    • Site-to-Site VPN 傳播路由

    • Transit Gateway 對等傳播路由 (Cloud WAN)

有些附件支援透過 BGP 進行路由公告。對於具有相同 CIDR 的路由,以及來自相同連接類型的路由,路由優先順序是由 BGP 屬性控制:

  • AS 路徑長度較短

  • 較低的 MED 值

  • 如果附件支援 eBGP,則偏好透過 iBGP 路由使用 eBGP

    重要
    • AWS 無法保證具有上述相同 CIDR、連接類型和 BGP 屬性的 BGP 路由的路由優先順序一致。

    • 對於公告至沒有 MED 之傳輸閘道的路由, AWS Transit Gateway 會指派下列預設值:

      • 在 Direct Connect 附件上公告的傳入路由為 0。

      • VPN 和 Connect 附件上公告的傳入路由為 100。

AWS Transit Gateway 只會顯示偏好的路由。備份路由只會在不再公告該路由時才會顯示在 Transit Gateway 路由表中,例如,如果您透過 Direct Connect 閘道和 Site-to-Site VPN 公告相同的路由。 AWS Transit Gateway 只會顯示從 Direct Connect 閘道路由接收的路由,這是偏好的路由。Site-to-Site VPN 是備份路由,只有在不再通告 Direct Connect 閘道時才會顯示。

VPC 和傳輸閘道路由表差異

無論您使用的是 VPC 路由表還是傳輸閘道路由表,路由表評估都不同。

下列範例顯示 VPC 路由表。VPC 本機路由具有最高優先順序,後面接著最特定的路由。當靜態路由和傳播的路由具有相同目的地時,靜態路由具有較高優先順序。

目的地 目標 優先順序
10.0.0.0/16

區域

1
192.168.0.0/16 pcx-12345 2
172.31.0.0/16 vgw-12345 (靜態) 或

tgw-12345 (靜態)

2
172.31.0.0/16 vgw-12345 (傳播) 3
0.0.0.0/0 igw-12345 4

下列範例顯示傳輸閘道路由表。如果您偏好 AWS Direct Connect 閘道連接,而非 VPN 連接,則請使用 BGP VPN 連線並傳播傳輸閘道路由表中的路由。

目的地 連接 (目標) 資源類型 路由類型 優先順序
10.0.0.0/16 tgw-attach-123 | vpc-1234 VPC 靜態或傳播 1
192.168.0.0/16 tgw-attach-789 | vpn-5678 VPN 靜態 2
172.31.0.0/16 tgw-attach-456 | dxgw_id AWS Direct Connect 閘道 已傳播 3
172.31.0.0/16 tgw-attach-789 | tgw-connect-peer-123 連接 已傳播 4
172.31.0.0/16 tgw-attach-789 | vpn-5678 VPN 已傳播 5

傳輸閘道案例範例

以下是傳輸閘道的常見使用案例。您的傳輸閘道不限於這些使用案例。

範例

    您可以將傳輸閘道設定為連線所有 VPC、 AWS Direct Connect和 Site-to-Site VPN 連線的集中式路由器。在此案例中,所有附件會與傳輸閘道預設路由表相關聯,並且會傳播至傳輸閘道預設路由表。因此,所有連線都可彼此路由封包,而傳輸閘道則單純做為 Layer 3 IP 路由器。

    概要

    下圖顯示此案例組態的重要元件。在此案例中,傳輸閘道有三個 VPC 附件和一個 Site-to-Site VPN 附件。來自 VPC A、VPC B 和 VPC C 中子網路的封包,這些封包會通往另一個 VPC 中的子網路,或是首次經傳輸閘道路由的 VPN 連線。

    具有三個 VPC 連接和一個 VPN 連接的傳輸閘道。

    資源

    您可以為此案例建立下列資源:

    路由

    每個 VPC 有一個路由表,並且有一個路由表用於傳輸閘道。

    VPC 路由表

    每個 VPC 的路由表有 2 個項目。第一個項目是 VPC 中本機 IPv4 路由的預設項目;該項目能讓此 VPC 中的執行個體互相通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。下表說明 VPC A 路由。

    目的地 目標

    10.1.0.0/16

    區域

    0.0.0.0/0

    tgw-id

    傳輸閘道路由表

    以下為上圖中附件的預設路由表範例,且已啟用路由傳播。

    目的地 目標 路由類型

    10.1.0.0/16

    VPC A 的連接

    傳播

    10.2.0.0/16

    VPC B 的連接

    傳播

    10.3.0.0/16

    VPC C 的連接

    傳播

    10.99.99.0/24

    VPN 連接的附件

    已傳播

    客戶閘道 BGP 表格

    客戶閘道 BGP 表格包含下列 VPC CIDR。

    • 10.1.0.0/16

    • 10.2.0.0/16

    • 10.3.0.0/16

    您可以將傳輸閘道設定為多個隔離路由器。這就類似於使用多個傳輸閘道,但更具彈性,可讓路由和附件變更。在此案例中,每個隔離路由器都有單一路由表。與隔離路由器相關聯的所有附件都會加以傳播,並與其路由表建立關聯。與一個隔離路由器相關聯的附件可彼此路由封包,但無法針對另一個隔離路由器的附件路由或接收封包。

    概要

    下圖顯示此案例組態的重要元件。從 VPC A、VPC B 和 VPC C 的封包路由到傳輸閘道。來自 VPC A、VPC B 和 VPC C 中子網路的封包是以網際網路做為目的地,其路由會先經過傳輸閘道,然後再路由至 Site-to-Site VPN 連線 (如果目的地位於該網路內)。來自一個 VPC、目的地為另一個 VPC 中子網路的封包,例如從 10.1.0.0 到 10.2.0.0,經過傳輸閘道路由時會將它們封鎖,因為傳輸閘道路由表中沒有它們的路由。

    具有三個 VPC 連接和一個 VPN 連接的傳輸閘道。

    資源

    您可以為此案例建立下列資源:

    當 VPN 連線運作時,會建立 BGP 工作階段,並且 VPN CIDR 會傳播至傳輸閘道路由表,而 VPC CIDR 會新增至客戶閘道 BGP 表格。

    路由

    每個 VPC 都有一個路由表,而傳輸閘道則有兩個路由表 — 一個用於 VPC,另一個用於 VPN 連線。

    VPC A、VPC B 和 VPC C 路由表

    每個 VPC 的路由表有 2 個項目。第一個項目是 VPC 中本機 IPv4 路由的預設項目。此項目可讓此 VPC 中的執行個體彼此通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。下表說明 VPC A 路由。

    目的地 目標

    10.1.0.0/16

    區域

    0.0.0.0/0

    tgw-id

    傳輸閘道路由表

    此案例會對 VPC 使用一個路由表,並對 VPN 連線使用一個路由表。

    VPC 附件與下列路由表關聯,該表具有 VPN 附件的傳播路由。

    目的地 目標 路由類型
    10.99.99.0/24 VPN 連接的附件

    傳播

    VPN 附件與下列路由表關聯,該表具有每個 VPC 附件的傳播路由。

    目的地 目標 路由類型

    10.1.0.0/16

    VPC A 的連接

    傳播

    10.2.0.0/16

    VPC B 的連接

    傳播

    10.3.0.0/16

    VPC C 的連接

    傳播

    如需在傳輸閘道路由表中傳播路由的詳細資訊,請參閱使用 Amazon VPC Transit Gateways 啟用傳輸閘道路由表的路由傳播

    客戶閘道 BGP 表格

    客戶閘道 BGP 表格包含下列 VPC CIDR。

    • 10.1.0.0/16

    • 10.2.0.0/16

    • 10.3.0.0/16

    您可以將傳輸閘道配置為使用共享服務的多個隔離路由器。這就類似於使用多個傳輸閘道,但更具彈性,可讓路由和附件變更。在此案例中,每個隔離路由器都有單一路由表。與隔離路由器相關聯的所有附件都會加以傳播,並與其路由表建立關聯。與一個隔離路由器相關聯的附件可彼此路由封包,但無法針對另一個隔離路由器的附件路由或接收封包。附件可以將路由封包至或從共享服務接收封包。當您有需要隔離但使用共享服務的群組 (例如生產系統) 時,您可以使用此案例。

    概要

    下圖顯示此案例組態的重要元件。來自 VPC A、VPC B 和 VPC C 中子網路的封包若以網際網路做為目的地,會先經過傳輸閘道然後路由傳送至 Site-to-Site VPN 的客戶閘道。來自 VPC A、VPC B 和 VPC C 中子網路的封包若以 VPC A、VPC B 和 VPC C 中子網路為目的地,經過傳輸閘道路由時會將它們封鎖,因為傳輸閘道路由表中沒有它們的路由。來自 VPC A、VPC B 和 VPC C 的封包若以 VPC D 為目的地,會經過傳輸閘道再路由傳送到 VPC D。

    具有四個 VPC 連接和一個 VPN 連接的傳輸閘道。

    資源

    您可以為此案例建立下列資源:

    當 VPN 連線運作時,會建立 BGP 工作階段,並且 VPN CIDR 會傳播至傳輸閘道路由表,而 VPC CIDR 會新增至客戶閘道 BGP 表格。

    • 每個隔離的 VPC 都與隔離的路由表相關聯,並傳播至共用路由表。

    • 每個共用服務 VPC 都與共用路由表相關聯,並傳播至兩個路由表。

    路由

    每個 VPC 都有一個路由表,而傳輸閘道則有兩個路由表—一個用於 VPC,另一個用於 VPN 連線和共享服務 VPC。

    VPC A、VPC B、VPC C 和 VPC D 路由表

    每個 VPC 的路由表有兩個項目。第一個項目是 VPC 中本機路由的預設項目;該項目能讓此 VPC 中的執行個體互相通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。

    目的地 目標
    10.1.0.0/16 區域
    0.0.0.0/0 傳輸閘道 ID
    Transit Gateway 路由表

    此案例會對 VPC 使用一個路由表,並對 VPN 連線使用一個路由表。

    VPC A、B 和 C 連接與下列路由表關聯,該表具有 VPN 附件的傳播路由,以及 VPC D 附件的傳播路由。

    目的地 目標 路由類型
    10.99.99.0/24 VPN 連接的附件 傳播
    10.4.0.0/16 VPC D 的附件 已傳播

    VPN 連接和共用服務 VPC (VPC D) 連接與下列路由表相關聯,其中包含指向每個 VPC 連接的項目。如此可透過 VPN 連線和共用服務 VPC 與 VPC 進行通訊。

    目的地 目標 路由類型
    10.1.0.0/16 VPC A 的連接 傳播
    10.2.0.0/16 VPC B 的連接 傳播
    10.3.0.0/16 VPC C 的連接 已傳播

    如需詳細資訊,請參閱使用 Amazon VPC Transit Gateways 啟用傳輸閘道路由表的路由傳播

    客戶閘道 BGP 表格

    客戶閘道 BGP 表格包含所有四個 VPC 的 CIDR。

    您可以在傳輸閘道之間建立傳輸閘道對等連線。然後,您可以在每個傳輸閘道的附件之間路由流量。在此案例中,VPC 和 VPN 附件會與傳輸閘道預設路由表相關聯,並且它們會傳播至傳輸閘道預設路由表。每個傳輸閘道路由表都有一個指向傳輸閘道對等附件的靜態路由。

    概要

    下圖顯示此案例組態的重要元件。傳輸閘道 1 有兩個 VPC 連接,而傳輸閘道 2 有一個 Site-to-Site VPN 連接。來自 VPC A 和 VPC B 中子網路的封包若以網際網路做為目的地,其路由會先經過傳輸閘道 1 再經過傳輸閘道 2,然後路由至 VPN 連線。

    兩個對等傳輸閘道,一個具有兩個 VPC 連接,另一個具有一個 VPN 連接。

    資源

    您可以為此案例建立下列資源:

    建立 VPC 連接時,每個 VPC 的 CIDR 會傳播至傳輸閘道 1 的路由表。VPN 連接啟動時,會發生下列動作:

    • 建立 BGP 工作階段

    • Site-to-Site VPN CIDR 會傳播至傳輸閘道 2 的路由表

    • VPC CIDR 新增至客戶閘道 BGP 表格

    路由

    每個 VPC 都有一個路由表,每個傳輸閘道都有一個路由表。

    VPC A 和 VPC B 路由表

    每個 VPC 的路由表有 2 個項目。第一個項目是 VPC 中本機 IPv4 路由的預設項目。此預設項目可讓此 VPC 中的資源彼此通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。下表說明 VPC A 路由。

    目的地 目標

    10.0.0.0/16

    區域

    0.0.0.0/0

    tgw-1-id

    傳輸閘道路由表

    以下是傳輸閘道 1 的預設路由表範例,其中已啟用路由傳播。

    目的地 目標 路由類型

    10.0.0.0/16

    VPC A 的附件 ID

    傳播

    10.2.0.0/16

    VPC B 的附件 ID

    傳播

    0.0.0.0/0

    對等連線的附件 ID

    靜態

    以下是傳輸閘道 2 的預設路由表範例,其中已啟用路由傳播。

    目的地 目標 路由類型

    172.31.0.0/24

    VPN 連線的附件 ID

    已傳播

    10.0.0.0/16

    對等連線的附件 ID

    靜態

    10.2.0.0/16

    對等連線的附件 ID 靜態
    客戶閘道 BGP 表格

    客戶閘道 BGP 表格包含下列 VPC CIDR。

    • 10.0.0.0/16

    • 10.2.0.0/16

    您可以設定傳輸閘道,將傳出網際網路流量從沒有網際網路閘道的 VPC 路由至包含 NAT 閘道和網際網路閘道的 VPC。

    概要

    下圖顯示此案例組態的重要元件。您在 VPC A 和 VPC B 中有多個應用程式只需要傳出網際網路的存取權。您可以使用公有 NAT 閘道和網際網路閘道以及用於 VPC 連接的私有子網路來設定 VPC C。將所有 VPC 與傳輸閘道連線。設定路由,使從 VPC A 和 VPC B 傳出的網際網路流量可以穿越傳輸閘道,抵達 VPC C。VPC C 中的 NAT 閘道會將流量路由至網際網路閘道。

    具有三個 VPC 連接的傳輸閘道。

    資源

    您可以為此案例建立下列資源:

    • IP 地址範圍不重疊的三個 VPC。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的建立 VPC

    • VPC A 和 VPC B 各自的私有子網路都具有 EC2 執行個體。

    • VPC C 具備以下項目:

      • 連接至 VPC 的網際網路閘道。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的建立和連接網際網路閘道

      • 具有 NAT 閘道的公有子網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的建立 NAT 閘道

      • 用於傳輸閘道連接的私有子網路。私有子網路應與公有子網路位於相同的可用區域中。

    • 一個傳輸閘道。如需更多詳細資訊,請參閱 使用 Amazon VPC Transit Gateways 建立傳輸閘道

    • 傳輸閘道上的三個 VPC 附件。每個 VPC 的 CIDR 區塊會傳播至傳輸閘道路由表。如需詳細資訊,請參閱使用 Amazon VPC Transit Gateways 建立 VPC 連接。對於 VPC C,您必須使用私有子網路建立連接。如果您使用公有子網路建立連接,則執行個體流量會路由至網際網路閘道,但網際網路閘道會中斷流量,因為執行個體沒有公有 IP 地址。若在私有子網路中建立連接,流量會路由至 NAT 閘道,而 NAT 閘道會使用其彈性 IP 地址做為來源 IP 地址,將流量傳送至網際網路閘道。

    路由

    每個 VPC 都有路由表,其中會有一份傳輸閘道專用的路由表。

    VPC A 的路由表

    以下是範例路由表。第一個項目可讓 VPC 中的執行個體彼此通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。

    目的地 目標

    VPC A CIDR

    區域

    0.0.0.0/0

    transit-gateway-id

    VPC B 的路由表

    以下是範例路由表。第一個項目可讓此 VPC 中的執行個體彼此通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。

    目的地 目標

    VPC B CIDR

    區域

    0.0.0.0/0

    transit-gateway-id

    VPC C 的路由表

    為網際網路閘道新增路由,藉此將 NAT 閘道的子網路設為公有子網路。其他子網路保留為私有子網路。

    以下是公有子網路的範例路由表。第一個項目可讓 VPC 中的執行個體彼此通訊。第二個和第三個項目會將 VPC A 和 VPC B 的流量路由至傳輸閘道。最後一個項目會將其他所有 IPv4 子網路流量路由至網際網路閘道。

    目的地 目標
    VPC C CIDR 區域
    VPC A CIDR transit-gateway-id
    VPC B CIDR transit-gateway-id
    0.0.0.0/0 internet-gateway-id

    以下是私有子網路的範例路由表。第一個項目可讓 VPC 中的執行個體彼此通訊。第二個項目會將其他所有 IPv4 子網路流量路由至 NAT 閘道。

    目的地 目標
    VPC C CIDR 區域
    0.0.0.0/0 nat-gateway-id
    傳輸閘道路由表

    以下是傳輸閘道路由表的範例。每個 VPC 的 CIDR 區塊會傳播至傳輸閘道路由表。靜態路由會將傳出的網際網路流量傳送到 VPC C。您可以為每個 VPC CIDR 新增黑名單路由,選擇性地禁止 VPC 之間通訊。

    CIDR 連接 路由類型

    VPC A CIDR

    VPC A 的連接

    傳播

    VPC B CIDR

    VPC B 的連接

    傳播

    VPC C CIDR

    VPC C 的連接

    傳播

    0.0.0.0/0

    VPC C 的附件

    靜態

    您可以在共享服務 VPC 中配置設備 (例如安全設備)。共享服務 VPC 中的設備首先會檢查傳輸閘道連接之間路由的所有流量。啟用設備模式後,傳輸閘道會使用流量雜湊演算法選取設備 VPC 中的單一網路界面,以便在流量的存留期內傳送流量。傳輸閘道對傳回流量使用相同的網路界面。這可確保雙向流量會對稱路由,在流量的存留期內透過 VPC 連接中相同的可用區域路由傳送。如果您的架構中有多個傳輸閘道,則每個傳輸閘道都會維護自己的工作階段親和性,而且每個傳輸閘道都可以選取不同的網路界面。

    您必須將一個傳輸閘道與設備 VPC 連線,以確保流量黏性。若將多個傳輸閘道與單一設備 VPC 連線,由於傳輸閘道之間不會共用流量狀態資訊,因此無法保證流量黏性。

    重要
    • 只要來源和目標流量從同一傳輸閘道連接進入集中式 VPC (檢查 VPC),設備模式下的流量就可以正確路由。如果來源和目的地位於兩個不同的傳輸閘道附件上,流量可能會下降。如果集中式 VPC 從不同的閘道接收流量,例如網際網路閘道,則流量可能會下降,然後在檢查後將該流量傳送至傳輸閘道連接。

    • 在現有連接上啟用設備模式可能會影響該連接目前的路由,因為連接可以流經任何可用區域。未啟用設備模式時,流量會保留至原始可用區域。

    概要

    下圖顯示此案例組態的重要元件。傳輸閘道具有三個 VPC 連接。VPC C 是一個共享服務 VPC。VPC A 和 VPC B 之間的流量會路由至傳輸閘道,然後在將其路由傳送至最終目的地之前,先路由傳送至 VPC C 中的安全設備進行檢查。設備是可設定狀態的設備,因此會檢查要求和回應流量。為了提供高可用性,VPC C 中的每個可用區域中都有一個設備。

    共享服務 VPC 中的設備

    您可以為此案例建立下列資源:

    • 三個 VPC。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的建立 VPC

    • 傳輸閘道。如需詳細資訊,請參閱 使用 Amazon VPC Transit Gateways 建立傳輸閘道

    • 三個 VPC 連接 - 每個 VPC 一個。如需詳細資訊,請參閱 使用 Amazon VPC Transit Gateways 建立 VPC 連接

      對於每個 VPC 附件,請在每個可用區域中指定子網路。對於共享服務 VPC,這些是從傳輸閘道路由流量路由傳送至 VPC 的子網路。在上述範例中,這些是子網路 A 和 C。

      對於 VPC C 的 VPC 附件,請啟用設備模式支援,以便回應流量路由至 VPC C 中與來源流量相同的可用區域。

      Amazon VPC 主控台支援設備模式。您也可以使用 Amazon VPC API、 AWS 開發套件、 AWS CLI 來啟用設備模式,或 AWS CloudFormation。例如,新增 --options ApplianceModeSupport=enablecreate-transit-gateway-vpc-attachmentmodify-transit-gateway-vpc-attachment 命令。

    注意

    僅對源自檢查 VPC 的來源和目的地流量保證在設備模式中的流量黏性。

    可設定狀態的設備和設備模式

    如果您的 VPC 連接跨越多個可用區域,並且您需要透過同一個設備路由來源主機和目的地主機之間的流量以進行狀態檢查,請針對設備所在的 VPC 連接啟用設備模式支援。

    如需詳細資訊,請參閱 AWS 部落格中的集中式檢查架構

    未啟用設備模式時的行為

    當設備模式未啟用時,傳輸閘道會嘗試在原始可用區域中的 VPC 連接之間保持流量路由,直到其到達目的地為止。流量只有在發生可用區域故障或該可用區域中沒有與 VPC 連接關聯的子網路時,流量才會跨越連接之間的可用區域。

    下圖顯示未啟用設備模式支援時的流量。從 VPC B 中可用性區 2 的回應流量會經由傳輸閘道路由傳送到 VPC C 中相容的可用區域,因此該流量會遭捨棄,因為可用區域 2 中的設備未察覺來自 VPC A 中來源的原始伺服器請求。

    傳送至設備的回應流量遭捨棄

    路由

    每個 VPC 都有一或多個路由表,而傳輸閘道有兩個路由表。

    VPC 路由表

    VPC A 和 VPC B

    VPC A 和 B 具有包含 2 個項目的路由表。第一個項目是 VPC 中本機 IPv4 路由的預設項目。此預設項目可讓此 VPC 中的資源彼此通訊。第二個項目會將所有其他 IPv4 子網路流量路由傳送至傳輸閘道。以下是 VPC A 的路由表。

    目的地 目標

    10.0.0.0/16

    區域

    0.0.0.0/0

    tgw-id

    VPC C

    共享服務 VPC (VPC C) 對每個子網路都有不同的路由表。路由閘道使用子網路 A (您在建立 VPC 附件時指定此子網路)。子網路 A 的路由表會將所有流量路由傳送至子網路 B 中的設備。

    目的地 目標

    192.168.0.0/16

    區域

    0.0.0.0/0

    appliance-eni-id

    子網路 B 的路由表 (包含設備) 將流量路由傳回傳輸閘道。

    目的地 目標

    192.168.0.0/16

    區域

    0.0.0.0/0

    tgw-id

    傳輸閘道路由表

    此傳輸閘道會針對 VPC A 和 VPC B 使用一個路由表,另一個路由表則用於共享服務 VPC (VPC C)。

    VPC A 和 VPC B 連接與下列路由表相關聯。路由表會將所有流量路由傳送至 VPC C.

    目的地 目標 路由類型

    0.0.0.0/0

    VPC C 的附件 ID

    靜態

    VPC C 附件與下列路由表相關聯。它會將流量路由傳送至 VPC A 和 VPC B。

    目的地 目標 路由類型

    10.0.0.0/16

    VPC A 的附件 ID

    已傳播

    10.1.0.0/16

    VPC B 的附件 ID

    已傳播