ロケーション
Firestore インスタンスをプロビジョニングする場合は、インスタンスのロケーションを選択する必要があります。レイテンシを低減し可用性を高めるため、データを必要とするユーザーとサービスに近いロケーションにデータを保存します。
必要に応じて、プロジェクト内に複数のデータベースを作成し、それぞれに独自のロケーション設定を指定できます。
データベース インスタンスをプロビジョニングした後、そのロケーション設定を変更することはできないことに注意してください。
ロケーションの種類
Firestore のデータは、マルチリージョン ロケーションまたはリージョン ロケーションに保存できます。
マルチリージョン ロケーション
データベースの可用性と耐久性を最大限にする場合は、マルチリージョン ロケーションを選択します。
マルチリージョン ロケーションは定義済みのリージョンのセットで構成され、それら複数のリージョンにデータベースの複数のレプリカが保存されます。各レプリカは、データベース内のすべてのデータを含む読み取り / 書き込みレプリカ、または完全なデータセットを保持せずレプリケーションに参加するウィットネス レプリカのいずれかです。
複数のリージョン間でデータを複製することで、1 つのリージョン全体が失われてもデータの提供を継続できます。リージョン内においては、データはゾーン間で複製されるため、1 つのゾーンが失われてもそのリージョン内でデータの提供を継続できます。
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 リージョン) |
リージョンのロケーション
リージョン ロケーションは、サウスカロライナなどの特定のロケーションを表します。リージョン ロケーションのデータは、リージョン内の複数のゾーンに複製されます。
アプリケーションでレイテンシが重要な場合や、他の Google Cloud リソースとのコロケーションが必要な場合は、費用や書き込みレイテンシを抑えるためにリージョン ロケーションを選択します。
Firestore は、次のリージョン リソース ロケーションをサポートしています。
| リージョン名 | リージョンの説明 | |
|---|---|---|
| 北米 | ||
us-west1 | オレゴン | |
us-west2 | ロサンゼルス | |
us-west3 | ソルトレイクシティ | |
us-west4 | ラスベガス | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
アイオワ | |
northamerica-northeast1 | モントリオール | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
トロント | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ケレタロ | |
us-east1 | サウスカロライナ | |
us-east4 | 北バージニア | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
コロンバス | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ダラス | |
| 南アメリカ | ||
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
サンティアゴ | |
southamerica-east1 | サンパウロ | |
| ヨーロッパ | ||
europe-west2 | ロンドン | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ベルギー | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
オランダ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ミラノ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
マドリッド | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
パリ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
トリノ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ベルリン | |
europe-west3 | フランクフルト | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
フィンランド | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ストックホルム | |
europe-central2 | ワルシャワ | |
europe-west6 | チューリッヒ | |
| 中東 | ||
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ドーハ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ダンマーム | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
テルアビブ | |
| アジア | ||
asia-south1 | ムンバイ | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
デリー | |
asia-southeast1 | シンガポール | |
asia-southeast2 | ジャカルタ | |
asia-east2 | 香港 | |
asia-east1 | 台湾 | |
asia-northeast1 | 東京 | |
asia-northeast2 | 大阪 | |
asia-northeast3 | ソウル | |
| オーストラリア | ||
australia-southeast1 | シドニー | |
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
メルボルン | |
| アフリカ | ||
|
この場所は App Engine をサポートしていません。 App Engine を使用する予定の場合は、別の場所を選択する必要があります。 |
ヨハネスブルグ | |
ロケーション SLA
Firestore のロケーションの種類によって、サービスレベル契約(SLA)の稼働率が決まります。
| 対象サービス | 各月の稼働率 |
|---|---|
| Firestore マルチリージョン | 99.999% 以上 |
| Firestore リージョン | 99.99% 以上 |
ロケーションの料金
Firestore のロケーションによって、データベース オペレーションの料金が決まります。
リージョン別とリージョン タイプ別の料金の詳細については、Firestore の課金についてをご覧ください。
データベースのロケーションを表示する
データベースのロケーション設定を表示するには、次のいずれかの方法を使用します。
gcloud firestore databases listコマンドを実行します。Google Cloud コンソールでデータベース リストを開きます。各データベースのロケーションはロケーションの列に表示されます。
Firebase コンソールで、[Firestore データ] タブに移動して、データベース インスタンスとそのロケーションのリストを表示します。
「デフォルトの Google Cloud リソースのロケーション」が原因で発生する可能性のあるロケーション依存関係
「デフォルトの Google Cloud リソースのロケーション」は、Google App Engine に関連付けられたプロジェクト リソースのロケーション設定です。次のものが含まれます。
- デフォルトの Firestore データベース インスタンス
- デフォルトの Cloud Storage for Firebase バケット(名前の形式は
)*.appspot.com - 第 1 世代のスケジュール設定された関数でのみ使用される Google Cloud Scheduler
この「デフォルトの Google Cloud リソースの場所」は変えることのできない設定です。また、関連付けられたリソースのいずれかにロケーションを設定すると、App Engine との共通の関連付けにより、すべてのリソースのロケーションが間接的に設定されます。
ただし、Firebase と Google Cloud エコシステムには長年にわたって多くの変更が行われており、リソースと App Engine の関連付けも変化しています。特に、*.firebasestorage.app
考えられるロケーションの依存関係での変更内容は次のとおりです。
2024 年 10 月 30 日 以降、デフォルトの Firestore インスタンスと Cloud Storage for Firebase バケットがまだプロビジョニングされていない場合:デフォルトの Firestore インスタンスをプロビジョニングすると、プロジェクトでプロビジョニングされる今後の App Engine アプリのロケーションが設定されます。ただし、将来のデフォルトの Cloud Storage バケットのロケーションは指定されません。
デフォルトの Cloud Storage バケットをプロビジョニングしても、App Engine アプリはプロビジョニングされなくなりました。したがって、デフォルトの Cloud Storage バケットのロケーションが、今後のデフォルトの Firestore インスタンスのロケーションを指定することはありません。
2024 年 10 月 30 日 以降、デフォルトの Firestore インスタンスがすでにプロビジョニングされているが、Cloud Storage for Firebase のデフォルト バケットがプロビジョニングされていない場合:- 既存のデフォルトの Firestore インスタンスは、将来のデフォルトの Cloud Storage バケット(
)のロケーションを指定しません。*.firebasestorage.app
- 既存のデフォルトの Firestore インスタンスは、将来のデフォルトの Cloud Storage バケット(
2024 年 10 月 30 日 以降、Firebase 用 Cloud Storage のデフォルト バケットがすでにプロビジョニングされている(具体的には バケット)が、デフォルトの Firestore インスタンスがプロビジョニングされていない場合:*.appspot.com- デフォルトの Cloud Storage バケット(
)がプロビジョニングされたとき、App Engine アプリもプロビジョニングされたため、将来のデフォルトの Firestore インスタンスのロケーションがその時点で設定されました。*.appspot.com バケットを削除しても App Engine アプリは削除できないため、今後のデフォルトの Firestore インスタンスのロケーション設定はすでに設定されています。*.appspot.com
- デフォルトの Cloud Storage バケット(
第 1 世代のスケジュール設定された関数を使用した場合、そのロケーションはデフォルトの Google Cloud リソースのロケーションに設定されます。これは、Cloud Scheduler と App Engine が以前に相互に関連付けられていたためです。また、このロケーション設定を共有するほかのリソースをプロビジョニングする前に第 1 世代のスケジュール設定された関数を設定した場合は、そのロケーションも設定します。
us-central または europe-west のいずれかのロケーションを使用する App Engine アプリがある場合、デフォルトの Google Cloud リソースのロケーションはマルチリージョンとみなされます。
次のステップ
- 特定のロケーションに Firestore データベースを作成するには、Firestore クイックスタートのいずれかにアクセスしてください。
- レイテンシ、可用性、耐久性の要件を満たすアプリケーションの構築について詳しくは、地域とリージョンをご覧ください。