路由器設備是 Network Connectivity Center 支援的輪輻類型之一。本頁說明如何建立及設定路由器設備執行個體。視您選擇的方法而定,部分程序可能會自動化。不過,您必須先完成所有必要工作,才能使用 Router 設備 Spoke 建立連線。
必要工作包括:
建立要當做路由器設備執行個體使用的 VM。您可以透過支援的合作夥伴解決方案或自訂映像檔建立 VM。
確認路由器設備執行個體可透過 TCP 通訊埠 179 存取 BGP 流量。為確保可存取,您可能需要建立防火牆規則。
建立使用路由器設備執行個體的輪輻。
設定 Cloud Router。這項工作包含下列子工作:
在與路由器設備執行個體相同的地區中建立 Cloud Router。
在 Cloud Router 上建立兩個介面。
在 Cloud Router 上設定 BGP 對等互連。
在路由器設備執行個體上設定 BGP 對等互連。
完成這些工作的方式可能大不相同。舉例來說,如果您使用合作夥伴解決方案建立路由器設備執行個體,系統可能會自動執行部分後續工作。
您可以使用 Network Connectivity Center,在 Google Cloud中導入中樞與輪輻架構,管理網路連線。詳情請參閱 Network Connectivity Center 總覽。
範例設定
本頁說明如何設定範例網站對雲端設定。在這個設定中,兩個路由器設備執行個體會在虛擬私有雲 (VPC) 網路和地端部署網路之間提供連線。網路連線能力中心會使用等價多路徑 (ECMP) 路由,在路由器設備執行個體之間進行流量負載平衡。並使用邊界閘道通訊協定 (BGP) 在網路間分配路徑。
範例設定會將路由器設備執行個體放在同一個子網路中。不過,每個路由器設備執行個體都位於不同的可用區。
每個路由器設備執行個體都會與相同的 Cloud Router 維持 BGP 工作階段。這個 Cloud Router 有兩個介面。每個路由器設備執行個體都會與每個介面建立對等互連,因此總共有四個對等互連工作階段。
這個拓撲並未說明站對站資料移轉。不過,設定此拓撲的操作說明與您用於網站對網站資料移轉拓撲一半的操作說明幾乎相同;例外狀況會註明在操作說明中。如要進一步瞭解站對站資料移轉,請參閱「路由器裝置總覽」。
事前準備
開始設定前,請先詳閱下列各節。
建立或選取專案
為方便設定 Network Connectivity Center,請先找出有效的專案。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
如果您使用 Google Cloud CLI,請使用
gcloud config set
指令設定專案 ID。gcloud config set project PROJECT_ID
將
PROJECT_ID
替換為專屬專案 ID。這個頁面的 gcloud CLI 指令假設您已設定專案 ID。
如要確認專案 ID 設定正確無誤,請使用
gcloud config list
指令。gcloud config list --format='text(core.project)'
在 Google Cloud 控制台中,前往「Network Connectivity Center」頁面。
按一下「啟用」。
- Name (名稱):
subnet-a-1
- Region (區域):
us-west1
- 範圍:
10.0.1.0/24
SUBNET
:包含路由器設備 VM 的子網路名稱,例如subnet-a-1
NETWORK
:包含子網路的網路,例如network-a
REGION
:包含子網路的區域,例如us-west1
RANGE
:子網路的 IP 範圍,採用 CIDR 標記法,例如10.0.1.0/24
由支援的網路連線中心合作夥伴提供的解決方案
自訂映像檔,例如您建立的映像檔
如要遵循範例設定中使用的命名慣例,請使用下列值:
- 名稱:
router-app-a
或router-app-b
- 區域:
us-west1
- 「Zone」(區域):
us-west1-a
或us-west1-b
- 名稱:
如要選取映像檔,請前往頁面的「開機磁碟」區域,按一下「變更」,然後瀏覽至 VM 的適當映像檔。
展開「進階選項」,然後展開「網路」。請使用下列值:
- 在「IP forwarding」(IP 轉送) 下方,選取「Enable」(啟用)。
- 在「網路介面」下方,選取「新增網路介面」,然後填寫下列欄位:
- 選取要放置路由器設備執行個體的位置的「子網路」,例如
subnet-a-1
。 - 在「主要內部 IP」下方,選取要使用的保留 RFC 1918 內部 IP 位址,例如
10.0.1.10
。 - 在「Network Service Tier」(網路服務級別) 下,選取「Premium」(進階級);這項選擇可盡量讓流量使用 Google 網路。
- 選取要放置路由器設備執行個體的位置的「子網路」,例如
INSTANCE_NAME
:做為路由器設備執行個體的 VM 名稱,例如router-app-a
或router-app-b
PROJECT
:包含路由器設備 VM 的專案名稱,例如my-project
ZONE
:VM 所在的 Google Cloud 可用區,例如us-west1-a
MACHINE_TYPE
:用於 VM 的機器類型資源,例如n1-standard-2
NETWORK_TIER
:建立路由器設備 VM 時,將網路層級設為premium
,盡可能讓流量使用 Google 網路SUBNET
:指派給 VM 主要網路介面的子網路,例如subnet-a-1
INTERNAL_IP_ADDRESS
:指派給連線至 Cloud Router 的 VM 介面的 RFC 1918 內部 IP 位址,例如10.0.1.10
IMAGE_PROJECT
:包含image
欄位中指定圖片的專案名稱,例如debian-cloud
IMAGE
:要安裝的映像檔名稱,例如debian-10-buster-v20210217
PROJECT
:包含路由器設備 VM 的專案名稱,例如my-project
ZONE
:VM 所在的 Google Cloud 可用區,例如us-west1-a
MACHINE_TYPE
:用於 VM 的機器類型資源,例如zones/us-west1-a/machineTypes/n1-standard-2
INSTANCE_NAME
:VM 的名稱,例如router-app-a
或router-app-b
REGION
:包含 VM 的區域,例如us-west1
SUBNET
:指派給 VM 主要網路介面的子網路,例如regions/us-west1/subnetworks/subnet-a-1
INTERNAL_IP_ADDRESS
:指派給 VM 的 RFC 1918 內部 IP 位址;設定連線至 Cloud Router 的 VM 介面位址,例如10.0.1.10
NETWORK_TIER
:建立路由器設備 VM 時,將網路層級設為premium
,盡可能讓流量使用 Google 網路IMAGE_PROJECT
:包含您在建立 VM 時指定映像檔的專案名稱,例如debian-cloud
IMAGE
:建立 VM 時要使用的映像檔名稱,例如debian-10-buster-v20210217
在 Google Cloud 控制台中,前往「Network Connectivity Center」頁面。
在專案選單中選取專案。
輸入中樞名稱。
輸入說明 (選填)。
確認專案 ID。如果專案 ID 不正確,請使用畫面頂端的選單選取其他專案。
按一下「繼續」。
控制台會顯示表單,供您建立 Spoke。如要立即填寫,請按照「建立路由器設備 Spoke」一文中的步驟操作。
按一下 [完成]。
HUB_NAME
:新中樞的名稱DESCRIPTION
:描述中心的選填文字KEY
:選用標籤文字的鍵/值組合中的鍵VALUE
:選用標籤文字的鍵/值組合中的值PROJECT_ID
:含有新中樞的專案 IDHUB_NAME
:新中樞的名稱DESCRIPTION
:描述中心的選填文字KEY
:選用標籤文字的鍵/值配對中的鍵VALUE
:選用標籤文字的鍵/值組合中的值- 在 Google Cloud 控制台中,前往「Network Connectivity Center」頁面。 前往 Network Connectivity Center
- 在專案選單中選取 Google Cloud 專案。
- 按一下「Spokes」分頁標籤。
- 按一下「新增輪輻」。
- 在「New spoke」(新增 Spoke) 表單中,設定「Spoke type」(Spoke 類型)。
- 輸入「Spoke 名稱」,並視需要輸入「說明」。
- 選取新 Spoke 的「Region」(區域) 欄位。
- 在「站對站資料移轉」下方,選取「開啟」或「關閉」。如果所選區域不支援資料移轉,該欄位會停用。如要進一步瞭解這個用途,請參閱「站對站資料移轉總覽」。
- 在「VPC network」(虛擬私有雲網路) 清單中,選取網路。如果您有多個使用資料移轉功能的輪輻,這些輪輻都必須位於同一個虛擬私有雲網路。因此,如果您已建立使用資料移轉的子網路,系統會預先填入 VPC 網路值,且無法變更。
- 將「Spoke type」(Spoke 類型) 設為「Router appliance」(路由器設備)。
- 選取 Spoke 的「區域」。
- 選擇路由器設備執行個體:
- 按一下「新增執行個體」。
- 在「執行個體」選單中,選取現有的路由器設備執行個體。
- 如要在這個輪輻中新增更多路由器設備執行個體,請重複上述步驟。完成後,按一下「完成」,然後繼續儲存你的 Spoke。
- 如要新增更多輪輻,請按一下「新增輪輻」,然後再次開始程序,首先輸入「輪輻名稱」。
- 新增完所有輻條後,按一下「建立」。 「Network Connectivity Center」頁面會更新,顯示您建立的輪輻詳細資料。
NAME
:Spoke 的名稱HUB_NAME
:要將 Spoke 連接至的 Hub 名稱DESCRIPTION
:描述輪輻的選用文字,例如us-vpn-spoke
ROUTER_APPLIANCE_URI
:第一個路由器設備執行個體的 URI,例如:https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
:第一個路由器設備執行個體的內部 IP 位址ROUTER_APPLIANCE_URI_2
:第二個路由器設備執行個體的 URIIP_ADDRESS_2
:第二個路由器設備執行個體的內部 IP 位址REGION
:您希望 Spoke 所在的 Google Cloud 區域,例如us-west1
KEY
:選用標籤文字的鍵/值配對中的鍵VALUE
:選用標籤文字的鍵/值組合中的值舉例來說,下列指令會建立使用
router-app-a
和router-app-b
做為基礎資源的路由器設備 Spoke:gcloud network-connectivity spokes linked-router-appliances create my-spoke \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \ --region=us-west1 \ --labels="environment"="test"
如要建立相同的子網路,但啟用資料移轉功能,請使用下列指令:
gcloud network-connectivity spokes linked-router-appliances create my-spoke \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a",ip=10.0.1.10 \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b",ip=10.0.1.11 \ --region=us-west1 \ --labels="environment"="test" --site-to-site-data-transfer
PROJECT_ID
:專案的專案 IDREGION
:您希望 Spoke 所在的 Google Cloud 區域,例如us-west1
SPOKE_NAME
:您要為 Spoke 命名的名稱HUB_URI
:要將 Spoke 連接至的 Hub URI,例如:http://networkconnectivity.googleapis.com/v1/projects/PROJECT_NAME/locations/global/hubs/HUB_NAME
KEY
:選用標籤文字的鍵/值配對中的鍵VALUE
:選用標籤文字的鍵/值組合中的值ROUTER_APPLIANCE_URI
:第一個路由器設備執行個體的 URI,例如:https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
:第一個路由器設備執行個體的內部 IP 位址ROUTER_APPLIANCE_URI_2
:第二個路由器設備執行個體的 URIIP_ADDRESS_2
:第二個路由器設備執行個體的內部 IP 位址BOOLEAN
:決定是否為這個 Spoke 啟用網站對網站資料轉移的值舉例來說,如要建立以
router-app-a
和router-app-b
做為基礎資源的輪輻,要求主體應採用下列結構:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-a/instances/router-app-a", "ipAddress": "10.0.1.10", }, { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-west1-b/instances/router-app-b", "ipAddress": "10.0.1.11", } ], "siteToSiteDataTransfer": true } }
使用「Cloud Router」頁面,如「建立 Cloud Router」一文所述。
使用「Network Connectivity Center」頁面。這個方法的優點是可同時建立路由器、介面和 BGP 工作階段。如要進一步瞭解如何一併完成所有這些步驟,請參閱「在 Cloud Router 上設定 BGP 對等互連」。
NAME
:Cloud Router 的名稱,例如cloud-router-a
- :包含 Cloud Router 的區域,例如
us-west1
REGION
NETWORK
:包含 Cloud Router 的 VPC 網路,例如network-a
ASN
:Cloud Router 的自治系統編號 (ASN)。這個 ASN 必須是 RFC 6996 中定義的 16 位元或 32 位元私人 ASN,例如65000
PROJECT_ID
:Cloud Router 的專案 ID,例如my-project
PROJECT_ID
:Cloud Router 的專案 ID,例如my-project
- :包含 Cloud Router 的區域,例如
us-west1
REGION
NAME
:Cloud Router 的名稱,例如cloud-router-a
NETWORK
:包含 Cloud Router 的 VPC 網路 URI,例如/global/networks/network-a
ASN
:Cloud Router 的自治系統編號 (ASN)。這個 ASN 必須是 RFC 6996 中定義的 16 位元或 32 位元私人 ASN,例如65000
建立第一個 Cloud Router 介面:
gcloud compute routers add-interface NAME \ --interface-name=INTERFACE_NAME \ --ip-address=IP_ADDRESS \ --subnetwork=SUBNET \ --region=REGION \ --project=PROJECT_ID
建立備援 Cloud Router 介面:
gcloud compute routers add-interface NAME \ --interface-name=INTERFACE_2_NAME \ --ip-address=IP_ADDRESS \ --subnetwork=SUBNET \ --redundant-interface=INTERFACE_NAME \ --region=REGION \ --project=PROJECT_ID
更改下列內容:
NAME
:要更新的 Cloud Router 名稱,例如cloud-router-a
INTERFACE_NAME
:介面名稱,例如router-appliance-interface-0
IP_ADDRESS
:要用於介面的 RFC 1918 內部 IP 位址,例如10.0.1.5
或10.0.1.6
SUBNET
:包含內部 IP 位址的子網路,例如subnet-a-1
INTERFACE_2_NAME
:與主要介面同一個路由器設備例項對等互連的備援 Cloud Router 介面,例如router-appliance-interface-1
REGION
:Cloud Router 所在的 Google Cloud 地區,例如us-west1
PROJECT_ID
:Cloud Router 的專案 ID,例如my-project
下列指令會在 Cloud Router 上建立第一個介面,如範例設定所述:
gcloud compute routers add-interface cloud-router-a \ --interface-name=router-appliance-interface-0 \ --ip-address=10.0.1.5 \ --subnetwork=subnet-a-1 \ --region=us-west1 \ --project=my-project
下列指令會在 Cloud Router 上建立備援介面,如範例設定所述:
gcloud compute routers add-interface cloud-router-a \ --interface-name=router-appliance-interface-1 \ --ip-address=10.0.1.6 \ --subnetwork=subnet-a-1 \ --redundant-interface=router-appliance-interface-0 \ --region=us-west1 \ --project=my-project
建立第一個 Cloud Router 介面:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"INTERFACE_NAME", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https":"//www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" } ] }
建立備援 Cloud Router 介面:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"INTERFACE_NAME_1", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" }, { "name":"INTERFACE_NAME_2", "privateIpAddress:"IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "redundantInterface": "INTERFACE_NAME_1" } ] }
更改下列內容:
PROJECT_ID
:Cloud Router 的專案 ID,例如my-project
REGION
:Cloud Router 所在的 Google Cloud 地區,例如us-west1
NAME
:要更新的 Cloud Router 名稱,例如cloud-router-a
NETWORK
:包含 Cloud Router 的 VPC 網路,例如network-a
INTERFACE_NAME_1
:主要介面的名稱,例如router-appliance-interface-0
SUBNET
:包含 RFC 1918 內部 IP 位址的子網路網址IP_ADDRESS
:要用於介面的內部 IP 位址,例如10.0.1.5
或10.0.1.6
INTERFACE_NAME_2
:備援 Cloud Router 介面的名稱,例如router-appliance-interface-1
下列指令會在
cloud-router-a
上建立第一個介面,如範例設定所述:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "region":"us-west1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.5", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/>" } ] }
下列指令會在
cloud-router-a
上建立備援介面,如範例設定所述:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "region":"us-west1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.5", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1" }, { "name":"router-appliance-interface-0", "privateIpAddress:"10.0.1.6", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a-1", "redundantInterface": "router-appliance-interface-0" } ] }
- 前往「Network Connectivity Center」頁面。 前往 Network Connectivity Center
- 在專案下拉式選單中選取專案。
- 按一下「Spokes」分頁標籤。
- 在「Spoke name」(Spoke 名稱) 欄中選取 Spoke,即可查看「Spoke details」(Spoke 詳細資料) 頁面。
在「名稱」欄中找到
router-app-a
。 按一下展開圖示,即可顯示「設定 BGP 工作階段」連結。點選任一連結。系統隨即會顯示「設定 Cloud Router 和 BGP 工作階段」面板。-
在「Cloud Router」部分中,執行下列其中一項操作:
- 如要選取現有的 Cloud Router,請按一下「使用現有項目」。使用「Cloud Router」欄位找出適當的資源,然後按一下「Select and continue」。
- 如要在「Network Connectivity Center」頁面建立 Cloud Router,請按一下「建立新項目」,然後按照提示建立 Cloud Router。然後按一下「建立並繼續」。
- 在「BGP Sessions」(BGP 工作階段) 下方,設定兩個 BGP 工作階段。請針對每個工作階段完成下列步驟一次:
- 按一下「編輯 BGP 工作階段」。
- 填寫表單,輸入「名稱」、「對等互連 ASN」和「通告路徑優先順序 (MED)」。按一下「儲存並繼續」。
- 點選「建立」。
建立第一個 BGP 對等互連:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
建立第二個 BGP 對等互連:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
更改下列內容:
NAME
:要更新的 Cloud Router 名稱PEER_NAME
:要與路由器設備執行個體建立的 BGP 對等互連工作階段名稱INTERFACE
:這個 BGP 對等互連介面的名稱PEER_IP_ADDRESS
:對等互連路由器 (路由器設備執行個體) 的內部 IP 位址,這個位址必須與 VM 主要網路介面的主要內部 IP 位址 (nic0
) 相符PEER_ASN
:這個 BGP 對等互連的 BGP 自治系統編號 (ASN);這個 ASN 必須是 RFC 6996 中定義的 16 位元或 32 位元私人 ASNROUTER_APPLIANCE
:做為路由器設備執行個體的 VM 名稱ROUTER_APPLIANCE_ZONE
:做為路由器設備執行個體的 VM 所在區域REGION
:做為路由器設備執行個體的 VM 所在區域
PROJECT_ID
:Cloud Router 的專案 IDREGION
:做為路由器設備執行個體的 VM 所在區域NAME
:要更新的 Cloud Router 名稱PEER_NAME
:要與路由器設備執行個體建立的 BGP 對等互連工作階段名稱INTERFACE_NAME
:要新增對等的 Cloud Router 介面名稱IP_ADDRESS
:要用於 Cloud Router 介面的 RFC 1918 內部 IP 位址PEER_IP_ADDRESS
:做為路由器設備執行個體的 VM 內部 IP 位址ROUTER_APPLIANCE_INSTANCE
:做為路由器設備執行個體的 VM 名稱 (網址格式)ROUTER_APPLIANCE_ZONE
:做為路由器設備執行個體的 VM 所在區域PEER_ASN
:這個 BGP 對等互連的 BGP 自治系統編號 (ASN);這個 ASN 必須是 RFC 6996 中定義的 16 位元或 32 位元私人 ASN- 前往「Network Connectivity Center」頁面。 前往 Network Connectivity Center
- 在專案下拉式選單中選取專案。
- 按一下「Spokes」分頁標籤。
- 在「Spoke name」(Spoke 名稱) 欄中選取 Spoke,即可查看「Spoke details」(Spoke 詳細資料) 頁面。
- 在「Name」(名稱) 欄中找到
router-app-b
。按一下展開圖示,即可顯示「設定 BGP 工作階段」連結。點選任一連結。系統隨即會顯示「設定 Cloud Router 和 BGP 工作階段」面板。 -
在「Cloud Router」部分中,執行下列其中一項操作:
- 如要選取現有的 Cloud Router,請按一下「使用現有項目」。使用「Cloud Router」欄位找出適當的資源,然後按一下「Select and continue」。
- 如要在「Network Connectivity Center」頁面建立 Cloud Router,請按一下「建立新項目」,然後按照提示建立 Cloud Router。然後按一下「建立並繼續」。
- 在「BGP Sessions」(BGP 工作階段) 下方,設定兩個 BGP 工作階段。請針對每個工作階段完成下列步驟一次:
- 按一下「編輯 BGP 工作階段」。
- 填寫表單,輸入「名稱」、「對等互連 ASN」和「通告路徑優先順序 (MED)」。按一下「儲存並繼續」。
- 點選「建立」。
第一個 BGP 對等互連的範例設定:
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-b-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.0.1.11 \ --peer-asn=65002 \ --instance=router-app-b \ --instance-zone=us-west1-b \ --region=us-west1
第二個 BGP 對等互連的設定範例如下:
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-b-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.0.1.11 \ --peer-asn=65002 \ --instance=router-app-b \ --instance-zone=us-west1-b \ --region=us-west1
登入設備。如要指定每個自訂已知路徑,請為該 IP 前置字元設定靜態路徑,並將下一個躍點設為外部網路。這是必要步驟,因為路由器設備執行個體需要知道如何轉送使用自訂學習路徑的流量。
更新 Cloud Router 上的 BGP 工作階段,以使用自訂學習路徑。請按照「更新現有工作階段以使用自訂學習路徑」一文所述步驟操作。
- 如要刪除路由器設備執行個體,請參閱「刪除路由器設備執行個體」。
- 如要查看解決方案已整合 Network Connectivity Center 的合作夥伴清單,請參閱「Network Connectivity Center 合作夥伴」。
- 如要查看路由器設備的監控和記錄資訊,請參閱「查看記錄和指標」一文。
- 如要尋找 Router 設備問題的解決方案,請參閱「疑難排解」。
- 如要瞭解 API 和 gcloud CLI 的詳細資訊,請參閱「API 和參考資料」。
啟用 Network Connectivity API
您必須先啟用 Network Connectivity API,才能使用 Network Connectivity Center 執行任何工作。
控制台
如要啟用 Network Connectivity API,請按照下列步驟操作:
或者,您也可以使用Google Cloud 控制台 API 程式庫啟用 API,如「啟用 API」一文所述。
取得存取權
如要使用 Network Connectivity Center,您需要具備角色和權限一文所述的權限。
設定網路連線中心時,您也會使用虛擬私有雲網路、子網路和防火牆規則等 Google Cloud資源。如要進一步瞭解使用這些資源所需的權限,請參閱 Compute Engine 存取權控管說明文件。
IP 位址和路由器設備執行個體
如要設定路由器設備執行個體,您必須在執行個體和 Cloud Router 之間建立對等互連。如要設定對等互連,VM 必須使用 RFC 1918 內部 IP 位址。如果 VM 使用不同類型的位址,您就無法對等互連這兩項資源。
如要瞭解如何查看 VM 的 IP 位址,請參閱下列文件:
如要瞭解 IP 位址類型定義和詳細資訊,請參閱「IP 位址」一文。
預留靜態內部 IP 位址 (建議)
建議您為路由器設備執行個體指派靜態內部 IP 位址,這樣位址就不會在重新啟動時變更。如果位址變更,BGP 對等互連就會失敗。
您可以透過多種方式指派保留的 IP 位址。您可以預先保留 IP 位址。或者,您也可以在建立 VM 時保留 IP 位址。如果誤將暫時位址指派給 VM,之後可以將該位址轉換為靜態位址。如要進一步瞭解靜態 IP 位址,請參閱「保留靜態內部 IP 位址」。
BGP 對等互連的 IP 位址
路由器設備執行個體會使用內部 IP 位址與 Cloud Router 對等互連。執行個體不會使用連結本機位址 (例如 169.254.x.x
) 進行 BGP 對等互連。
同樣地,雲端路由器會使用兩個 RFC 1918 內部 IP 位址與路由器設備執行個體對等互連,每個介面各使用一個位址。您可以從子網路手動或自動指派這些 IP 位址,該子網路同時包含路由器設備執行個體介面和 Cloud Router 介面。
建立虛擬私有雲資源
下列各節說明如何建立 VPC 網路和子網路。
建立虛擬私人雲端網路
建立虛擬私有雲網路 (如果尚未建立)。將網路的動態轉送模式設為 global
。
如要進一步瞭解如何建立虛擬私有雲網路,請參閱「建立網路」。
主控台
如要使用 Google Cloud 控制台建立自訂虛擬私有雲網路,請參閱建立自訂模式網路。請務必將「動態轉送模式」設為「全域」。如要遵循範例設定中使用的命名慣例,請將網路命名為 network-a
。
gcloud
如要建立自訂虛擬私有雲網路,請使用 gcloud compute networks create
指令。
gcloud compute networks create NETWORK \ --subnet-mode custom \ --bgp-routing-mode global
將 NETWORK
替換為虛擬私有雲網路的名稱,例如 network-a
。
API
如要使用 Compute Engine API 建立自訂虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。
建立子網路
在 network-a
中建立一個子網路,用於存放做為路由器設備執行個體的 VM 執行個體。
主控台
如要使用 Google Cloud 控制台新增子網路,請參閱「新增子網路」一文。
如要遵循範例設定中使用的命名慣例,請使用下列值:
gcloud
如要建立虛擬私有雲子網路,請使用 gcloud compute networks subnets create
指令。
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --region=REGION \ --range=RANGE
更改下列內容:
API
如要使用 Compute Engine API 建立 VPC 子網路,請參閱「建立及管理虛擬私有雲網路」。
建立路由器設備 VM
建立做為路由器設備執行個體的 Compute Engine VM。範例設定會使用兩個 VM,分別是 router-app-a
和 router-app-b
。
從高層次來看,您是透過建立使用網路虛擬設備映像檔的 VM,來建立路由器設備映像檔。這張圖片可以是下列任一類型:
如要進一步瞭解如何指定圖片,請參閱下列資源:
如要詳細瞭解如何建立 VM,請參閱「建立及啟動 VM 執行個體」。
本節範例假設您已為路由器設備執行個體保留 IP 位址。詳情請參閱「IP 位址和路由器設備執行個體」。
主控台
如要建立範例設定中顯示的兩個 VM,請參閱「建立並啟動 VM 執行個體」。建立 VM 時,請選擇下列選項:
gcloud
如要建立範例設定中顯示的兩個路由器設備 VM,請使用 gcloud compute instances create
指令。請使用兩次指令,一次建立 router-app-a
,另一次建立 router-app-b
。
下列程式碼範例會為 VM 指派靜態內部 IP 位址和靜態外部 IP 位址。並指定要用於 VM 的供應商提供圖片。
gcloud compute instances create INSTANCE_NAME \ --project=PROJECT \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --network-tier=NETWORK_TIER \ --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \ --can-ip-forward \ --image-project=IMAGE_PROJECT \ --image=IMAGE
更改下列內容:
API
如要建立範例設定中顯示的兩個路由器設備 VM,請使用 compute.instances.insert
方法。請使用這個方法兩次,一次建立 router-app-a
,另一次建立 router-app-b
。
下列程式碼範例會為 VM 指派靜態內部 IP 位址和靜態外部 IP 位址。並指定要用於 VM 的供應商提供映像檔。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "canIpForward": "true", "networkInterfaces": [{ "subnetwork": "regions/REGION/subnetworks/SUBNET", "networkIP": "INTERNAL_IP_ADDRESS", "accessConfigs": [{ "networkTier": "NETWORK_TIER, }] }], "disks": [{ "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true }] }
更改下列內容:
建立允許 BGP 的防火牆規則
建立防火牆規則,允許 TCP 通訊埠 179
上的 BGP 流量傳送至 network-a
。
請務必建立特定防火牆規則,允許流量流向網路虛擬設備 (NVA)。
如要進一步瞭解防火牆指令,請參閱使用虛擬私有雲防火牆規則。
主控台
如要使用Google Cloud 控制台建立虛擬私有雲防火牆規則,請參閱「使用虛擬私有雲防火牆規則」。
gcloud
如要使用 Google Cloud CLI 建立虛擬私有雲防火牆規則,請參閱「使用虛擬私有雲防火牆規則」。
API
如要使用 Compute Engine API 建立虛擬私有雲防火牆規則,請參閱「使用虛擬私有雲防火牆規則」。
建立 Network Connectivity Center 資源
您必須先建立必要的 Network Connectivity Center 資源 (包括路由器設備 Spoke),才能使用路由器設備 VM。
建立中樞
您必須先建立中樞,才能建立 Network Connectivity Center 輪輻。
主控台
gcloud
如要建立中樞,請使用 gcloud network-connectivity hubs create
指令。
gcloud network-connectivity hubs create HUB_NAME \ --description="DESCRIPTION" \ --labels="KEY"="VALUE"
替換下列值:
API
如要建立中樞,請使用 networkconnectivity.hubs.create
方法。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs { "name":"HUB_NAME", "description":"DESCRIPTION", "labels": { "KEY": "VALUE" } }
替換下列值:
建立路由器設備輪輻
建立路由器設備輪輻,使用您剛建立的兩個路由器設備執行個體。如要在路由器設備執行個體和 Cloud Router 之間啟用 BGP 對等互連,就必須建立 Spoke。您會在下一個步驟中建立 Cloud Router。
如要進一步瞭解如何建立輪輻,請參閱「使用中樞和輪輻」。
主控台
輸入基本輪輻詳細資料
輸入路由器設備詳細資料
儲存 Spoke
gcloud
如要建立 Router 設備 Spoke,請使用 gcloud network-connectivity spokes linked-router-appliances create
指令。
以下程式碼片段範例會建立含有兩個路由器設備執行個體的 Spoke。在本範例中,子網路不會使用站對站資料移轉功能。(如要啟用資料移轉功能,請再新增一個旗標:--site-to-site-data-transfer
。)
gcloud network-connectivity spokes linked-router-appliances create NAME \ --hub="HUB_NAME" \ --description="DESCRIPTION" \ --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \ --router-appliance=instance="ROUTER_APPLIANCE_URI_2",ip=IP_ADDRESS_2 \ --region=REGION \ --labels="KEY"="VALUE"
替換下列值:
API
如要建立路由器設備 Spoke,請使用 networkconnectivity.spokes.create
方法。
下列程式碼片段範例會建立包含兩個路由器設備執行個體的輪輻。每個例項都會納入 linkedRouterApplianceInstances.instances
陣列。
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME { "hub": "HUB_URI", "labels": {"KEY": "VALUE"}, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "ROUTER_APPLIANCE_URI", "ipAddress": INTERNAL_IP_ADDRESS, }, { "virtualMachine": "ROUTER_APPLIANCE_URI_2, "ipAddress": INTERNAL_IP_ADDRESS_2, } ], "siteToSiteDataTransfer": BOOLEAN } }
替換下列值:
設定 Cloud Router
路由器設備會使用 Cloud Router 與 VPC 網路交換路徑。因此,您必須建立 Cloud Router,並完成其他幾項設定工作。
建立 Cloud Router
在路由器 VM 所在的網路和區域中建立資源。在範例設定中,這些資源為 network-a
和 us-west1
。
詳情請參閱「建立 Cloud Router」。
主控台
如要在 Google Cloud 控制台中建立 Cloud Router,請使用下列其中一種方法:
gcloud
如要建立 Cloud Router,請使用 gcloud compute routers create
指令。
gcloud compute routers create NAME \ --region=REGION \ --network=NETWORK \ --asn=ASN \ --project=PROJECT_ID
更改下列內容:
API
如要建立 Cloud Router,請使用 compute.routers.insert
方法。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "NAME", "network": "NETWORK", "bgp": { "asn": ASN } }
更改下列內容:
在 Cloud Router 上建立兩個備援介面
建立兩個備援 Cloud Router 介面,在範例設定中,這些介面會與 subnet-a-1
建立關聯。
Cloud Router 介面使用區域內部 IP 位址。
如果您明確指定介面的內部 IP 位址,該 IP 位址必須屬於子網路的主要 IP 位址範圍。這個 IP 位址不得由其他資源使用,例如 VM 或其他 Cloud Router 介面。如要預先保留子網路的 IP 位址,請建立位址資源,然後將保留的 IP 位址用於 Cloud Router 介面。
使用 Google Cloud 控制台建立 BGP 對等互連時,系統會自動建立介面,因此這個步驟沒有 Google Cloud 控制台操作說明。
gcloud
如要建立範例設定中顯示的兩個備援 Cloud Router 介面,請使用 gcloud compute routers add-interface
指令。請使用兩次指令,一次建立 router-appliance-interface-0
,另一次建立 router-appliance-interface-1
。
如果未指定 --ip-address
選項,Google 會嘗試從子網路的主要 IP 範圍中找出可用的 IP 位址,並指派給介面。
API
如要建立範例設定中顯示的兩個備援 Cloud Router 介面,請使用 compute.routers.patch
方法。請使用這個方法兩次,一次建立 router-appliance-interface-0
,另一次建立 router-appliance-interface-1
。
如果未指定 privateIpAddress
選項,Google 會嘗試從子網路的主要 IP 範圍中尋找可用的 IP 位址,並指派給介面。
在 Cloud Router 上設定 BGP 對等互連
您必須在 Cloud Router 上為每個路由器設備執行個體建立兩個 BGP 對等互連,每個 Cloud Router 介面各一個。BGP 對等互連 IP 位址必須是設為路由器設備執行個體的 VM 主要內部 IP 位址。
為「router-app-a
」建立 BGP 對等互連
本節說明如何為範例設定中名為 router-app-a
的路由器設備執行個體建立兩個 BGP 對等互連。下一節說明如何在 router-app-b
上建立兩個 BGP 對等互連。
以下範例說明如何在 Cloud Router cloud-router-a
的兩個介面上,將 router-app-a
設定為 BGP 對等互連。
主控台
gcloud
如要在 Cloud Router 上為 router-app-a
建立 BGP 對等互連,請使用 gcloud compute routers add-bgp-peer
指令。請使用兩次指令,第一次建立第一個 BGP 對等互連,第二次建立第二個 BGP 對等互連。
下列範例程式碼片段說明如何為 router-app-a
建立對等互連:
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.0.1.10 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-west1-a \ --region=us-west1
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.0.1.10 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-west1-a \ --region=us-west1
API
如要在 Cloud Router 上為 router-app-a
建立 BGP 對等互連,請使用 compute.routers.patch
方法。請使用這個方法兩次,一次建立第一個 BGP 對等互連,另一次建立第二個 BGP 對等互連。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "bgpPeers": [ { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN, } { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN } ] }
更改下列內容:
下列範例程式碼片段說明如何為 router-app-a
建立對等互連:
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.0.1.5", "peerIpAddress": "10.0.1.10", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.0.1.6", "peerIpAddress": "10.0.1.10", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-a/instances/router-app-a", "peerAsn": 65001 } ] }
為「router-app-b
」建立 BGP 對等互連
如先前所述,Cloud Router 可與多個設定為路由器設備執行個體的 VM 建立 BGP 工作階段。這些 VM 必須位於相同區域。如要建立這項設定,請在相同的 Cloud Router 介面上建立額外的 BGP 對等互連工作階段。
上一節說明如何設定 router-app-a
的 BGP 對等互連。本節說明如何在 Cloud Router cloud-router-a
的兩個介面上,額外將 router-app-b
設定為 BGP 對等互連。
主控台
gcloud
如要在 Cloud Router 上為 router-app-b
建立兩個 BGP 對等互連,請使用 gcloud compute routers add-bgp-peer
指令。請使用兩次指令,第一次建立第一個 BGP 對等互連,第二次建立第二個 BGP 對等互連。
API
如要在 Cloud Router 上為 router-app-b
建立兩個 BGP 對等互連,請使用 compute.routers.patch
方法。請使用這個方法兩次,一次建立第一個 BGP 對等互連,另一次建立第二個 BGP 對等互連。
PATCH https://compute.googleaps.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-b-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.0.1.5", "peerIpAddress": "10.0.1.11", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b", "peerAsn": 65002, } { "name": "router-appliance-bgp-peer-router-app-b-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.0.1.6", "peerIpAddress": "10.0.1.11", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-west1-b/instances/router-app-b", "peerAsn": 65002 } ] }
在路由器設備執行個體上設定 BGP
如要設定路由器設備執行個體,以便透過 BGP 連線至 Cloud Router,請參閱路由器設備映像檔的供應商說明文件。
使用自訂已知路徑
您也可以選擇設定路由器設備執行個體,使用自訂的學習路徑。設定自訂學習路徑時,Cloud Router 的行為反應就會像是已掌握 BGP 對等點 (路由器設備執行個體) 的路徑一樣。
如要使用自訂學習路線,請完成下列步驟:
使用 MD5 驗證
如果您使用的路由器設備映像檔支援 MD5 驗證,可以選擇為 BGP 對等互連工作階段新增驗證。如要瞭解如何搭配使用 Cloud Router 與 MD5 驗證,請參閱「使用 MD5 驗證」。