通告特定的虛擬私有雲子網路
您可以建立自訂的通告路徑,限制 Cloud Router 在虛擬私人雲端 (VPC) 網路中通告的子網路。內部部署用戶端只能看到您通告的子網路,除非您將 Cloud Router 設為通告所有子網路,否則 Cloud Router 不會動態通告新的子網路。如果您選擇只通告特定子網路,且想通告新的子網路,則必須將這些子網路新增為自訂通告路徑。
針對啟用 IPv6 的 BGP 工作階段,您可以為特定內部 (ULA) 和外部 (GUA) IPv6 子網路範圍設定自訂通告路徑。如要瞭解 IPv6 子網路類型,請參閱「IPv6 子網路範圍」。
如要在建立 Cloud Router 或設定 BGP 工作階段時指定自訂廣告路徑,請參閱「建立 Cloud Router」或「建立 BGP 工作階段」。
事前準備
gcloud
如要使用本指南中的指令列範例,請完成下列事項:
- 安裝或更新至最新版 Google Cloud CLI。
- 設定預設地區和區域。
API
如要使用本指南提供的 API 範例,請設定 API 存取權。
在 Cloud Router 上指定自訂通告路徑
如要在現有的 Cloud Router 上指定自訂公告路徑,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud Routers」頁面。
選取要更新的 Cloud Router。
在「路由器詳細資料」頁面中,按一下
「編輯」。在「公告路徑」部分,針對「路徑」選取「建立自訂路徑」。
如果已選取「公告向 Cloud Router 公開的所有子網路」核取方塊,請取消選取。
選取「新增自訂路徑」,即可新增自訂通告路徑。
設定自訂廣告路徑:
- 來源:選取預先定義的子網路清單。Cloud Router 會根據 VPC 網路的動態轉送模式,列出所有可用的子網路。
「IP 位址範圍」:您可以修改通告的子網路 IP 範圍。例如,您可以指定較小的範圍,讓 Cloud Router 只通告子網路的一部分。您可以同時指定 IPv4 和 IPv6 自訂 IP 範圍。不過,IPv6 自訂範圍只會在啟用 IPv6 的 BGP 工作階段中宣傳。
如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂學習路徑數量,請參閱「限制」一文。「說明」:加上說明以識別這個自訂廣告路徑的目的,然後按一下「完成」。
新增自訂通告路徑完畢後,請按一下「儲存」。
gcloud
開始前,請記下要通告的子網路 IP 範圍。
請執行 update
指令。如要指定要通告的子網路 IP 範圍,請使用 --set-advertisement-ranges
標記。如要將 IP 範圍附加到現有廣告,請使用 --add-advertisement-ranges
標記。
使用
--set-advertisement-ranges
標記,即可取代現有的所有自訂廣告路徑:gcloud compute routers update ROUTER_NAME \ --advertisement-mode custom \ --set-advertisement-ranges=ADVERTISED_IP_RANGES
更改下列內容:
ROUTER_NAME
:Cloud Router 的名稱ADVERTISED_IP_RANGES
:新 IP 位址範圍陣列的內容。您可以同時指定 IPv4 和 IPv6 自訂 IP 範圍。不過,IPv6 自訂範圍只會在啟用 IPv6 的 BGP 工作階段中宣傳。如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂學習路徑數量,請參閱「限制」一文。
以下示範如何更新
my-router
Cloud Router,使其通告192.0.2.0/24
和198.51.100.0/24
子網路;現有的自訂通告路徑會遭到取代:gcloud compute routers update my-router \ --advertisement-mode=custom \ --set-advertisement-ranges='192.0.2.0/24,198.51.100.0/24'
以下示範如何更新
my-router
Cloud Router,以通告192.0.2.0/24
和198.51.100.0/24
IPv4 子網路,以及2001:db8:abcd:12::/64
IPv6 子網路:gcloud compute routers update my-router \ --advertisement-mode=custom \ --set-advertisement-ranges='192.0.2.0/24,198.51.100.0/24,2001:db8:abcd:12::/64'
Cloud Router 只會在已啟用 IPv6 的 BGP 工作階段中宣傳 IPv6 範圍。
以下範例使用
--add-advertisement-ranges
標記,將 IP 範圍附加到現有廣告:gcloud compute routers update my-router \ --add-advertisement-ranges='203.0.113.0/24'
以下範例會將
2001:db8:abcd:12::/64
自訂 IPv6 範圍新增至 Cloud Router 的廣告:gcloud compute routers update my-router \ --add-advertisement-ranges='2001:db8:abcd:12::/64'
Cloud Router 只會在已啟用 IPv6 的 BGP 工作階段中宣告 IPv6 範圍。
如果 Cloud Router 的通告群組包括所有子網路,請將這個群組移除,以防止 Cloud Router 通告其他子網路。通告群組是 Cloud Router 動態通告的 Google 定義 IP 範圍。如需所有通告群組的清單,請參閱 Google SDK 說明文件中的 set-advertisement-groups
標記。
以下範例使用
describe
指令檢查 Cloud Router 的通告路徑:gcloud compute routers describe my-router
如果輸出內容包含的
advertisedGroups
欄位顯示all_subnets
值,請移除。以下範例使用update
指令,並加上--remove-advertisement-groups
旗標:gcloud compute routers update my-router \ --remove-advertisement-groups all_subnets
API
請使用 routers.patch
方法更新 bgp.advertisedIpRanges[]
欄位。如果 bgp.advertisedGroups[]
欄位的值目前為 ALL_SUBNETS
,您可能也需要更新該欄位。
bgp.advertisedGroups[]
和 bgp.advertisedIpRanges[]
欄位可接受宣傳群組和宣傳 IP 位址範圍的陣列。PATCH
這些欄位時,您會在要求中將現有的陣列覆寫為新的陣列。
傳送
GET
要求,取得路由器上目前的廣告群組陣列和廣告 IP 範圍。詳情請參閱「查看 Cloud Router 狀態和路徑」。傳送
PATCH
要求,其中包含新的廣告群組和廣告 IP 位址範圍陣列:- 將路由器上所需的任何子網路 IP 位址範圍新增至
bgp.advertisedIpRanges[]
欄位。 - 如果
advertisedGroups[]
欄位目前指定ALL_SUBNETS
值,請傳送空陣列來移除該值,如以下範例所示。這樣 Cloud Router 就不會通告其他子網路。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "bgp": { "advertisedGroups": [], "advertisedIpRanges": [ ADVERTISED_IP_RANGES ] } }
更改下列內容:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:Cloud Router 所在的區域ROUTER_NAME
:Cloud Router 的名稱ADVERTISED_IP_RANGES
:新 IP 位址範圍陣列的內容。除了 IPv4 位址範圍外,您也可以指定 IPv6 自訂 IP 位址範圍。不過,只有在您為此 BGP 工作階段啟用 IPv6 交換功能時,才會宣傳 IPv6 範圍。
如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂已知路徑數量,請參閱「限制」一節。以下範例包含兩個子網路 IPv4 位址範圍和一個 IPv6 位址範圍:
{ "range": "192.0.2.0/24", "description": "First example range" }, { "range": "198.51.100.0/24", "description": "Second example range" }, { "range": "2001:db8:abcd:12::/64", "description: "Third example range" }
- 將路由器上所需的任何子網路 IP 位址範圍新增至
為 BGP 工作階段指定自訂通告路徑
如要為現有 BGP 工作階段指定自訂通告路徑,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud Routers」頁面。
選取您要更新的 BGP 工作階段所屬的 Cloud Router。
在「路由器詳細資料」頁面中,選取要更新的 BGP 工作階段。
在「BGP 工作階段詳細資料」頁面中,按一下
「編輯」。在「路徑」部分,選取「建立自訂路徑」。
如果已選取「公告向 Cloud Router 公開的所有子網路」核取方塊,請取消選取。
選取 [新增自訂路徑] 以新增通告路徑。
設定自訂廣告路徑:
來源:選取預先定義的子網路清單。Cloud Router 會根據 VPC 網路的動態轉送模式,列出所有可用的子網路。
「IP 位址範圍」:您可以修改通告的子網路 IP 範圍。例如,您可以指定較小的範圍,讓 Cloud Router 只通告子網路的一部分。除了 IPv4 位址範圍外,您也可以指定 IPv6 自訂 IP 位址範圍。不過,只有在您為此 BGP 工作階段啟用 IPv6 交換功能時,才會宣傳 IPv6 範圍。
如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂已知路徑數量,請參閱「限制」一節。「說明」:加上說明以識別這個自訂廣告路徑的目的,然後按一下「完成」。
新增自訂路徑後,按一下「儲存」。
gcloud
開始前,請記下要通告的子網路 IP 範圍。
請執行 update-bgp-peer
指令。如要指定要通告的子網路 IP 範圍,請使用 --set-advertisement-ranges
標記。如要將 IP 範圍附加到現有廣告,請使用 --add-advertisement-ranges
標記。
使用
--set-advertisement-ranges
標記;即可取代現有的所有自訂通告:gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --advertisement-mode=custom \ --set-advertisement-ranges=ADVERTISED_IP_RANGES
更改下列內容:
ROUTER_NAME
:Cloud Router 的名稱PEER_NAME
:BGP 對等點名稱- 如果您要新增自訂 IPv6 範圍,可以選擇新增
--enable-ipv6
旗標。 ADVERTISED_IP_RANGES
:新 IP 位址範圍陣列的內容。您可以同時指定 IPv4 和 IPv6 自訂 IP 範圍。不過,IPv6 自訂範圍只會在啟用 IPv6 的 BGP 工作階段中宣傳。如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂已知路徑數量,請參閱「限制」一節。
以下示範如何更新
my-router
Cloud Router 上的my-bgp-session
BGP 工作階段,以通告192.0.2.0/24
、198.51.100.0/24
和2001:db8:abcd:12::/64
子網路;現有的自訂通告路徑會遭到取代:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --enable-ipv6 \ --advertisement-mode=custom \ --set-advertisement-ranges='192.0.2.0/24,198.51.100.0/24,2001:db8:abcd:12::/64'
以下範例使用
--add-advertisement-ranges
標記,將 IP 範圍附加到現有廣告:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges='203.0.113.0/24'
以下範例會將
2001:db8:abcd:12::/64
自訂 IPv6 位址新增至 Cloud Router 的廣告路徑:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --enable-ipv6 \ --add-advertisement-ranges='2001:db8:abcd:12::/64'
如果 BGP 工作階段的通告群組包括所有子網路,請將這個群組移除,以防止 Cloud Router 通告其他子網路。通告群組是 Cloud Router 動態通告的 Google 定義 IP 範圍。如需所有通告群組的清單,請參閱 Google SDK 說明文件中的 set-advertisement-groups
標記。
以下範例使用
describe
指令檢查 Cloud Router 的通告路徑:gcloud compute routers describe my-router
如果相關 BGP 工作階段包含的
advertisedGroups
欄位顯示all_subnets
值,請移除。以下範例使用update
指令並加上--remove-advertisement-groups
標記:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --remove-advertisement-groups=all_subnets
API
使用 routers.patch 方法更新 bgpPeers[]
欄位。
bgpPeers[]
欄位可接受 BGP 對等端陣列。當您 PATCH
這個欄位時,您會將要求中包含的新陣列覆寫現有的 BGP 同端陣列。
傳送
GET
要求,取得路由器目前的 BGP 對等互連陣列。詳情請參閱「查看 BGP 工作階段設定」。傳送
PATCH
要求,並附上新的 BGP 對等點陣列。針對您要新增自訂通告路徑的每個 BGP 對等點,請執行下列操作:將您要的任何子網路 IP 位址範圍廣告新增至
bgpPeers[].advertisedIpRanges[]
欄位。如果您提供 IP 位址前置字元,但未提供子網路遮罩,系統會將其解讀為 IPv4 的
/32
子網路遮罩,以及 IPv6 的/128
。如要瞭解最多可擁有的自訂已知路徑數量,請參閱「限制」一節。如果
bgpPeers[].advertisedGroups[]
欄位目前指定ALL_SUBNETS
值,請將其移除,以防止 BGP 工作階段宣傳其他子網路。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "bgpPeers": [ BGP_PEERS ] }
更改下列內容:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:Cloud Router 所在的區域ROUTER_NAME
:Cloud Router 的名稱BGP_PEERS
:BGP 同級節點的新陣列內容
以下範例包含兩個 BGP 同級節點,其中包含自訂的廣告路徑:
{ "name": "peer-1", "interfaceName": "if-peer-1", "ipAddress": "169.254.10.1", "peerIpAddress": "169.254.10.2", "peerAsn": 64512, "enableIpv6": true, "advertisedRoutePriority": 100, "advertiseMode": "CUSTOM", "advertisedGroups": [], "advertisedIpRanges": [ { "range": "192.0.2.0/24", "description": "First example subnet" }, { "range": "198.51.100.0/24", "description": "Second example subnet" }, { "range": "2001:db8:abcd:12::/64", "description: "Third example subnet" } ] }, { "name": "peer-2", "interfaceName": "if-peer-2", "ipAddress": "169.254.20.1", "peerIpAddress": "169.254.20.2", "peerAsn": 64513, "advertisedRoutePriority": 100, "advertiseMode": "CUSTOM", "advertisedGroups": [], "advertisedIpRanges": [ { "range": "203.0.113.0/24", "description": "Fourth example subnet" } ] }
後續步驟
如要查看 Cloud Router 的設定、BGP 工作階段和 Cloud Router 通告的路徑,請參閱「查看 Cloud Router 詳細資料」。
如要排解自訂宣傳路徑的問題,請參閱疑難排解。