本頁面說明如何在 Cloud Firestore 啟用及設定 Private Google Access。
Cloud Firestore 中的 Private Google Access 簡介
根據預設,如果 Compute Engine VM 的網路介面未指派外部 IP 位址,就只能將封包傳送至其他內部 IP 位址目的地。只要在 VM 網路介面使用的子網路上啟用 Private Google Access,即可允許這些 VM 連線至 Cloud Firestore 服務。
適用的服務和通訊協定
本指南的操作說明僅適用於 Cloud Firestore。
Cloud Firestore 使用的預設和 VIP 網域及其 IP 範圍,僅支援通訊埠 443 上的 MongoDB 通訊協定。不支援其他通訊協定。
網路需求
如果符合下列所有條件,VM 介面就能透過內部 Google 網路,使用 Private Google Access 存取 Google API 和服務:
VM 介面已連線至啟用 Private Google Access 的子網路。
VM 介面未獲派外部 IP 位址。
從 VM 傳送的封包來源 IP 位址符合下列其中一個 IP 位址。
- VM 介面的主要內部 IPv4 位址
- 別名 IP 範圍內的內部 IPv4 位址
如果 VM 的網路介面已指派外部 IPv4 位址,就不需要透過 Private Google Access 連線至 Google API 和服務。不過,虛擬私有雲網路必須符合存取 Google API 和服務的規定。
IAM 權限
具有網路管理員角色的專案擁有者、編輯者和 IAM 主體可建立或更新子網路及指派 IP 位址。
如要進一步瞭解角色,請參閱 IAM 角色說明文件。
記錄
Cloud Logging 會擷取從已啟用 Private Google Access 的子網路中,VM 執行個體發出的所有 API 要求。記錄項目會將 API 要求的來源,識別為呼叫執行個體的內部 IP 位址。
您可以設定將每日用量和每月匯總報表傳送至 Cloud Storage bucket。詳情請參閱「查看用量報表」頁面。
設定摘要
下表匯總了在 Cloud Firestore 中設定 Private Google Access 的不同方式。如需更詳細的操作說明,請參閱「網路設定」。
| 網域選項 | IP 範圍 | DNS 設定 | 轉送設定 | 防火牆設定 |
|---|---|---|---|---|
|
預設網域 (
如未設定 |
136.124.0.0/23
|
您可以透過公開 IP 位址存取 Cloud Firestore 服務,因此不需要進行特殊 DNS 設定。 |
確認虛擬私有雲網路可以將流量轉送至 Cloud Firestore 服務使用的 IP 位址範圍。 |
確認防火牆規則允許輸出至 如果沒有優先順序較高的規則封鎖這類流量,預設允許輸出防火牆規則就會允許這類流量。 |
|
使用 |
199.36.153.2/31 |
設定 DNS 記錄,將要求傳送至 199.36.153.2/31 IP 位址範圍。 |
確認虛擬私有雲網路有通往 199.36.153.2/31 IP 位址範圍的路由。 |
確認防火牆規則允許輸出至 199.36.153.2/31 IP 位址範圍。 |
網路設定
本節說明如何設定網路,以便使用 Private Google Access 存取 Cloud Firestore。
DNS 設定
與其他 Google API 不同,Cloud Firestore API 使用不同的網域名稱和 IP 位址進行私人 Google 存取:
restricted.firestore.goog可讓您透過 API 存取 Cloud Firestore API。IP 位址:
199.36.153.2和199.36.153.3。Cloud Firestore 符合 VPC Service Controls 規範,因此您可以在 VPC Service Controls 情境中使用這個網域。
如要為 Cloud Firestore 建立 DNS 區域和記錄,請按照下列步驟操作:
為
firestore.goog建立私人 DNS 區域。建議您為此建立 Cloud DNS 私人區域。
在
firestore.goog區域中建立下列記錄:restricted.firestore.goog的A記錄,指向下列 IP 位址:199.36.153.2和199.36.153.3。*.firestore.goog的CNAME記錄,指向restricted.firestore.goog。
如要在 Cloud DNS 中建立這些記錄,請參閱「新增記錄」。
轉送設定
虛擬私有雲網路必須有適當路由,且下一個躍點為預設網際網路閘道。Google Cloud 不支援透過其他 VM 執行個體或自訂下一個躍點,將流量轉送至 Google API 和服務。雖名為「預設網際網路閘道」,但從虛擬私有雲網路中的 VM 傳送至 Google API 和服務的封包,仍會保留在 Google 網路中。
如果選取預設網域選項,VM 執行個體會使用下列公開 IP 位址範圍連線至 Cloud Firestore 服務:
136.124.0.0/23。這些 IP 位址可公開轉送,但從虛擬私有雲網路中的 VM 到這些位址的路徑,仍會保留在 Google 網路中。Google 不會在網際網路上發布
restricted.firestore.goog網域所用任何 IP 位址的路徑。因此,只有虛擬私有雲網路中的 VM,或連線至虛擬私有雲網路的地端部署系統,才能存取這個網域。
如果虛擬私有雲網路包含預設路由,且下一個躍點是預設網際網路閘道,您可以使用該路由存取 Cloud Firestore 服務,不必建立自訂路由。詳情請參閱「使用預設路徑轉送」。
如果您已將預設路由 (目的地 0.0.0.0/0 或 ::0/0) 替換為下一個躍點「不是」預設網際網路閘道的自訂路由,則可改為使用自訂路由,滿足 Cloud Firestore 服務的路由需求。
使用預設路徑進行轉送
每個虛擬私有雲網路在建立時,都會包含 IPv4 預設路徑 (0.0.0.0/0)。
預設路徑會提供下列目的地的 IP 位址路徑:
- 預設網域 (
firestore.goog):136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如要瞭解如何使用 Google Cloud 控制台和 Google Cloud CLI 檢查特定網路中的預設路徑設定,請參閱「設定私人 Google 存取權」。
使用自訂路徑轉送
除了預設路由,您也可以使用自訂靜態路由,每個路由都有更明確的目的地,且每個路由都使用預設網際網路閘道下一個躍點。路由的目的地 IP 位址取決於您選擇的網域:
- 預設網域 (
firestore.goog):136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如需 Google Cloud 控制台和 Google Cloud CLI 操作說明,瞭解如何查看特定網路中的自訂路由設定,請參閱「設定 Private Google Access」。
防火牆設定
虛擬私有雲網路的防火牆設定必須允許 VM 存取 Cloud Firestore 服務使用的 IP 位址。隱含的 allow egress 規則符合這項要求。
在某些防火牆設定中,您需要建立特定的輸出允許規則。舉例來說,假設您建立了一項輸出拒絕規則,封鎖傳送至所有目的地的流量 (IPv4 為 0.0.0.0)。在這種情況下,您必須為所選網域使用的每個 IP 位址範圍,建立一項優先順序高於輸出拒絕規則的輸出允許防火牆規則:
- 預設網域 (
firestore.goog:136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如要建立防火牆規則,請參閱「建立防火牆規則」。定義各項輸出允許規則的目標時,可以限制防火牆規則適用的 VM。
Private Google Access 設定
只要虛擬私有雲網路符合網路需求,即可啟用 Private Google Access。如需 Google Cloud 控制台和 Google Cloud CLI 操作說明,請按照「啟用 Private Google Access」一文中的步驟操作。