虛擬私有雲網路
虛擬私有雲 (VPC) 網路是實體網路的虛擬版本,透過使用 Andromeda 在 Google 的正式環境網路中實作。
虛擬私有雲網路可執行下列操作:
- 為 Compute Engine 虛擬機器 (VM) 執行個體提供連線。
- 為內部應用程式負載平衡器提供原生內部直通式網路負載平衡器和 Proxy 系統。
- 使用 Cloud VPN 通道和 Cloud Interconnect 的 VLAN 連結,連線至內部部署網路。
- 將來自 Google Cloud 外部負載平衡器的流量分配給後端。
專案可包含多個虛擬私人雲端網路。除非您建立禁止這項操作的機構政策,否則新專案一開始都會設有預設網路 (自動模式虛擬私有雲網路),其中在每個地區都有一個子網路。
網路和子網路
「子網路」和「子網路」是同義詞。兩者在 Google Cloud 控制台、gcloud
指令和 API 說明文件中交替使用。
子網路不是 (虛擬私有雲) 網路。在 Google Cloud中,網路和子網路是不同的資源類型。
詳情請參閱「子網路」。
虛擬機器執行個體
Compute Engine 虛擬機器 (VM) 執行個體是指託管在 Google 基礎架構上的虛擬機器。「Compute Engine 執行個體」、「VM 執行個體」和「VM」是同義詞。Google Cloud 控制台、Google Cloud CLI 參考資料和 API 說明文件中交替使用。
VM 執行個體包括 Google Kubernetes Engine (GKE) 叢集、App Engine 彈性環境執行個體,以及在 Compute Engine VM 上建構的其他 Google Cloud 產品。
如需詳細資訊,請參閱 Compute Engine 說明文件中的「虛擬機器執行個體」。
規格
虛擬私人雲端網路具備以下屬性:
虛擬私有雲網路 (包括相關路徑和防火牆規則) 屬於全球資源。「不會」與任何地區或區域建立關聯。
子網路是地區性資源。
每個子網路都會定義下列 IP 位址範圍:
- 僅支援 IPv4 和雙重堆疊子網路都會定義 IPv4 位址範圍,而雙重堆疊子網路也會定義 IPv6 位址範圍。
- 僅支援 IPv6 的子網路 (預先發布版) 可定義一系列 IPv6 位址。
詳情請參閱「子網路類型」。
您可以使用網路防火牆規則控管執行個體傳送及接收的流量。規則會在 VM 本身實作,因此只有在流量離開或抵達 VM 時,才能控制及記錄流量。
虛擬私人雲端網路中的資源可根據適用的網路防火牆規則,使用內部 IPv4 位址、內部 IPv6 位址或外部 IPv6 位址互相通訊。詳情請參閱「網路內部通訊」。
具有內部 IPv4 或 IPv6 位址的執行個體可與 Google API 和服務通訊。詳情請參閱「各項服務的私人存取權選項」。
您可以利用身分與存取權管理 (IAM) 角色保障網路管理作業的安全。
機構可以運用共用虛擬私有雲,將虛擬私有雲網路保存在一般主專案中。如果相同機構中其他專案的使用者是已獲授權的 IAM 主體,則可讓建立的資源使用共用虛擬私有雲網路的子網路。
只要使用虛擬私有雲端網路對等互連,您就可以將虛擬私有雲端網路連線至不同專案或機構中的其他虛擬私有雲端網路。
您可以使用 Cloud VPN 或 Cloud Interconnect,在混合式環境中安全連線至虛擬私有雲網路。
虛擬私人雲端網路支援 GRE 流量,包括 Cloud VPN 和 Cloud Interconnect 上的流量。虛擬私有雲網路不支援 Cloud NAT 的 GRE 或負載平衡和通訊協定轉送的轉送規則。支援 GRE 可讓您從網際網路 (外部 IP 位址) 和 Cloud VPN 或 Cloud Interconnect (內部 IP 位址) 終止 VM 上的 GRE 流量。然後,解封裝的流量可轉送至可到達的目的地。透過 GRE,您可以使用安全存取服務邊緣 (SASE) 和 SD-WAN 等服務。
虛擬私有雲網路支援 IPv4 和 IPv6 單點傳播位址。虛擬私人雲端網路「不」支援廣播或多點傳送在網路內的位址。
如要進一步瞭解 IPv6 子網路範圍,請參閱「子網路」。
虛擬私人雲端網路範例
下例說明自訂模式 VPC 網路,其中包含兩個區域的三個子網路:
- Subnet1 在 us-west1 地區定義為
10.240.0.0/24
。- 這個子網路有兩個位於 us-west1-a 區域的 VM 執行個體。這兩個執行個體的 IP 位址皆來自「subnet1」的可用位址範圍。
- Subnet2 在 us-east1 地區定義為
192.168.1.0/24
。- 這個子網路有兩個位於 us-east1-b 區域的 VM 執行個體。這兩個執行個體的 IP 位址皆來自「subnet2」的可用位址範圍。
- Subnet3 在 us-east1 地區定義為
10.2.0.0/16
。- 「subnet3」subnet3有一個 VM 執行個體位於 us-east1-b 區域,另一個執行個體則位於 us-east1-c 區域,兩者接收的 IP 位址皆來自 subnet3 的可用範圍。由於子網路屬於地區資源,執行個體可將自身的網路介面與相同地區中的任何子網路建立關聯,執行個體所在的區域也會位於該地區內。
機構政策限制
每個新專案一開始都是使用預設虛擬私有雲網路。您可以建立機構政策,並在其中包含
compute.skipDefaultNetworkCreation
限制,藉此停用「建立預設網路」的功能。繼承這個政策的專案將不會有預設網路。您可以使用機構政策控制下列 IPv6 設定:
停用虛擬私有雲外部 IPv6 用量:如果設為 true,
constraints/compute.disableVpcExternalIpv6
限制就會禁止您設定使用外部 IPv6 範圍的子網路。停用虛擬私有雲內部 IPv6 用量:如果設為 true,
constraints/compute.disableVpcInternalIpv6
限制會禁止您設定內部 IPv6 範圍的子網路。停用所有 IPv6 用量:如果設為「是」,
constraints/compute.disableAllIpv6
限制就會停用與 IPv6 用量有關的任何子網路或其他網路資源的建立或更新作業。
如要進一步瞭解限制,請參閱「機構政策限制」。
子網路建立模式
Google Cloud 提供兩種類型的虛擬私有雲網路,差異在於子網路的建立模式:
建立自動模式 VPC 網路時,系統會在每個地區中自動建立子網路。這類自動建立的子網路會使用一組在
10.128.0.0/9
CIDR 區塊內的預先定義 IPv4 範圍。當新的 Google Cloud 區域可供使用時,這些區域的新子網路會使用該區塊的 IP 範圍,自動新增至自動模式 VPC 網路。除了自動建立的子網路,您還可以使用10.128.0.0/9
以外的 IP 範圍,在您選擇的地區中手動新增更多子網路到自動模式網路。建立自訂模式 VPC 網路時,系統不會自動建立子網路。這類網路可讓您完全控管其子網路和 IP 範圍。在所選區域使用自己指定的 IP 範圍建立子網路,一切由您決定。
您可以將 VPC 網路從自動模式切換至自訂模式。這是單向轉換,自訂模式虛擬私有雲網路無法變更為自動模式虛擬私有雲網路。如要判斷哪類網路符合您的需求,請參閱自動模式虛擬私有雲網路的考量事項。
預設網路
除非選擇停用,否則每個新專案一開始都是使用預設網路。預設網路為自動模式虛擬私有雲網路,具有預先填入的 IPv4 防火牆規則。預設網路沒有預先填入的 IPv6 防火牆規則。
自動模式虛擬私有雲網路的考量事項
自動模式虛擬私有雲網路設定簡單,且用途廣泛,適合以下情況:
能獲益於在每個地區自動建立子網路的功能。
子網路的預先定義 IP 範圍不會與用於其他目的 (例如內部部署資源的 Cloud VPN 連線) 的 IP 範圍重疊。
不過,自訂模式虛擬私人雲端網路相對較有彈性,更適合實際工作環境。下列屬性會強調建議或需要使用自訂模式虛擬私人雲端網路的用途:
不須在每個地區自動建立一個子網路。
當新地區開放使用時,自動建立的新子網路可能會與手動建立子網路或靜態路徑時所用的 IP 位址重疊,或可能干擾整體網路規劃。
您需要完全控管虛擬私人雲端網路中建立的子網路,包括其中使用的地區或 IP 位址範圍。
您打算將虛擬私有雲網路連線至其他網路:
由於每個自動模式虛擬私有雲網路的子網路都會使用相同的預先定義 IP 位址範圍,因此您無法使用虛擬私有雲網路對等互連或 Cloud VPN 連線到自動模式虛擬私有雲網路。
由於自動模式
10.128.0.0/9
CIDR 範圍屬於常用的 RFC 1918 位址空間,因此 Google Cloud 以外的網路可能會使用重疊的 CIDR 範圍。
您想要建立使用 IPv6 範圍的子網路。自動模式 VPC 網路不支援含有 IPv6 範圍的子網路。
IPv4 子網路範圍
每個子網路都有一個主要 IPv4 位址範圍。以下資源的主要內部位址來自子網路的主要範圍:VM 執行個體、內部負載平衡器和內部通訊協定轉送。您可以選擇將次要 IP 位址範圍新增至子網路,該範圍僅供別名 IP 位址範圍使用。不過,您可以從子網路的主要或次要範圍為執行個體設定別名 IP 範圍。
在 VPC 網路中,對於所有子網路的每一個主要或次要 IPv4 範圍,都必須是專屬的有效 CIDR 區塊。如要瞭解可定義的次要 IP 範圍數量,請參閱每個網路的限制。
IPv4 子網路不一定得形成預先定義的連續 CIDR 區塊,不過您也可以視情況採用這種形式。舉例來說,自動模式 VPC 網路建立的子網路就會套用預先定義的自動模式 IP 範圍。
在自訂模式虛擬私人雲端網路中建立子網路時,您可以選擇要使用的 IPv4 範圍。詳情請參閱「有效範圍」、「禁止的子網路範圍」和「IPv4 子網路範圍限制」。
每個主要 IPv4 子網路範圍中都有四個無法使用的 IP 位址。詳情請參閱「IPv4 子網路範圍中不可用的位址」。
自動模式 VPC 網路會在建立時為每個區域建立一個子網路,並在新的區域中自動接收新的子網路。子網路僅包含 IPv4 範圍,且所有子網路範圍都符合 10.128.0.0/9
CIDR 區塊。10.128.0.0/9
的未使用部分會保留供日後Google Cloud 使用。如要瞭解哪個區域使用哪個 IPv4 範圍,請參閱「自動模式 IPv4 子網路範圍」。
IPv6 子網路範圍
在自訂模式虛擬私有雲網路中建立 IPv6 範圍的子網路時,您可以選擇要為子網路設定內部 IPv6 子網路範圍,還是外部 IPv6 子網路範圍。
內部 IPv6 子網路範圍會使用專屬本機位址 (ULA)。
- ULA 可用於 VPC 網路內的 VM 對 VM 通訊。IPv6 的 ULA 類似於 IPv4 的 RFC 1918 位址。ULA 無法透過網際網路存取,且無法公開路由。
外部 IPv6 子網路範圍會使用全域單點傳播位址 (GUA)。
- GUA 可用於 VPC 網路中的 VM 對 VM 通訊,也可以在網際網路上進行路由。
如要進一步瞭解 IPv6 子網路範圍,請參閱「子網路」。
支援 IPv6 位址範圍的子網路
您可以在自訂模式虛擬私有雲網路中,建立 IPv6 位址範圍的子網路。詳情請參閱「使用子網路」。
以下情況不支援含有 IPv6 位址範圍的子網路:
- 自動模式虛擬私有雲網路 (包括預設網路)
- 舊版網路
如果您有要新增 IPv6 位址範圍子網路的自動模式虛擬私人雲端網路,可以採取下列做法:
建立新的雙重堆疊或僅限 IPv6(預先發布版) 子網路。您也可以將現有的僅支援 IPv4 的子網路轉換為雙重堆疊。
路徑和防火牆規則
路徑
路徑會定義封包離開執行個體的途徑 (輸出流量)。如要瞭解 Google Cloud 路線類型,請參閱「路線」。
動態轉送模式
每個虛擬私人雲端網路都有相關的「動態轉送模式」,可控管網路中所有雲端路由器的行為。Cloud Router 會管理Google Cloud 使用 Cloud Router 的產品的 BGP 工作階段。
如要瞭解動態轉送模式選項,請參閱 Cloud Router 說明文件中的「動態轉送模式」。
路由廣告和內部 IP 位址
以下 IP 位址會在虛擬私有雲網路中宣傳:
區域內部 IPv4 位址
用於主要和次要 IPv4 子網路位址範圍
區域內部和外部 IPv6 位址
用於內部和外部 IPv6 子網路位址範圍
全球內部 IPv4 位址
如果您使用 VPC 網路對等互連連線到 VPC 網路,系統一律會交換使用私人 IPv4 位址的子網路範圍。您可以控制是否要交換使用私用公開 IPv4 位址的子網路範圍,以及是否要交換內部和外部 IPv6 子網路範圍。全球內部 IPv4 位址絕不會透過配對交換。詳情請參閱 VPC 網路對等互連說明文件。
當您使用 Google Cloud 連線產品 (例如 Cloud VPN、Cloud Interconnect 或路由器設備) 將 VPC 網路連線至其他網路 (例如內部部署網路) 時:
- 您可以將虛擬私有雲網路的內部 IP 位址廣告到其他網路 (例如內部部署網路)。
- 雖然 VPC 網路與其他網路 (例如內部網路) 之間的連線可以使用Google Cloud 連線產品提供的私人路由,但其他網路的 IP 位址也可能可公開路由。如果內部部署網路使用可公開轉送的 IP 位址,請記住這一點。
- 如果虛擬私有雲網路包含私用公開 IP 位址的子網路範圍,其中的 VM 執行個體就無法連線至使用相同公開 IP 位址的外部資源。
- 將私人使用的公開 IP 位址宣傳到其他網路 (例如內部網路) 時,請特別小心,尤其是當其他網路可以將這些公開 IP 位址宣傳到網際網路時。
防火牆規則
階層式防火牆政策和虛擬私有雲防火牆規則都會套用至 VM 執行個體 (以及依賴 VM 的資源,例如 Google Kubernetes Engine 節點) 傳送和接收的封包。無論是哪一種防火牆,都會控管流量,即使是同一個虛擬私有雲網路中的 VM 之間的流量也是如此。
如要監控哪些防火牆規則允許或拒絕特定連線,請參閱「防火牆規則記錄」。
通訊和存取
網路內部通訊
系統產生的子網路路徑會使用內部 IP 位址,定義在網路內部執行個體之間傳送流量的路徑。為了讓一個執行個體能夠與另一個通訊,您必須設定適當的防火牆規則,因為每個網路都有一個輸入流量的隱含拒絕防火牆規則。
除了預設網路外,您必須明確建立優先順序較高的輸入防火牆規則,才能讓執行個體相互通訊。除了隱含的防火牆規則外,預設網路還包含多項防火牆規則,包括允許網路中執行個體間通訊的 default-allow-internal
規則。預設網路也提供輸入規則,允許 RDP 和 SSH 等通訊協定。
預設網路隨附的規則也會顯示為選項,供您套用至使用 Google Cloud 主控台建立的新自動模式虛擬私有雲網路。
網際網路存取需求
執行個體必須符合下列條件,才能具備外送網際網路存取權:
網路必須具備有效的「預設網際網路閘道」路徑或自訂路徑,這類路徑的目的地 IP 範圍是最常見的形式 (
0.0.0.0/0
為 IPv4,::/0
為 IPv6)。這個路徑會定義網際網路的路徑。詳情請參閱「路線類型」。防火牆規則必須允許執行個體的輸出流量。除非受到優先順序較高的規則覆寫,否則允許輸出流量的隱含規則會允許所有執行個體的傳出流量。
必須符合以下其中一項條件:
App Engine 的通訊和存取權
虛擬私有雲防火牆規則適用於在虛擬私有雲網路中執行的資源,例如 Compute Engine VM。針對 App Engine 執行個體,防火牆規則的運作方式如下:
App Engine 標準環境:只有 App Engine 防火牆規則會套用至入站流量。由於 App Engine 標準環境執行個體不會在 VPC 網路中執行,因此 VPC 防火牆規則不適用於這些執行個體。
App Engine 彈性環境:App Engine 和 VPC 防火牆規則都會套用至入站流量。只有在兩種防火牆規則都允許的情況下,系統才會允許傳入流量。對於傳出流量,則會套用虛擬私有雲防火牆規則。
如要進一步瞭解如何控管 App Engine 執行個體的存取權,請參閱「應用程式安全性」一文。
外部 IP 位址的 Traceroute
基於內部原因, Google Cloud 會增加在 Google 網路中穿越下一個躍點的封包的 TTL 計數器。traceroute
和 mtr
等工具可能會提供不完整的結果,因為 TTL 在某些跳轉點不會到期。當您從 Compute Engine 執行個體傳送封包至網際網路上的目的地時,Google 網路內的跳躍可能會隱藏。
隱藏躍點的數量會因執行個體的網路服務層級、區域和其他因素而異。如果只有幾個跳躍點,則可能會隱藏所有跳躍點。traceroute
或 mtr
結果中缺少中繼點,並不代表傳出流量遭到捨棄。
目前沒有任何解決方法。如果您設定第三方監控功能,連線至與 VM 相關聯的外部 IP 位址,就必須考量這項因素。
輸出處理量上限
如要瞭解網路總處理量資訊,請參閱 Compute Engine 說明文件中的「網路頻寬」頁面。
封包大小
如要瞭解封包大小,請參閱「最大傳輸單位」。
最大傳輸單位
如要進一步瞭解虛擬私有雲網路及其連線 VM 的最大傳輸單位 (MTU) 設定,請參閱「最大傳輸單位」。
如要瞭解如何變更虛擬私有雲網路的 MTU,或在具有不同 MTU 設定的虛擬私有雲網路之間遷移 VM,請參閱「變更虛擬私有雲網路的 MTU 設定」。
支援的通訊協定
Google Cloud 僅支援下列通訊協定和擴充標頭:
- VM 之間的 IPv4 資料封包:所有 IPv4 通訊協定。
- VM 與網際網路之間的 IPv4 資料封包:ICMP、IPIP、TCP、UDP、GRE、ESP、AH 和 SCTP 通訊協定。
- VM 之間和 VM 與網際網路之間的 IPv6 資料封包:AH、ESP、GRE、ICMP、ICMPv6、IPIP、SCTP、TCP 和 UDP 通訊協定,以及 Destination Options 和 Fragments 擴充標頭。不過,系統不支援在 IPv6 資料封包中將目的地選項標頭放在片段標頭之後。
- 通訊協定轉送:AH、ESP、GRE、ICMP、ICMPv6、SCTP、TCP 和 UDP 通訊協定
如要允許支援的通訊協定傳送資料封包,您需要根據需求設定防火牆規則或通訊協定轉送規則。
適用於特定用途的網路設定檔
Google Cloud 會使用網路設定檔資源,針對特定用途預先設定虛擬私有雲網路中的特定屬性。建立網路時,您可以選擇指定由 Google Cloud 提供的網路設定檔。
網路設定檔支援的用途是在支援遠端直接記憶體存取 (RDMA) 的網路介面 (NIC) 機器上執行 AI 工作負載。Google Cloud 提供 RDMA 網路設定檔,可讓您建立支援 RDMA 連線的虛擬私有雲 (VPC) 網路。
詳情請參閱網路設定檔總覽。
如要進一步瞭解如何在 Google Cloud中執行 AI 工作負載,請參閱 AI 超級電腦說明文件。
網路效能
延遲時間
您可以在即時資訊主頁中,查看 Google Cloud 網路的區域間測量延遲時間。資訊主頁會顯示 Google Cloud的中位區域間延遲時間和總處理量效能指標,以及使用 PerfKit Benchmarker 重現這些結果的方法。
Google Cloud 通常會在第 50 個百分位數測量來回延遲時間,在同一個區域內,c2-standard-4 VM 執行個體之間的尾端延遲時間在第 99 個百分位數時通常小於 80 微秒。
Google Cloud 通常會在相同低延遲網路 (「密集」配置方式政策) 中,為 c2-standard-4 VM 執行個體之間的往返延遲時間,測量第 50 個百分位數小於 45 毫秒,以及第 99 個百分位數小於 60 毫秒的尾端延遲時間。密集配置政策可確保 VM 位於同一個低延遲網路中,進而降低網路延遲時間。
方法:透過黑箱探測器監控區域內的延遲時間,該探測器會持續執行 netperf TCP_RR 基準測試,比較每個區域 c2 執行個體中一對 c2 類型 VM 的結果。這項指標會收集 P50 和 P99 結果,無論是否套用密集配置政策。TCP_RR 基準測試會評估交易率,以此評估要求/回應效能。如果應用程式需要盡可能縮短延遲時間,建議使用 c2 執行個體。
封包遺失率
Google Cloud 會定期評估所有區域之間的來回遺失率,追蹤跨區域的封包遺失率。我們設定的目標是,這些指標的全球平均值低於 0.01%。
方法:黑箱 VM 對 VM 探測器會使用 Ping 監控每個區域組合的封包遺失率,並將結果匯總為一個全域損失指標。這項指標會以一天的時間區間追蹤。
後續步驟
- 如要瞭解如何使用虛擬私有雲網路和子網路,請參閱「建立、修改或刪除虛擬私有雲網路和子網路」一文。
- 如要瞭解部署虛擬私有雲網路的最佳做法,請參閱虛擬私有雲設計的最佳做法與參考架構。
- 如要瞭解如何在 Cross-Cloud Network 中部署 VPC 網路,請參閱「Cross-Cloud Network 適用於分散式應用程式」。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 VPC 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用虛擬私有雲