設定私人 Google 存取權

本頁說明如何啟用及設定 Private Google Access。根據預設,如果 Compute Engine VM 的網路介面沒有分配到外部 IP 位址,就只能將封包傳送至其他內部 IP 位址目的地。如要允許這些 VM 連線至 Google API 和服務所用的一組外部 IP 位址,請在 VM 網路介面使用的子網路上啟用私人 Google 存取權。

私人 Google 存取權也允許存取 App Engine 使用的外部 IP 位址,包括以 App Engine 為基礎的第三方服務。

如要查看可透過私人 Google 存取權使用的 API 和服務,請參閱私人 Google 存取權總覽中的支援的服務

如要瞭解私人 Google 存取權和Google Cloud提供的其他私人連線選項,請參閱「各項服務的私人存取權選項」。

規格

如果符合下列所有條件,VM 介面就能使用私人 Google 存取權,將封包傳送至 Google API 和服務的外部 IP 位址:

  • VM 介面連線至已啟用私人 Google 存取權的子網路。

  • 包含子網路的虛擬私有雲網路符合 Google API 和服務的網路需求

  • VM 介面未獲派外部 IP 位址。

  • 從 VM 傳送的封包來源 IP 位址會與下列其中一個 IP 位址相符。

    • VM 介面的主要內部 IPv4 位址
    • VM 介面的內部 IPv6 位址
    • 別名 IP 範圍中的內部 IPv4 位址

如果 VM 的網路介面已指派外部 IPv4 或 IPv6 位址,就不需要私人 Google 存取權,即可連線至 Google API 和服務。不過,虛擬私有雲網路必須符合存取 Google API 和服務的規定

網路需求

私人 Google 存取權具有下列需求條件:

  • 如有需要,請為要存取的服務啟用 API:

    • 如要存取 Google API 服務端點,請務必啟用該服務的 API

      舉例來說,如要透過 storage.googleapis.com API 服務端點或用戶端程式庫建立 Cloud Storage bucket,您必須啟用 Cloud Storage API。

    • 如果您存取其他類型的資源,可能不需要啟用任何 API。

      舉例來說,如要透過儲存空間googleapis.com URL 存取其他專案中的 Cloud Storage bucket,您不需要啟用 Cloud Storage API。

  • 如要使用 IPv6 連線至 Google API 和服務,必須符合下列兩項規定:

    • 您的 VM 必須設定 /96 IPv6 位址範圍

    • 在 VM 上執行的軟體必須傳送來源與該範圍其中一個 IPv6 位址相符的封包。

  • 視所選設定而定,您可能需要更新 DNS 項目、路徑和防火牆規則。詳情請參閱「設定選項摘要」。

權限

具有網路管理員角色的專案擁有者、編輯者和身分與存取權管理主體有權建立或更新子網路及指派 IP 位址。

如要進一步瞭解角色相關資訊,請參閱身分與存取權管理角色說明文件。

記錄

在啟用私人 Google 存取權的子網路中,從 VM 執行個體發出的所有 API 要求會由 Cloud Logging 擷取。記錄項目會將 API 要求的來源識別為呼叫執行個體的內部 IP 位址。

您可以將每日使用情況和每月總計報表設為傳送到 Cloud Storage 值區,詳情請參閱查看用量報表頁面。

設定選項摘要

下表摘要說明設定 Private Google Access 的不同方式。如需更詳細的設定資訊,請參閱「網路設定」。

網域選項 DNS 設定 轉送設定 防火牆設定
預設網域 您是透過公開 IP 位址存取 Google API 和服務,因此不需要進行特殊的 DNS 設定。

確認虛擬私有雲網路可將流量轉送至 Google API 和服務使用的 IP 位址範圍。

  • 基本設定:確認您有下一個躍點為 default-internet-gateway 的預設路徑,以及目的地範圍為 0.0.0.0/0 (適用於 IPv4 流量) 和 ::/0 (適用於 IPv6 流量,如有需要) 的預設路徑。如果缺少這些路徑,請加以建立。
  • 自訂設定:為 Google API 和服務使用的 IP 位址範圍建立路徑。

確認防火牆規則允許輸出至 Google API 和服務使用的 IP 位址範圍。

如果沒有優先順序更高的規則封鎖這類流量,預設允許輸出防火牆規則就會允許這類流量。

private.googleapis.com

在私人 DNS 區域中設定 DNS 記錄,將要求傳送至下列 IP 位址:

IPv4 流量:

  • 199.36.153.8/30

IPv6 流量:

  • 2600:2d00:0002:2000::/64

請確認您的虛擬私有雲網路有前往下列 IP 範圍的路徑

IPv4 流量:

  • 199.36.153.8/30
  • 34.126.0.0/18

IPv6 流量:

  • 2600:2d00:0002:2000::/64
  • 2001:4860:8040::/42

確認防火牆規則允許連出至下列 IP 範圍:

IPv4 流量:

  • 199.36.153.8/30
  • 34.126.0.0/18

IPv6 流量:

  • 2600:2d00:0002:2000::/64
  • 2001:4860:8040::/42
restricted.googleapis.com

設定 DNS 記錄,將要求傳送至下列 IP 位址:

IPv4 流量:

  • 199.36.153.4/30

IPv6 流量:

  • 2600:2d00:0002:1000::/64

請確認您的虛擬私有雲網路有前往下列 IP 範圍的路徑

IPv4 流量:

  • 199.36.153.4/30
  • 34.126.0.0/18

IPv6 流量:

  • 2600:2d00:0002:1000::/64
  • 2001:4860:8040::/42

確認防火牆規則允許連出至下列 IP 範圍:

IPv4 流量:

  • 199.36.153.4/30
  • 34.126.0.0/18

IPv6 流量:

  • 2600:2d00:0002:1000::/64
  • 2001:4860:8040::/42

網路設定

本節說明基本網路需求,您必須符合這些需求,虛擬私有雲網路中的 VM 才能存取 Google API 和服務。

網域選項

選擇要用來存取 Google API 和服務的網域。

private.googleapis.comrestricted.googleapis.com 虛擬 IP 位址 (VIP) 僅支援透過 TCP 的 HTTP 型通訊協定 (HTTP、HTTPS 和 HTTP/2)。系統不支援所有其他通訊協定,包括 MQTT 和 ICMP。不支援使用網際網路的互動式網站和功能,例如重新導向或擷取內容。

網域和 IP 位址範圍 支援的服務 應用實例

預設網域。

Google API 和服務的所有網域名稱, private.googleapis.comrestricted.googleapis.com 除外。

各種 IP 位址範圍:您可以參照「預設網域的 IP 位址」,判斷一組包含預設網域可能使用位址的 IP 範圍。

無論是否支援 VPC Service Controls,都能存取大多數 Google API 和服務。包括 Google 地圖、Google Ads 和 Google Cloud的 API 存取權。包括 Gmail 和 Google 文件等 Google Workspace 網頁應用程式,以及其他網頁應用程式。

如果您未設定 private.googleapis.comrestricted.googleapis.com 的 DNS 記錄,系統就會使用預設網域。

private.googleapis.com

199.36.153.8/30

2600:2d00:0002:2000::/64

無論是否支援 VPC Service Controls,都能存取大多數 Google API 和服務。包括 Google 地圖、Google Ads、 Google Cloud和大多數其他 Google API 的 API 存取權,包括下列清單。不支援 Google Workspace 網頁應用程式,例如 Gmail 和 Google 文件。

相符的網域名稱:

  • accounts.google.com (僅支援服務帳戶 OAuth 驗證所需的路徑;使用者帳戶驗證為互動式,因此不支援)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • dl.google.com
  • gcr.io*.gcr.io
  • *.googleapis.com
  • *.gke.goog
  • *.gstatic.com
  • *.kernels.googleusercontent.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev*.pkg.dev
  • pki.goog*.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

使用 private.googleapis.com,透過只能從 Google Cloud內部路由傳送的一組 IP 位址存取 Google API 和服務。

在下列情況下選擇 private.googleapis.com

  • 您未使用 VPC Service Controls。
  • 您使用 VPC Service Controls,但需要存取 VPC Service Controls 不支援的 Google API 和服務。1

restricted.googleapis.com

199.36.153.4/30

2600:2d00:0002:1000::/64

啟用 VPC Service Controls 支援的 Google API 和服務存取權。

禁止存取不支援 VPC Service Controls 的 Google API 和服務。 不支援 Google Workspace API 或 Google Workspace 網頁應用程式,例如 Gmail 和 Google 文件。

使用 restricted.googleapis.com,透過只能從 Google Cloud內部路由傳送的一組 IP 位址存取 Google API 和服務。

如果需要存取 VPC Service Controls 支援的 Google API 和服務,請選擇 restricted.googleapis.com

restricted.googleapis.com 網域不允許存取不支援 VPC Service Controls 的 Google API 和服務。1

1 如要限制使用者只能存取支援 VPC Service Controls 的 Google API 和服務,請使用 restricted.googleapis.com,因為這項功能可進一步降低資料外洩風險。使用 restricted.googleapis.com 會拒絕存取 VPC Service Controls 不支援的 Google API 和服務。詳情請參閱 VPC Service Controls 說明文件中的設定私人連線

支援 private.googleapis.comrestricted.googleapis.com 的 IPv6

下列 IPv6 位址範圍可用於將 IPv6 用戶端的流量導向 Google API 和服務:

  • private.googleapis.com2600:2d00:0002:2000::/64
  • restricted.googleapis.com2600:2d00:0002:1000::/64

如要使用 private.googleapis.comrestricted.googleapis.com 網域,且用戶端使用 IPv6 位址,請考慮設定 IPv6 位址。如果 IPv6 用戶端也設定了 IPv4 位址,則可使用 IPv4 位址連線至 Google API 和服務。並非所有服務都接受來自 IPv6 用戶端的流量。

DNS 設定

如要連線至 Google API 和服務,您可以選擇將封包傳送至與 private.googleapis.comrestricted.googleapis.com VIP 相關聯的 IP 位址。如要使用 VIP,您必須設定 DNS,讓虛擬私有雲網路中的 VM 使用 VIP 位址 (而非公開 IP 位址) 連線至服務。

以下章節說明如何使用 DNS 區域,將封包傳送至與所選 VIP 相關聯的 IP 位址。請按照適用於您的所有情境操作:

設定 VIP 的 DNS 記錄時,請只使用下列步驟所述的 IP 位址。請勿混用 private.googleapis.comrestricted.googleapis.com VIP 的位址。這可能會導致間歇性故障,因為提供的服務會因封包目的地而異。

設定 googleapis.com 的 DNS

googleapis.com 建立 DNS 區域和記錄:

  1. googleapis.com 建立私人 DNS 區域。建議您為此目的建立 Cloud DNS 私人區域
  2. googleapis.com 區域中,為其中一個建立下列私人 DNS 記錄:private.googleapis.comrestricted.googleapis.com,視您選擇使用的網域而定。

    • 針對 private.googleapis.com

      1. private.googleapis.com 建立 A 記錄,指向下列 IP 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11

      2. 如要使用 IPv6 位址連線至 API,請一併設定指向 2600:2d00:0002:2000::AAAA 記錄。private.googleapis.com

    • 針對 restricted.googleapis.com

      1. restricted.googleapis.com 建立 A 記錄,指向下列 IP 位址:199.36.153.4199.36.153.5199.36.153.6199.36.153.7

      2. 如要使用 IPv6 位址連線至 API,請一併建立指向 2600:2d00:0002:1000::AAAA 記錄。restricted.googleapis.com

    如要在 Cloud DNS 中建立私人 DNS 記錄,請參閱新增記錄

  3. googleapis.com 區域中,為 *.googleapis.com 建立 CNAME 記錄,指向您設定的網域:private.googleapis.comrestricted.googleapis.com

設定其他網域的 DNS

部分 Google API 和服務會使用其他網域名稱提供,包括 *.gcr.io*.gstatic.com*.pkg.devpki.goog*.run.app*.gke.goog。請參閱「網域選項」一文中的網域和 IP 位址範圍表格,判斷是否可使用 private.googleapis.comrestricted.googleapis.com 存取其他網域的服務。接著,針對每個額外網域執行下列操作:

  1. DOMAIN 建立 DNS 區域 (例如 gcr.io)。如果您使用 Cloud DNS,請確認這個區域與 googleapis.com 私人區域位於同一個專案。

  2. 在這個 DNS 區域中,為其中一個建立下列私人 DNS 記錄:private.googleapis.comrestricted.googleapis.com,視您選擇使用的網域而定。

    • 針對 private.googleapis.com

      1. DOMAIN 建立 A 記錄,指向下列 IP 位址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11

      2. 如要使用 IPv6 位址連線至 API,請為 DOMAIN 建立指向 2600:2d00:0002:2000::AAAA 記錄。

    • 針對 restricted.googleapis.com

      1. DOMAIN 建立 A 記錄,指向下列 IP 位址:199.36.153.4199.36.153.5199.36.153.6199.36.153.7

      2. 如要使用 IPv6 位址連線至 API,請一併建立指向 2600:2d00:0002:1000::AAAA 記錄。restricted.googleapis.com

  3. DOMAIN 區域中,為 *.DOMAIN 建立指向 DOMAINCNAME 記錄。舉例來說,為 *.gcr.io 建立指向 gcr.ioCNAME 記錄。

設定 Cloud Storage 自訂網域名稱的 DNS

如果您使用 Cloud Storage 值區,並向Cloud Storage 自訂網域名稱傳送要求,則設定自訂 Cloud Storage 網域名稱的 DNS 記錄,指向 private.googleapis.comrestricted.googleapis.com 的 IP 位址,不足以允許存取 Cloud Storage 值區。

如要將要求傳送至 Cloud Storage 自訂網域名稱,您也必須將 HTTP 要求的 Host 標頭和 TLS SNI 明確設為 storage.googleapis.comprivate.googleapis.comrestricted.googleapis.com 的 IP 位址不支援 HTTP 要求 Host 標頭和 TLS SNI 中的自訂 Cloud Storage 主機名稱。

路由選項

虛擬私有雲網路必須具備適當路徑,且下一個躍點為預設網際網路閘道。 Google Cloud 不支援透過其他 VM 執行個體或自訂下一個躍點,將流量轉送至 Google API 和服務。雖然稱為「預設網際網路閘道」,但從虛擬私有雲網路中的 VM 傳送至 Google API 和服務的封包,仍會保留在 Google 網路中。

  • 如果選取預設網域,VM 執行個體會使用部分 Google 外部 IP 位址連線至 Google API 和服務。這些 IP 位址可公開轉送,但從虛擬私有雲網路中的 VM 到這些位址的路徑,仍會留在 Google 網路中。

  • Google 不會在網際網路上發布任何路徑,指向 private.googleapis.comrestricted.googleapis.com 網域使用的 IP 位址。因此,只有虛擬私有雲網路中的 VM,或連線至虛擬私有雲網路的內部部署系統,才能存取這些網域。

如果虛擬私有雲網路包含下一個躍點為預設網際網路閘道的預設路徑,您可以使用該路徑存取 Google API 和服務,不必建立自訂路徑。詳情請參閱「使用預設路徑進行路徑設定」。

如果您已將預設路徑 (目的地 0.0.0.0/0::0/0) 替換為下一個躍點「不是」預設網際網路閘道的自訂路徑,則可以使用自訂路徑,滿足 Google API 和服務的路由需求。

如果虛擬私有雲網路沒有 IPv6 預設路徑,您就無法透過 IPv6 連線至 Google API 和服務。新增 IPv6 預設路徑,允許 IPv6 連線。

使用預設路徑進行轉送

每個虛擬私有雲網路在建立時,都會包含 IPv4 預設路徑 (0.0.0.0/0)。如果您在子網路上啟用外部 IPv6 位址,系統會將產生的 IPv6 預設路徑 (::/0) 新增至該虛擬私有雲網路。

預設路徑會提供前往下列目的地 IP 位址的路徑:

  • 預設網域。

  • private.googleapis.com199.36.153.8/302600:2d00:0002:2000::/64

  • restricted.googleapis.com199.36.153.4/302600:2d00:0002:1000::/64

如要檢查特定網路中的預設路徑設定,請按照下列指示操作。

主控台

  1. 前往 Google Cloud 控制台的「Routes」(路徑) 頁面。

    前往「Routes」(路徑)

  2. 篩選路徑清單,讓畫面只顯示您需要檢查的網路路徑。

  3. 找出目的地為 IPv4 流量的 0.0.0.0/0 或 IPv6 流量的 ::/0,且下一個躍點為「預設網際網路閘道」的路徑。

gcloud

使用下列 gcloud 指令,並將 NETWORK_NAME 替換為要檢查的網路名稱:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

如需建立替代的預設 IPv4 路徑,請參閱「新增靜態路徑」。

如需建立替代的預設 IPv6 路徑,請參閱「新增 IPv6 預設路徑」。

自訂路徑

除了預設路徑,您也可以使用自訂靜態路徑,每個路徑都有更明確的目的地,且都使用預設網際網路閘道下一個躍點。您需要的路由數量和目的地 IP 位址取決於您選擇的網域

  • 預設網域:您必須擁有 Google API 和服務的 IP 位址範圍路徑。
  • private.googleapis.com199.36.153.8/302600:2d00:0002:2000::/64
  • restricted.googleapis.com199.36.153.4/302600:2d00:0002:1000::/64

此外,建議您為 34.126.0.0/182001:4860:8040::/42 新增路徑。詳情請參閱「設定選項摘要」。

如要檢查特定網路中 Google API 和服務的自訂路徑設定,請按照下列指示操作。

主控台

  1. 前往 Google Cloud 控制台的「Routes」(路徑) 頁面。

    前往「Routes」(路徑)

  2. 使用「篩選資料表」文字欄位,依下列條件篩選路徑清單,並將 NETWORK_NAME 替換為虛擬私有雲網路的名稱。

    • 網路:NETWORK_NAME
    • 下一個躍點類型:default internet gateway
  3. 查看每條路徑的「目的地 IP 範圍」欄。如果您選擇預設網域,請檢查多個自訂靜態路徑,預設網域使用的每個 IP 位址範圍各有一個路徑。如果您選擇 private.googleapis.comrestricted.googleapis.com,請尋找該網域的 IP 範圍

gcloud

使用下列 gcloud 指令,並將 NETWORK_NAME 替換為要檢查的網路名稱:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

除非使用 --format 標記自訂指令,否則路徑會以表格格式列出。在「DEST_RANGE」欄中,查看每條路線的目的地。如果您選擇預設網域,請檢查是否有數個自訂靜態路徑,預設網域使用的每個 IP 位址範圍各有一個路徑。如果您選擇 private.googleapis.comrestricted.googleapis.com,請尋找該網域的 IP 範圍

如需建立路徑,請參閱「新增靜態路徑」。

防火牆設定

虛擬私有雲網路的防火牆設定必須允許從 VM 存取 Google API 和服務使用的 IP 位址。隱含的 allow egress 規則可滿足這項要求。

在某些防火牆設定中,您需要建立特定的輸出允許規則。舉例來說,假設您已建立輸出拒絕規則,封鎖所有目的地的流量 (IPv4 為 0.0.0.0,IPv6 為 ::/0)。在這種情況下,您必須為 Google API 和服務使用的每個 IP 位址範圍,建立一項優先順序高於輸出拒絕規則的輸出允許防火牆規則,這些 IP 位址範圍屬於您選擇的網域

  • 預設網域:所有 Google API 和服務的 IP 位址範圍
  • private.googleapis.com199.36.153.8/302600:2d00:0002:2000::/64
  • restricted.googleapis.com199.36.153.4/302600:2d00:0002:1000::/64

此外,建議您在輸出允許防火牆規則中加入 34.126.0.0/182001:4860:8040::/42。詳情請參閱「設定選項摘要」。

如要建立防火牆規則,請參閱「建立防火牆規則」。定義每項輸出允許規則的目標時,您可以限制防火牆規則適用的 VM。

預設網域的 IP 位址

本節說明如何建立 Google API 和服務使用的預設網域 IP 範圍清單。這些範圍是動態分配,且經常變更,因此無法為個別服務或 API 定義特定 IP 範圍。如要維持名單的準確度,請設定自動化功能,每天執行指令碼。如要避免維護 IP 位址範圍清單,請考慮使用 private.googleapis.com VIPPrivate Service Connect

請按照下列步驟,判斷預設網域 (例如 *.googleapis.com*.gcr.io) 使用的 IP 位址範圍。

  • Google 在網際網路中公布了一份 IP 範圍完整清單,並以 goog.json 的格式發布。

  • 此外,Google 也以 cloud.json 的格式發布了另一份清單,當中列出了客戶可在全球和特定區域內使用的外部 IP 位址範圍。 Google Cloud

Google API 和服務預設網域使用的 IP 位址,符合從 goog.json 中移除所有 cloud.json 範圍後計算出的範圍清單。這些清單會經常更新。

您可以使用下列 Python 指令碼,建立包含 Google API 和服務預設網域所用 IP 位址的範圍清單。

如要瞭解如何執行這項指令碼,請參閱「如何執行」。

from __future__ import print_function

import json

try:
    from urllib import urlopen
except ImportError:
    from urllib.request import urlopen
    from urllib.error import HTTPError

import netaddr

IPRANGE_URLS = {
    "goog": "https://www.gstatic.com/ipranges/goog.json",
    "cloud": "https://www.gstatic.com/ipranges/cloud.json",
}


def read_url(url):
    try:
        return json.loads(urlopen(url).read())
    except (IOError, HTTPError):
        print("ERROR: Invalid HTTP response from %s" % url)
    except json.decoder.JSONDecodeError:
        print("ERROR: Could not parse HTTP response from %s" % url)


def get_data(link):
    data = read_url(link)
    if data:
        print("{} published: {}".format(link, data.get("creationTime")))
        cidrs = netaddr.IPSet()
        for e in data["prefixes"]:
            if "ipv4Prefix" in e:
                cidrs.add(e.get("ipv4Prefix"))
            if "ipv6Prefix" in e:
                cidrs.add(e.get("ipv6Prefix"))
        return cidrs


def main():
    cidrs = {group: get_data(link) for group, link in IPRANGE_URLS.items()}
    if len(cidrs) != 2:
        raise ValueError("ERROR: Could process data from Google")
    print("IP ranges for Google APIs and services default domains:")
    for ip in (cidrs["goog"] - cidrs["cloud"]).iter_cidrs():
        print(ip)


if __name__ == "__main__":
    main()

私人 Google 存取權設定

在虛擬私有雲網路中符合網路需求後,即可啟用私人 Google 存取權。

啟用 Private Google Access

如要啟用私人 Google 存取權,請按照下列步驟進行:

主控台

  1. 在 Google Cloud 控制台中,前往「VPC networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 針對您需要啟用私人 Google 存取權的子網路,按一下包含該子網路的網路名稱。

  3. 如為現有的子網路:

    1. 按一下子網路的名稱,即會顯示「Subnet details」(子網路詳細資料) 頁面。
    2. 按一下 [Edit] (編輯)
    3. 在「私人 Google 存取權」區段中,選取 [開啟]
    4. 按一下 [儲存]
  4. 如為新的子網路:

    1. 按一下 [新增子網路]
    2. 輸入名稱
    3. 選擇一個 [Region] (地區)
    4. 在「IP stack type」(IP 堆疊類型) 選取下列其中一個選項:
      • IPv4 (單一堆疊)
      • IPv4 和 IPv6 (雙重堆疊)
      • IPv6 (單一堆疊) (預覽版)
    5. 如要建立具有 IPv4 位址範圍的子網路,請輸入 IPv4 範圍。這是子網路的主要 IPv4 範圍

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍與現有設定沒有衝突。詳情請參閱「IPv4 子網路範圍」。

    6. 如要建立具有 IPv6 位址範圍的子網路,請選取 IPv6 存取權類型:「內部」或「外部」

      如要將存取權類型設為「內部」,但「內部」選項無法使用,請確認網路已指派內部 IPv6 範圍

    7. 根據需求為新子網路選取其他選項。舉例來說,您可能需要建立次要子網路 IP 範圍,或啟用虛擬私有雲流量記錄。

    8. 在「Private Google Access」(私人 Google 存取) 區段中,選取 [On] (啟用)

    9. 按一下「新增」

gcloud

如為現有的子網路:

  1. 確定子網路的名稱和地區。如要列出特定網路的子網路,請使用以下指令:

    gcloud compute networks subnets list --filter=NETWORK_NAME
    
  2. 執行下列指令,啟用 Private Google Access:

    gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --enable-private-ip-google-access
    
  3. 執行下列指令,確認私人 Google 存取權是否已啟用:

    gcloud compute networks subnets describe SUBNET_NAME \
    --region=REGION \
    --format="get(privateIpGoogleAccess)"
    

在上述所有指令中,將下列項目替換為有效值:

  • SUBNET_NAME:子網路名稱
  • REGION:子網路的區域
  • NETWORK_NAME:包含子網路的虛擬私有雲網路名稱

建立新的子網路時,請使用 --enable-private-ip-google-access 旗標啟用 Private Google Access:

gcloud compute networks subnets create SUBNET_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=PRIMARY_IPV4_RANGE \
    [ --stack-type=STACK_TYPE ] \
    [ --ipv6-access-type=IPv6_ACCESS_TYPE ] \
    --enable-private-ip-google-access

將下列項目替換為有效值:

  • SUBNET_NAME:子網路名稱
  • REGION:子網路的區域
  • NETWORK_NAME:包含子網路的虛擬私有雲網路名稱
  • PRIMARY_IPV4_RANGE:子網路的主要 IPv4 位址範圍。 如果您要建立僅支援 IPv6 的子網路 (預先發布),請省略這個旗標。
  • STACK_TYPE 是子網路的堆疊類型:IPV4_ONLYIPV4_IPV6IPV6_ONLY
  • IPv6_ACCESS_TYPE 是 IPv6 存取權類型:EXTERNALINTERNAL。只有在您也指定 --stack-type=IPV4_IPV6--stack-type=IPV6_ONLY 時,才指定 IPv6 存取權類型。

停用私人 Google 存取權

如要停用現有子網路的私人 Google 存取權,請按照下列步驟進行:

主控台

  1. 在 Google Cloud 控制台中,前往「VPC networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 針對您需要停用私人 Google 存取權的子網路,按一下包含該子網路的網路名稱。

  3. 按一下現有子網路的名稱,即會顯示「Subnet details」(子網路詳細資料) 頁面。

  4. 按一下 [Edit] (編輯)

  5. 在「私人 Google 存取權」區段中,選取 [關閉]

  6. 按一下 [儲存]

gcloud

  1. 確定子網路的名稱和地區。如要列出特定網路的子網路,請使用以下指令:

    gcloud compute networks subnets list \
        --filter=NETWORK_NAME
    
  2. 執行下列指令,停用 Private Google Access:

    gcloud compute networks subnets update SUBNET_NAME \
        --region=REGION \
        --no-enable-private-ip-google-access
    
  3. 執行下列指令,確認私人 Google 存取權已停用:

    gcloud compute networks subnets describe SUBNET_NAME \
        --region=REGION \
        --format="get(privateIpGoogleAccess)"
    

在上述所有指令中,將下列項目替換為有效值:

  • SUBNET_NAME:子網路名稱
  • REGION:子網路的區域
  • NETWORK_NAME:包含子網路的虛擬私有雲網路名稱

後續步驟