Cloud Firestore 位置

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

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

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

位置的類型

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

多區域位置

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

多區域位置由一組定義的區域組成,資料庫的多個副本會儲存在這些區域。每個副本可以是讀寫副本 (包含資料庫中的所有資料),也可以是見證副本 (不維護完整資料集,但會參與複製作業)。

透過在多個區域之間複製資料,即使整個區域都遺失,資料仍可繼續提供服務。在某個區域內,資料會在各個可用區中複製,因此即使某個可用區發生故障,該區域仍可繼續提供資料。

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

多地區名稱 多地區說明 讀寫地區 見證地區
eur3 歐洲 europe-west1 (比利時)、europe-west4 (荷蘭) europe-north1 (芬蘭)
nam5 美國 (中部) us-central1 (愛荷華州)、us-central2 (奧克拉荷馬州 - 不公開的 GCP 地區) us-east1 (南卡羅來納州)
nam7 美國 (中東部) us-central1 (愛荷華州)、us-east4 (北維吉尼亞州) us-central2 (奧克拉荷馬州,不公開的 Google Cloud 地區)

地區位置

單一地區位置是指特定地理位置,例如南卡羅來納州。單一地區位置中的資料會在區域內的多個可用區中複製,所有單一地區位置彼此皆相隔至少 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-north2

斯德哥爾摩
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 日起如果尚未佈建預設 Cloud Firestore 執行個體和 Firebase bucket 的預設 Cloud Storage,將會發生以下情況:

    • 佈建預設 Cloud Firestore 執行個體會為專案中佈建的任何未來 App Engine 應用程式設定位置。 不過,這不會決定日後預設 Cloud Storage 值區的位置。

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

  • 2024 年 10 月 30 日起如果Cloud Firestore預設執行個體佈建,但 Firebase bucket 的預設 Cloud Storage尚未佈建:

    • 現有的預設 Cloud Firestore 執行個體不會強制規範未來預設 Cloud Storage 值區 (*.firebasestorage.app) 的位置。
  • 2024 年 10 月 30 日起如果已佈建 Firebase bucket 的預設 Cloud Storage (具體來說,就是 *.appspot.com bucket),但尚未佈建預設 Cloud Firestore 執行個體:

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

如果您使用第 1 代排程函式,系統會將函式位置設為預設 Google Cloud 資源的位置。這是因為「Cloud Scheduler」和「App Engine」先前已建立關聯。此外,如果您在佈建共用這個位置設定的其他資源前,設定了第 1 代排程函式,也請設定這些資源的位置。

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

後續步驟

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