GDC 中的子網路和 IP 位址

本總覽頁面說明 Google Distributed Cloud (GDC) 實體隔離環境中 IP 位址的運作模式。IP 位址會劃分為子網路,方便您將可管理的區隔分配給服務。您可以定義具有特定 IP 位址範圍的子網路,也可以設定動態分配。

本頁內容適用於平台管理員群組中的網路管理員,以及應用程式運算子群組中的應用程式開發人員。這些人員負責管理 GDC 世界中服務的網路流量。詳情請參閱 GDC air-gapped 的目標對象說明文件

GDC 中的網路

GDC 機構提供兩種不同的網路類型,可供您分配 IP 位址:

  • 虛擬私有雲 (VPC):這類網路會分配內部 IP 位址,只有貴機構內的工作負載可以存取。
  • 外部網路區隔:此網路會分配外部 IP 位址,可供連線至貴機構的外部網路存取。

您可以在每種網路類型中分配子網路,以達成特定目標。子網路是 IP 位址網路的邏輯細分,由無類別跨網域路由 (CIDR) 範圍定義。CIDR 範圍可供服務使用,代表 IP 位址及其對應的網路。這些網路類型中的每個網路都有獨立的子網路樹狀結構。

虛擬私有雲中的子網路可從 GDC 網路內存取,但無法從 GDC 外部存取。虛擬私有雲子網路可供貴機構分配內部 IP 位址。網路區隔子網路會公開給與機構連線的外部網路,讓您提供可供機構外部網路使用的外部 IP 位址

虛擬私有雲網路

虛擬私有雲網路使用的內部 IP 位址只能在貴機構內存取,貴機構外的網路無法連線。

GDC 宇宙中有兩個可用的虛擬私有雲網路:

  • 預設 VPC:VPC 會在多個可用區內和之間,為容器和虛擬機器 (VM) 等內部工作負載分配 IP 位址。
  • 基礎架構虛擬私有雲:由系統管理的虛擬私有雲,用於代管第一方 GDC 氣隙服務,例如 Vertex AI、Observability API 和 GDC 控制台。只有在規劃貴機構的 IP 位址架構時,才需要定義這個虛擬私有雲中的 IP 位址。

在同一個機構中,預設 VPC 和基礎架構 VPC 內的 IP 位址不得重疊。詳情請參閱「IPv4 使用方式和限制」。

在虛擬私有雲網路中建立子網路,為內部工作負載分配額外的 IP 位址。

外部網路區隔

外部網路區隔會分配外部 IP 位址,供連線至貴機構的外部網路存取。GDC 中的網路區隔只會分配外部 IP 位址。

GDC 提供下列邏輯上彼此獨立的網路區隔:

您可以使用不同的互連,將網路區隔連線至其他外部網路。網路區隔內的 IP 位址不得重疊。詳情請參閱「IPv4 使用方式和限制」。

在網路區隔中建立子網路,為必須連線至 GDC 組織外部網路的服務分配額外的外部 IP 位址。

子網路階層

子網路會依類型分類:

  • :其他子網路可從中衍生的頂層子網路。在佈建機構期間,系統會在每個網路中建立全域根子網路。
  • 分支:衍生自根子網路或其他分支子網路的子網路,用於進一步細分 IP 位址空間。
  • 葉節點:最小的細分單位,通常用於為特定服務或資源分配 IP 位址。

您可以細分子網路,將 IP 位址分配給網路。

以下範例圖表說明不同子網路類型之間的連線方式:

  • 10.0.0.0/16 的根子網路,可做為主要 IP 位址分配的頂層區塊。
  • 從根子網路衍生出兩個分支子網路,值分別為 10.0.1.0/2410.0.2.0/24。這些分支子網路代表根目錄位址空間的細分,適用於更具體的用途。
  • 分支子網路會進一步細分為葉子子網路,值如 10.0.1.10/3210.0.1.11/3210.0.2.12/24。這些葉子子網路通常是最小的細分項目,經常為特定服務或資源分配單一 IP 位址。

這個子網路階層結構可讓您在網路中,有效率地委派及整理依賴 IP 位址的工作負載和服務。

全域和可用區子網路

在 GDC 中,您可以在兩種不同範圍內佈建子網路:區域和全域。區域和全域子網路是在不同的 API 伺服器中定義及運作,並提供不同的功能。

機構佈建完成後,每個網路都會有一個全域根子網路,該子網路會託管在機構的全域 API 伺服器中。如要從全域根子網路佈建 IP 位址,您必須在全域 API 伺服器中建立全域 Subnet 資源,將 CIDR 區塊佈建至一個或多個可用區。在全域子網路中,您可以定義 propagationStrategy 欄位,指出要在各個可用區中分配 CIDR 區塊的方式。這個 IP 位址範圍會佈建至區域,做為區域根子網路。

區域擁有自己的區域根子網路後,您可以在區域的管理 API 伺服器中建立區域性 Subnet 資源,進一步將子網路的 IP 位址範圍劃分為區域內的其他分支子網路,或可用於區域內個別工作負載和服務的葉子子網路。

全域子網路

您必須建立全域子網路,才能將全域 API 伺服器中根子網路的 IP 位址,分配給 GDC 宇宙中的一個或多個區域。

全域子網路是在全域 API 伺服器中,使用 ipam.global.gdc.goog/v1 API 群組建立,並包含 zonepropagationStrategy 等選用欄位,用於定義與特定區域的互動。

全域子網路會將 CIDR 區塊做為分支子網路範圍,供 GDC 宇宙中的區域使用。如要進一步瞭解要在何處建立全域子網路,請參閱 GDC 中的網路

區域子網路

區域子網路會連結至特定作業區域,通常包括直接網路設定。區域子網路嚴格來說只在單一區域中運作,主要用於該區域內的虛擬機器和容器工作負載。區域子網路會進一步分配已為區域佈建的 IP 位址,供全域子網路使用。

如要讓虛擬私有雲之間的通訊跨區域正常運作,每個區域都必須使用不重疊的子網路。

區域子網路是在管理 API 伺服器中,使用 ipam.gdc.goog/v1 API 群組建立,並在規格中包含選用的 networkSpec 欄位,因此您可以定義區域專屬的網路元素,例如閘道和 VLAN ID。

子網路標籤

標籤分為四種:

  • ipam.gdc.goog/vpcipam.gdc.goog/network-segment 用於識別這個子網路所屬的網路。
  • ipam.gdc.goog/usage 反映這個子網路的用途。
  • ipam.gdc.goog/subnet-group 可識別這個子網路所屬的子網路群組。我們將在下一個「子網路群組」部分介紹子網路群組功能。

下表顯示網路與網路標籤之間的對應關係:

網路 標籤
預設虛擬私有雲 ipam.gdc.goog/vpc: default-vpc
基礎架構虛擬私有雲 ipam.gdc.goog/vpc: infra-vpc
管理員網路區段 ipam.gdc.goog/network-segment: admin
資料網路區隔 ipam.gdc.goog/network-segment: data

這四個網路的 CIDR 範圍是在您機構的啟動程序中設定。四個對應的全域子網路位於全域 API 伺服器中。 這些全域子網路是機構中所有區域內各個網路的根層級 CIDR 範圍。所有根層級的全球子網路都有另一個標籤 ipam.gdc.goog/usage: network-root-range

在每個區域中,區域網路根子網路一開始會在源自機構佈建的全球 API 伺服器中提供。您可以建立其他根子網路,擴展 IP 位址空間。每個根子網路都會代管特定區域中網路的 CIDR 範圍,並在邏輯上做為標籤為 ipam.gdc.goog/usage: zone-network-root-range 的區域範圍根子網路。這個根子網路必須先在全域 API 伺服器中建立,然後自動傳播至指定區域。如要進一步瞭解子網路範圍,請參閱「全域和區域子網路」。

建立 Subnet 自訂資源時,您必須使用定義的標籤,將該資源套用至適當的 GDC 網路。下圖說明 GDC 世界中的全域和區域網路:

子網路位於區域和全域 API 伺服器中。

在這張圖中,有兩個機構橫跨多區域宇宙。每個機構都會定義虛擬私有雲網路和外部網路區隔。在這個範例中,任播 IP 位址用於在區域外部網路區隔之間轉送流量,因此最近或效能最佳的區域會為網路要求提供服務。如要進一步瞭解任播 IP 位址,請參閱「GDC 中的 IP 位址」。

子網路群組

子網路群組是一組具有相同子網路群組標籤的子網路 (例如 *ipam.gdc.goog/subnet-group: subnetgroup1)。將子網路歸入群組可帶來下列好處:

  1. 子網路群組可簡化 IP 資源的擴充作業,這些資源由同一實體擁有或用於相同用途。子網路本身無法擴充,但您可以將新子網路附加至子網路群組,藉此擴充子網路群組。使用者可以將子網路群組做為 IP 資源,並利用其擴充便利性。
  2. 建立子網路時,使用者可以將子網路群組參照為父項,而非單一子網路。以這種方式使用子網路群組時,使用者不需要自行尋找具有可用 IP 空間的上層子網路,IPAM 會自動在子網路群組中尋找具有足夠可用 IP 空間的子網路做為上層。
  3. 當單一用途或實體的 IP 資源用盡時,如果以子網路群組做為父項,子網路中的錯誤資訊會更直接,減少逐一檢查所有子網路的辛勞。

所有子網路群組功能都適用於全域子網路和可用區子網路。

建立及擴充子網路群組

沒有子網路群組的 API 或物件。子網路群組會改用子網路群組標籤識別。如要建立或新增至子網路群組,請將子網路群組標籤新增至現有子網路,或建立具有子網路群組標籤的新子網路。

如果子網路群組尚未存在,系統會建立新的子網路群組。如果相同命名空間中已有其他子網路具有相同的子網路群組標籤,則新子網路會新增至現有子網路群組。

以下範例顯示附加至名為 default-vpc-us-east67-b-group 的子網路群組的子網路定義。

apiVersion: ipam.gdc.goog/v1
kind: Subnet
metadata:
  ...
  labels:
    ipam.gdc.goog/subnet-group: default-vpc-us-east67-b-group
    ipam.gdc.goog/usage: zone-network-root-range
    ipam.gdc.goog/vpc: default-vpc
  name: default-vpc-us-east67-b-root-cidr
  namespace: platform
  ...
spec:
  ipv4Request:
    cidr: 10.99.0.0/16
  parentReference:
    name: default-vpc-root-cidr
    namespace: platform
    type: SingleSubnet
  type: Branch

建立及擴充子網路群組的規則

  1. 子網路群組是依命名空間範圍定義。如果子網路的子網路群組標籤相同,但位於兩個不同的命名空間,系統會將這些子網路視為屬於兩個不同的子網路群組。
  2. 子網路不能是同一群組中另一個子網路的後代。
  3. 同一群組中的子網路必須屬於相同的 VPC 或網路區隔。
  4. 子網路只能附加至一個子網路群組。

使用子網路群組做為父項

建立子網路時,使用者可以參照子網路群組做為父項,而不必使用單一子網路做為父項。如要將子網路群組參照為父項,請完成下列步驟:

  1. 明確將 spec.parentReference.type 設為 SubnetGroup。如未填寫此欄位,則預設值為 SingleSubnet
  2. 如果上層子網路群組與子網路位於不同命名空間,則必須將 spec.parentReference.namespace 指定至上層子網路群組的命名空間

從子網路群組建立子網路後,IPAM 會根據子網路的要求和上層子網路群組中子網路的可用性,從子網路群組分配 CIDR。如果找到合適的父項子網路,子項子網路會從中取得 CIDR,且父項子網路的參照會更新至子項子網路的狀態。

在下列範例中,子網路會向 default-vpc-zone1-group 要求 CIDR,並在狀態中獲派上層 platform/default-vpc-zone1-root-cidr

apiVersion: ipam.gdc.goog/v1
kind: Subnet
metadata:
...
  labels:
    ipam.gdc.goog/vpc: default-vpc
  name: default-vpc-default-node-subnet
  namespace: platform
...
spec:
  ipv4Request:
    prefixLength: 23
  networkSpec:
    enableGateway: true
    enableVLANID: false
  parentReference:
    name: default-vpc-zone1-group
    namespace: platform
    type: SubnetGroup
  type: Branch
status:
  allocatedParent:
    name: default-vpc-zone1-root-cidr
    namespace: platform
    type: SingleSubnet
...

將子網路群組參照為父項的規則

  1. 以子網路群組做為父項時,子網路建立者必須對子網路群組中的所有子網路擁有「使用」權限。
  2. 子網路必須與子網路群組位於相同的 VPC 或網路區隔。

靜態和動態 CIDR 設定

定義子網路時,您可以透過靜態或動態設定指派 CIDR 區塊。

靜態 CIDR 設定可讓您為子網路明確指定確切的 CIDR 區塊。如要精確控管 IP 位址空間,請靜態分配 CIDR 區塊。使用 Subnet 自訂資源中的 spec.ipv4Request.cidr 欄位,指定預先定義的確切 IP 位址範圍。

動態 CIDR 設定可讓系統自動為子網路分配 CIDR 區塊,提供更大的彈性。您不必提供完整的 CIDR,而是要在 spec.ipv4Request.prefixLength 欄位中指定必要的前置字串長度。如果您希望系統自動將 IP 位址委派給子網路,簡化網路規劃並降低 IP 位址衝突的風險,請動態分配 CIDR 區塊。系統會從父項網路中選取指定大小的可用的 CIDR 區塊。

詳情請參閱 SubnetRequest API。

GDC 中的 IP 位址

VM 和負載平衡器等資源在 GDC 中都有 IP 位址。這些 IP 位址可讓 GDC 資源與機構內的其他資源通訊,或與機構連線的外部網路通訊。GDC 宇宙提供下列 IP 位址類型:

外部 IP 位址

外部 IP 位址會向與機構連線的外部網路宣傳。具有外部 IP 位址的資源 (例如負載平衡器和 NAT) 可以與外部網路通訊。使用 GDC 時,您可以將私人或公開 IP 位址做為外部位址。您可以透過下列方式為資源提供外部 IPv4 位址:

  • 自備外部 IP 位址 (BYOIP):您為貴機構提供這些外部 IP 位址。只要不連線至相同的外部網路,BYOIP 外部 IP 位址就能與其他機構重疊。
  • IO 提供的外部 IP 位址:機構可以透過基礎架構營運商群組提供的外部 IP 位址,連線至外部網路。基礎架構營運商群組是該網路的連線供應商。
內部 IP 位址

無法從 GDC 外部直接連線至內部 IP 位址,且內部 IP 位址無法公開路由。內部 IP 位址是 VPC 網路、透過 VPC 網路對等互連方式連線的 VPC 網路,或是透過 Cloud VPN 連線至 VPC 網路的內部部署網路的本機位址。具有內部 IP 位址的資源會與其他資源通訊,就像所有資源都位於同一個私人網路中一樣。

Anycast IP 位址

Anycast IP 位址是特殊的外部位址類型,一律以整個 GDC 宇宙為範圍。GDC 會利用任意傳播 IP 位址和邊界閘道通訊協定 (BGP),將流量轉送至最近或效能最佳的區域。在兩個以上區域執行的每個全域第 4 層服務,都會從任播子網路 (外部子網路) 收到任播 IP 位址。每個區域都會宣傳相同的任播 IP 位址,但您的網路會根據其路由規則選擇最佳位址。如果可用區發生故障,系統會撤銷其 IP 位址,您的網路也會自動將流量重新導向至其他可用區。即使發生中斷情形,這項自動轉送功能也能提供順暢的連線體驗。

私人 IP 位址

私人 IP 位址是指無法在網際網路上路由傳送的位址。如需私人 IPv4 範圍清單,請參閱「有效 IPv4 範圍」表格中的私人 IP 位址範圍項目。

公開 IP 位址

公開 IP 位址是可透過網際網路轉送的位址。在 GDC 中,外部 IP 位址可以是公開或私人 IP 位址。在虛擬私有雲網路中設定子網路的主要 IPv4 位址範圍時,您也可以使用公開 IPv4 位址做為內部位址。這些位址稱為私人的公開 IP 位址。

IPv4 使用情形和限制

GDC 宇宙中的每個網路都有一些 IPv4 位址範圍使用限制,您在分配 IP 位址時必須考量這些限制。預設 VPC 和資料網路區隔不支援 IPv6 位址範圍。如要在其他網路中使用 IPv6 範圍,請洽詢基礎架構營運商群組。

所有 IPv4 子網路的限制

這些限制適用於 VPC 網路子網路和外部網路區隔子網路。

  • 所有子網路都必須是不重複且有效的 CIDR 區塊
  • 建立子網路後,就無法擴大、替換或縮小子網路。
  • GDC 不會強制限制可建立的 CIDR 大小。不過,對於大於 /8 的大多數 IP 位址範圍,額外的驗證會防止您建立這麼大的子網路。舉例來說,子網路不得與禁止使用的子網路重疊。為盡量避免選擇無效的子網路,建議您將子網路大小上限設為 /8
  • 您無法建立與任何禁止使用的子網路、相同虛擬私有雲網路中的任何其他子網路、附加外部網路區隔中的任何子網路,或對等互連網路中的任何子網路重疊的子網路。您必須與基礎架構營運商群組合作,確保在這些情況下不會建立重疊的子網路。

  • GDC 會為子網路建立對應的路徑。虛擬私人雲端網路子網路的路徑是在貴機構的虛擬網路堆疊中建立,外部網路區隔子網路的路徑則是在外部對等互連網路的路由表建立。

  • 如果您使用受管理 VPN,或共用或專屬互連,將虛擬私有雲網路連至另一個網路,請確認子網路與內部部署 IP 位址沒有衝突。

  • 子網路不得與禁止範圍相符,也不得小於或大於禁止範圍。舉例來說,169.0.0.0/8 與受限的連結本機範圍 169.254.0.0/16 (RFC 3927) 重疊,因此並非有效的子網路。

  • 子網路不得涵蓋 RFC 範圍 (如「有效的 IPv4 範圍」所述),以及私用公開的 IP 位址範圍。舉例來說,172.0.0.0/10 不是有效的子網路,因為這個範圍同時包含 172.16.0.0/12 私人 IP 位址範圍和公開 IP 位址。

  • 子網路不得涵蓋多個 RFC 範圍。舉例來說,192.0.0.0/8 無效,因為這個子網路同時涵蓋 192.168.0.0/16 (RFC 1918) 和 192.0.0.0/24 (RFC 6890)。不過,您可以建立兩個子網路,一個使用 192.168.0.0/16,另一個使用 192.0.0.0/24

有效的 IPv4 範圍

下表說明有效範圍。

範圍 說明
私人 IPv4 位址範圍
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

私人 IP 位址 RFC 1918

如要瞭解如何使用 172.17.0.0/16,請參閱「其他注意事項」。

100.64.0.0/10 共用位址空間 RFC 6598
192.0.0.0/24 IETF 通訊協定指派項目 RFC 6890
192.0.2.0/24 (TEST-NET-1)
198.51.100.0/24 (TEST-NET-2)
203.0.113.0/24 (TEST-NET-3)
說明文件 RFC 5737
192.88.99.0/24 IPv6 至 IPv4 中繼 (已淘汰) RFC 7526
198.18.0.0/15 基準測試 RFC 2544
240.0.0.0/4

RFC 5735RFC 1112 所述,保留供日後使用 (E 類)。

部分作業系統不支援使用這個範圍,因此請先確認作業系統支援這個範圍,再建立使用這個範圍的子網路。

私人使用的公開 IP 位址範圍
私人使用的公開 IPv4 位址 私人使用的公開 IPv4 位址:

GDC 氣隙隔離方案不會假設連線至網際網路。因此,GDC 氣隙會將所有公開 IP 位址範圍視為貴機構的私人 IP 位址範圍。

如果您匯入的自備 IP 位址 (BYOIP) 是公開 IP 位址範圍,請務必確認這些位址不會在任何外部網路中造成網路問題。您的 BYOIP 位址不得與貴機構中的其他子網路重疊。

禁止使用的 IPv4 子網路

禁止的子網路範圍包括通常會保留的 RFC 範圍,以及特定 GDC 領域中任何全域保留的子網路,如下表所述。這些範圍無法用於子網路。

範圍 說明
GDC 基礎架構範圍 GDC 系統使用的全球保留 CIDR。如果客戶填寫問卷調查 (CIQ) 時,未在 zone-infra-cidr 欄位指定這個範圍,GDC 預設會使用 172.16.0.0/12 做為 GDC 基礎架構範圍。
宇宙專屬範圍 基礎架構營運商群組保留的其他範圍。
0.0.0.0/8 目前的 (本機) 網路 RFC 1122
127.0.0.0/8 本機主機 RFC 1122
169.254.0.0/16 本機連結 RFC 3927
224.0.0.0/4 多點傳播 (D 類) RFC 5771
255.255.255.255/32 有限的廣播目的地地址 RFC 8190RFC 919

IPv4 子網路中無法使用的位址

GDC 會使用各子網路中的前兩個和末兩個 IPv4 位址,託管該子網路。

無法使用的 IPv4 位址 說明 範例
網路位址 主要 IPv4 範圍中的第一個位址。 10.1.2.0圖表 (範圍值為 10.1.2.0/24)
預設閘道地址 主要 IPv4 範圍中的第二個位址。 10.1.2.1圖表 (範圍值為 10.1.2.0/24)
倒數第二個地址 主要 IPv4 範圍中的倒數第二個位址。

這個範圍由 Google Cloud 保留,供日後使用。

10.1.2.254圖表 (範圍值為 10.1.2.0/24)
廣播地址 主要 IPv4 範圍中的最後一個位址。 10.1.2.255圖表 (範圍值為 10.1.2.0/24)

其他事項

部分 Google 和第三方產品會使用 172.17.0.0/16 在客層作業系統中進行路徑設定。舉例來說,預設的 Docker 橋接網路會使用這個範圍。如果您使用的產品會用到 172.17.0.0/16,請勿將其做為任何子網路 IPv4 位址範圍。

子網路的 IAM 權限

Google Distributed Cloud 實體隔離方案支援豐富的 IAM 權限,可管理子網路。

  • 子網路機構管理員 (全域):管理機構內的多個區域子網路。請要求機構 IAM 管理員授予您子網路機構管理員 (subnet-org-admin) 叢集角色。
  • 子網路機構管理員:管理機構內的區域子網路。請要求機構 IAM 管理員授予您子網路機構管理員 (subnet-org-admin) 叢集角色。
  • 子網路專案管理員 (全域):管理專案內的多個區域子網路。請機構 IAM 管理員授予您子網路專案管理員 (subnet-project-admin) 角色。
  • 子網路專案管理員:管理專案中的區域子網路。請機構 IAM 管理員授予您子網路專案管理員 (subnet-project-admin) 角色。
    • 這個角色有權讀取專案命名空間中的所有子網路,以及在專案命名空間中建立/更新/刪除大部分的子網路。不過,這個角色不會授予建立/更新/刪除根類型子網路 (subnet.Spec.Type == Root) 的權限
  • 子網路專案操作員:管理專案中自動分配的葉類型子網路。請要求機構 IAM 管理員授予您子網路專案運算子 (subnet-project-operator) 角色。
    • 這個角色有權讀取專案 ns 中的所有子網路,但只能在專案命名空間中建立/更新/刪除自動分配的葉子子網路。這個角色不會授予下列子網路的建立/更新/刪除權限:
      • 根或分支類型子網路 (subnet.Spec.Type == Root || subnet.Spec.Type == Branch)
      • 網路子網路 (subnet.Spec.NetworkSpec != nil)
      • 具有專屬 CIDR 的子網路 (subnet.Spec.Ipv4Request.CIDR != nil || subnet.Spec.Ipv6Request.CIDR != nil)
  • 子網路平台檢視者:取得 platform 命名空間中的子網路。請要求機構 IAM 管理員授予您子網路平台檢視者 (subnet-platform-viewer) 角色。
  • 如要在平台命名空間中使用共用子網路做為父項,在專案內分配子網路,請要求機構 IAM 管理員授予您 shared-subnet-user 角色。
  • 如要授權平台命名空間中的專屬子網路做為父項,以便在專案內分配子網路,subnet-org-admin 必須建立或更新子網路,並在其中設定 "ipam.gdc.goog/subnet-delegation-role": auto 註解。然後請機構 IAM 管理員授予使用者 <subnetName>-user 角色。
  • 如要在專案內部子網路分配的平台命名空間中啟用子網路群組,subnet-org-admin 必須建立或更新群組中的所有子網路。每個子網路都必須設定註解 "ipam.gdc.goog/subnet-delegation-role": auto。然後請機構 IAM 管理員為群組中的每個子網路授予 <subnetName>-user 角色。

後續步驟