Cloud Firestore 位置

佈建 Cloud Firestore 執行個體時,您必須為執行個體選擇位置。為了縮短延遲時間並提高可用性,請將您的資料儲存在需要這些資料的使用者和服務附近的位置。

如果專案採用預付制 Blaze 定價方案,您可以選擇在專案中建立多個資料庫,每個資料庫都有各自的位置設定。

請注意,一旦您佈建資料庫執行個體,就無法變更其位置設定。

位置的類型

您可以將 Cloud Firestore 資料儲存在多地區位置單一地區位置

多區域位置

選取多地區位置,盡可能提高資料庫的可用性和耐用性。

多地區位置包含一組定義的區域,用於儲存多個資料庫備援。每個備用資源都是讀寫備用資源,包含資料庫中的所有資料,或是見證備用資源,不維護完整的資料組,但會參與複製作業。

透過在多個區域之間複製資料,即使整個區域遭到中斷,也能繼續提供資料。在某個區域內,資料會在各個可用區中複製,因此即使某個可用區發生故障,資料仍可在該區域內繼續提供。

Cloud Firestore 支援下列多地區位置:

多地區名稱 多地區說明 讀取/寫入區域 見證區域
eur3 歐洲 europe-west1 (比利時)、europe-west4 (荷蘭) europe-north1 (芬蘭)
nam5 美國 us-central1 (愛荷華州)、us-central2 (奧克拉荷馬州,不公開的 GCP 地區) us-east1 (南卡羅來納州)

請注意,如果您的專案已有 App Engine 應用程式,且位置為 us-centraleurope-west,則系統會將預設 Cloud Firestore 資料庫視為多地區

地區位置

單一地區位置是指特定地理位置,例如南卡羅來納州。地區位置中的資料會在區域內的多個可用區中複製。所有單一地區位置彼此皆相隔至少 100 英里遠。

選取單一地區位置可降低成本,如果應用程式對延遲時間較為敏感,則可縮短寫入延遲時間,或是與其他 Google Cloud 資源共置

Cloud Firestore 支援下列區域資源位置:

地區名稱地區說明
北美洲
us-west1奧勒岡州
us-west2洛杉磯
us-west3鹽湖城
us-west4拉斯維加斯

us-central1

愛荷華州
northamerica-northeast1蒙特婁

northamerica-northeast2

多倫多

northamerica-south1

克雷塔羅
us-east1南卡羅來納州
us-east4北維吉尼亞州

us-east5

哥倫布

us-south1

達拉斯
南美洲

southamerica-west1

聖地亞哥
southamerica-east1聖保羅
歐洲
europe-west2倫敦

europe-west1

比利時

europe-west4

荷蘭

europe-west8

米蘭

europe-southwest1

馬德里

europe-west9

巴黎

europe-west12

杜林

europe-west10

柏林
europe-west3法蘭克福

europe-north1

芬蘭
europe-central2華沙
europe-west6蘇黎世
中東地區

me-central1

杜哈

me-central2

達曼

me-west1

特拉維夫
亞洲
asia-south1孟買

asia-south2

德里
asia-southeast1新加坡
asia-southeast2雅加達
asia-east2香港
asia-east1台灣
asia-northeast1東京
asia-northeast2大阪
asia-northeast3首爾
澳洲
australia-southeast1雪梨

australia-southeast2

墨爾本
非洲

africa-south1

約翰尼斯堡

位置服務水準協議

Cloud Firestore 位置類型會決定服務水準協議 (SLA) 的正常運作百分比:

涵蓋服務 每月正常運作時間百分比
Cloud Firestore 多區域 >= 99.999%
Cloud Firestore 區域 >= 99.99%

位置定價

Cloud Firestore 位置會決定資料庫作業的費用。

如需各地區和各地區類型的定價詳細說明,請參閱「瞭解 Cloud Firestore 計費」一文。

查看資料庫的位置

在 Firebase 主控台中,前往「Cloud Firestore 資料」分頁標籤,查看資料庫執行個體清單及其位置。

可能因「預設 Google Cloud 資源的位置」而產生的位置依附元件

「預設 Google Cloud 資源的位置」是指與 Google App Engine 相關聯的任何專案資源的位置設定,包括下列項目:

  • 預設 Cloud Firestore 資料庫例項
  • Firebase 值區的預設 Cloud Storage,名稱格式為 *.appspot.com
  • Google Cloud Scheduler,專門用於第 1 代排程函式

這項「預設 Google Cloud 資源位置」是不可變更的設定。此外,當您為其中一個相關聯資源設定位置時,由於這些資源與 App Engine 有共同關聯,因此您間接為所有資源設定位置。

不過,隨著 Firebase 和 Google Cloud 生態系統多年來的許多變化,資源與 App Engine 的關聯也不斷改變。最值得注意的是,自 2024 年 10 月 30 日起,所有新佈建的 Firebase 值區預設 Cloud Storage 都會採用 *.firebasestorage.app 的名稱格式,且不會App Engine 建立關聯。

以下是可能的位置依附元件變更的詳細資料:

  • 2024 年 10 月 30 日起,如果 Firebase bucket 的預設 Cloud Firestore 例項和預設 Cloud Storage 尚未佈建:

    • 為預設 Cloud Firestore 例項進行佈建時,會為專案中未來佈建的任何 App Engine 應用程式設定位置。不過,不會指定未來預設 Cloud Storage 儲存格的位置。

    • 預設 Cloud Storage 值區不再提供 App Engine 應用程式。因此,預設 Cloud Storage 值區的位置不會決定未來預設 Cloud Firestore 執行個體的位置。

  • 2024 年 10 月 30 日起如果預設 Cloud Firestore 例項已佈建,但 Firebase 儲存桶的預設 Cloud Storage 尚未佈建:

    • 現有的預設 Cloud Firestore 例項「不會」決定未來預設 Cloud Storage 值區的位置 (*.firebasestorage.app)。
  • 2024 年 10 月 30 日起如果 Firebase 儲存桶的預設 Cloud Storage 佈建 (具體來說是 *.appspot.com 儲存桶),但預設 Cloud Firestore 例項佈建:

    • 在預先配置預設 Cloud Storage 儲存體 (*.appspot.com) 時,系統預先配置了 App Engine 應用程式,因此會在當時設定未來預設 Cloud Firestore 執行個體的位置。即使您刪除 *.appspot.com 值區,也無法刪除 App Engine 應用程式,因此未來預設 Cloud Firestore 執行個體的位置設定已設定完成。

如果您使用第 1 代排程函式,則系統會將其位置設為預設 Google Cloud 資源的位置。這是因為 Cloud SchedulerApp Engine 先前曾彼此建立關聯。此外,如果您在前置配置共用此位置設定的其他資源時設定第 1 代排程函式,就會一併設定這些資源的位置。

請注意,如果您有 App Engine 應用程式,且位置為 us-centraleurope-west,則系統會將預設 Google Cloud 資源的位置視為多地區

後續步驟

  • 如要進一步瞭解如何建構符合延遲時間、可用性和耐用性需求的應用程式,請參閱「地理位置與地區」。