在與 MongoDB 相容的 Firestore 中設定私人 Google 存取權

本頁說明如何啟用及設定與 MongoDB 相容的 Firestore 中的 Private Google Access。

關於與 MongoDB 相容的 Firestore 中的私人 Google 存取權

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

適用的服務和通訊協定

  • 本指南中的操作說明僅適用於與 MongoDB 相容的 Firestore

  • 與 MongoDB 相容的 Firestore 所用的預設和 VIP 網域,以及這些網域的 IP 範圍,僅支援 TcpProxy MongoDB 通訊協定。系統不支援其他通訊協定。

網路需求

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

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

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

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

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

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

IAM 權限

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

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

記錄

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

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

設定摘要

下表摘要說明在與 MongoDB 相容的 Firestore 中,設定 Private Google Access 的不同方式。如需更詳細的說明,請參閱「網路設定」。

網域選項 IP 範圍 DNS 設定 轉送設定 防火牆設定

預設網域 (firestore.goog)

如果您未設定 restricted.firestore.goog 的 DNS 記錄,系統就會使用預設網域。

136.124.0.0/23 您是透過公用 IP 位址存取與 MongoDB 相容的 Firestore 服務,因此不需要進行特殊的 DNS 設定。

確認 VPC 網路可將流量路由至與 MongoDB 相容的 Firestore 服務所用的 IP 位址範圍。

  • 基本設定: 確認您有下一個躍點為 default-internet-gateway 的預設路徑,且目的地 範圍為 0.0.0.0/0。如果缺少這些路徑,請加以建立。
  • 自訂設定: 建立前往 136.124.0.0/23 IP 位址範圍的路徑。

檢查防火牆規則是否允許輸出至 136.124.0.0/23 IP 位址範圍。

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

restricted.firestore.goog

使用 restricted.firestore.goog,透過只能從 Google Cloud內部路由傳送的一組 IP 位址,存取與 MongoDB 相容的 Firestore 服務。可用於 VPC Service Controls 情境。

199.36.153.2/31 設定 DNS 記錄,將要求傳送至 199.36.153.2/31 IP 位址範圍。 確認 VPC 網路有通往 199.36.153.2/31 IP 位址範圍的路徑 檢查防火牆規則是否允許輸出至 199.36.153.2/31 IP 位址範圍。

網路設定

本節說明如何設定網路,透過 Private Google Access 存取與 MongoDB 相容的 Firestore。

DNS 設定

與其他 Google API 不同,與 MongoDB 相容的 Firestore API 會使用不同的網域名稱和 IP 位址,進行私人 Google 存取:

  • restricted.firestore.goog 可讓您存取與 MongoDB 相容的 Firestore API。

    • IP 位址:199.36.153.2199.36.153.3

    • 由於與 MongoDB 相容的 Firestore 符合 VPC Service Controls 規定,因此您可以在 VPC Service Controls 情境中使用這個網域。

如要為與 MongoDB 相容的 Firestore 建立 DNS 區域和記錄,請按照下列步驟操作:

  1. firestore.goog 建立私人 DNS 區域。

    建議您建立 Cloud DNS 私人區域,以達到這個目的。

  2. firestore.goog 區域中,建立下列記錄:

    1. restricted.firestore.googA 記錄,指向下列 IP 位址:199.36.153.2199.36.153.3

    2. 指向 restricted.firestore.googCNAME 記錄。*.firestore.goog

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

轉送設定

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

  • 如果選取預設網域選項,VM 執行個體會使用下列公開 IP 位址範圍連線至 Firestore MongoDB 相容性服務:136.124.0.0/23。這些 IP 位址可公開路由傳輸,但從虛擬私有雲網路中的 VM 到這些位址的路徑仍位於 Google 網路內。

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

如果虛擬私有雲網路包含下一個躍點為預設網際網路閘道的預設路徑,您可以使用該路徑存取 Firestore MongoDB 相容性服務,不必建立自訂路徑。詳情請參閱使用預設路徑進行轉送

如果您已將預設路徑 (目的地為 0.0.0.0/0::0/0) 替換為下一個躍點不是預設網際網路閘道的自訂路徑,則可使用自訂路徑,滿足與 MongoDB 相容的 Firestore 服務的轉送需求。

使用預設路徑進行轉送

每個虛擬私有雲網路在建立時,都會包含 IPv4 預設路徑 (0.0.0.0/0)。

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

  • 預設網域 (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog199.36.153.2/31

如需透過控制台和 Google Cloud CLI 檢查特定網路中預設路徑設定的操作說明,請參閱「設定私人 Google 存取權」。 Google Cloud

使用自訂路徑進行轉送

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

  • 預設網域 (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog199.36.153.2/31

如要透過控制台和 Google Cloud CLI 檢查特定網路中自訂路徑的設定,請參閱「設定私人 Google 存取權」。 Google Cloud

防火牆設定

VPC 網路的防火牆設定必須允許 VM 存取 Firestore with MongoDB compatibility 服務使用的 IP 位址。隱含的 allow egress 規則符合這項規定。

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

  • 預設網域 (firestore.goog136.124.0.0/23
  • restricted.firestore.goog199.36.153.2/31

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

私人 Google 存取權設定

在虛擬私有雲網路中符合網路需求後,即可啟用私人 Google 存取權。如需 Google Cloud 控制台和 Google Cloud CLI 指示,請按照「啟用 Private Google Access」一文中的步驟操作。

後續步驟