Firestore の料金

このドキュメントでは、Firestore Standard エディションの料金の詳細について説明します。Enterprise エディションの料金については、Firestore Enterprise エディションの料金をご覧ください。

米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。

料金の概要

Firestore を使用すると、以下の項目に対し課金されます。

  • 読み取り、書き込み、削除を行うドキュメントの数
  • クエリ条件を満たすために読み取られたインデックス エントリの数インデックス読み取りの詳細をご覧ください
  • データベースにより使用されるストレージの容量(メタデータとインデックスのオーバーヘッドを含む)。
  • ネットワーク帯域幅の使用量

ストレージと帯域幅の使用量はギビバイト(GiB)単位で計算されます(1 GiB は 230 バイト)。課金はすべて日単位で発生します。

この後の各セクションでは、Firestore の使用に伴う請求の仕組みについて詳しく説明します。


無料の割り当て

Firestore では、費用をかけずに使い始めることができるように、無料の割り当てが用意されています。無料の割り当ての容量は以下のとおりです。割り当てがさらに必要な場合は、Google Cloud プロジェクトに対する課金を有効にする必要があります。

割り当ては日単位で適用され、太平洋時間の午前 0 時頃にリセットされます。


Firestore では、プロジェクトごとに 1 つの無料データベースが許可されます。

無料枠

割り当て

保存データ

1 GiB

ドキュメントの読み取り

50,000/日

ドキュメントの書き込み

20,000/日

ドキュメントの削除

20,000/日

送信データ転送

10 GiB/月

次のオペレーションと機能には、無料の使用量は含まれていません。次の機能を使用するには、課金を有効にする必要があります。

  • TTL の削除
  • PITR データ
  • データのバックアップ
  • 復元オペレーション

これらの機能に対する課金の詳細については、ストレージ料金をご覧ください。

ロケーション別料金

次の表は、Firestore の利用ロケーションごとに、読み取り、書き込み、削除、保存にかかる料金を示しています。

  • Johannesburg (africa-south1)
  • Taiwan (asia-east1)
  • Hong Kong (asia-east2)
  • Tokyo (asia-northeast1)
  • Osaka (asia-northeast2)
  • Seoul (asia-northeast3)
  • Mumbai (asia-south1)
  • Delhi (asia-south2)
  • Singapore (asia-southeast1)
  • Jakarta (asia-southeast2)
  • Sydney (australia-southeast1)
  • Melbourne (australia-southeast2)
  • Warsaw (europe-central2)
  • Finland (europe-north1)
  • Stockholm (europe-north2)
  • Madrid (europe-southwest1)
  • Belgium (europe-west1)
  • Berlin (europe-west10)
  • Turin (europe-west12)
  • London (europe-west2)
  • Frankfurt (europe-west3)
  • Netherlands (europe-west4)
  • Zurich (europe-west6)
  • Milan (europe-west8)
  • Paris (europe-west9)
  • Doha (me-central1)
  • Dammam (me-central2)
  • Tel Aviv (me-west1)
  • Montreal (northamerica-northeast1)
  • Toronto (northamerica-northeast2)
  • Mexico (northamerica-south1)
  • Sao Paulo (southamerica-east1)
  • Santiago (southamerica-west1)
  • Iowa (us-central1)
  • South Carolina (us-east1)
  • Northern Virginia (us-east4)
  • Columbus (us-east5)
  • Dallas (us-south1)
  • Oregon (us-west1)
  • Los Angeles (us-west2)
  • Salt Lake City (us-west3)
  • Las Vegas (us-west4)
  • Phoenix (us-west8)

1 日あたりの無料割り当て

デフォルト*(米ドル)

課金の単位

ドキュメントの読み取り

50,000

$0.03

ドキュメント 100,000 点あたり

ドキュメントの書き込み

20,000

$0.09

ドキュメント 100,000 点あたり

ドキュメントの削除

20,000

$0.01

ドキュメント 100,000 点あたり

TTL の削除

非対応

$0.01

ドキュメント 100,000 点あたり

保存データ

1 GiB のストレージ

$0.00020548

GiB

PITR データ

非対応

$0.00020548

GiB

データをバックアップする

非対応

$0.0000411

GiB

復元オペレーション

非対応

$0.20

GiB

*料金は、無料割り当てを超過した料金(単価)です。

米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。

名前付きデータベースの無料割り当てなし

名前付き(デフォルト以外の)データベースを作成するには、課金を有効にする必要があります。

名前付きデータベースの作成や削除に追加料金はかかりませんが、これらのデータベースは無料の割り当ての対象にはなりません。代わりに、これらの名前付きデータベースの使用量に対して課金されます。


読み取り、書き込み、削除

クエリを満たすために読み取られたドキュメントとインデックス エントリに対して課金されます。ドキュメントの書き込みと削除を行うたびに課金されます。

書き込みと削除の料金はシンプルです。書き込みの場合、set オペレーションまたは update オペレーションを実行するたびに書き込み 1 件としてカウントされます。

読み取りオペレーションの課金については注意すべき点があります。以下のセクションでは、これらの点について詳しく説明します。


インデックス エントリの読み取り

クエリによって読み取られた最大 1,000 個のインデックス エントリのバッチごとに 1 回の読み取りオペレーションとして課金されます。ただし、次の場合には課金されません。

注: Firestore クエリの説明 を使用して、クエリによってインデックス エントリの読み取りに対して課金されるかどうかを確認できます。

  • K 最近傍ベクター検索クエリの場合、クエリによって読み取られた最大 100 個の kNN ベクター インデックス エントリのバッチごとに 1 回の読み取りオペレーションとして課金されます。

たとえば、limit: 5 の次のベクター検索クエリが 5 個のドキュメントを返し、1,550 kNN ベクター インデックス エントリを読み取る場合、返されたドキュメントの 5 回の読み取りオペレーションと、インデックス エントリの 16 回の読み取りオペレーションに対して課金されます。

  • JS
読み込んでいます...
  • 範囲フィールドが 1 つ以下のクエリでは、インデックス エントリの読み取りに対して課金されません。

たとえば、次のクエリには、1 つの等式フィールド(age)と 1 つの範囲フィールド(start_date)が含まれており、インデックス エントリの読み取りに対して課金されません。

  • JS
読み込んでいます...
  • 範囲フィールドが 1 つ以下のクエリでは、インデックス エントリの読み取りに対して課金されません。

たとえば、次のクエリには、1 つの等式フィールド(age)と 1 つの範囲フィールド(start_date)が含まれており、インデックス エントリの読み取りに対して課金されません。

  • JS
読み込んでいます...

次のクエリには 2 つの範囲フィールド(age と start_date)が含まれており、インデックス エントリの読み取りに対して課金されます。

  • JS
読み込んでいます...

クエリ内に他の範囲フィールドが 1 つ以上ある場合、order by 句で表示されるフィールドは範囲フィールドと見なされます。したがって、次のクエリには 2 つの範囲フィールド(age と start_date)が含まれており、インデックス エントリの読み取りに対して課金されます。

  • JS
読み込んでいます...

__name__ フィールドは、等式フィルタで唯一使用されているフィールドであっても、常に範囲フィールドと見なされます。したがって、次のクエリには 2 つの範囲フィールド(age と __name__)が含まれており、インデックス エントリの読み取りに対して課金されます。

  • JS
読み込んでいます...

集約クエリ

集計クエリ(count()、sum()、avg() など)の場合、上記で説明したように、クエリによるインデックス エントリの読み取りに対して課金されます。読み取るインデックス エントリが 0 個の集計クエリでも、1 回のドキュメントの読み取りの最低料金が発生します。

たとえば、0 ~ 1, 000 個のインデックス エントリを読み取る count() オペレーションは、1 回のドキュメントの読み取りとして課金されます。1, 500 個のインデックス エントリを読み取る count() オペレーションは、2 回のドキュメントの読み取りとして課金されます。

使用するインデックスと読み取るインデックス エントリの詳細については、クエリの説明をご覧ください。


クエリ結果をリッスンする

Firestore ではクエリの結果をリッスンでき、クエリの結果が変化した時点でリアルタイムの更新を取得できます。

クエリの結果をリッスンする場合、結果セット内のドキュメントが追加または更新されるたびに、1 回の読み取りとして課金されます。また、ドキュメントに変更があったために結果セットから除外される場合も、1 回の読み取りとして課金されます(これとは対照的に、ドキュメントが削除される場合、これは読み取りとして課金されません)。

モバイル SDK とウェブ SDK のリスナーに対する課金は、オフラインの永続性が有効かどうかによっても異なります。

  • オフラインの永続性が有効で、リスナーが 30 分以上切断された場合(たとえばユーザーがオフラインになった場合)、新しいクエリを発行した場合と同様に、ドキュメントとインデックス エントリの読み取りに対して課金されます。
  • オフラインの永続性が無効になっている場合は、リスナーが切断されて再接続するたびに、新しいクエリを発行した場合と同様に、ドキュメントとインデックス エントリの読み取りに対して課金されます。

注: 範囲フィールドが最大 1 つのクエリについては、インデックス エントリの読み取りに対する課金が免除されます。詳しくは、こちらをご覧ください。


大きな結果セットを管理する

Firestore には、多数の結果を返すクエリを管理する際に役立ついくつかの機能があります。

  • カーソル。長期実行クエリを再開できます。
  • ページトークン。クエリ結果のページを設定できます。
  • 上限。取得する結果の数を指定します。
  • オフセット。一定数のドキュメントをスキップできます。

カーソル、ページトークン、および上限を使用する場合、追加コストは発生しません。これらの機能は実際に必要なドキュメントだけを読み取るので、コストを節約できます。

一方、オフセットを含むクエリを送信すると、スキップされるドキュメントごとに読み取り料金が課金されます。たとえば、クエリで 10 件分のオフセットを使用している場合、このクエリが 1 つのドキュメントを返すと、11 回の読み取りとして課金されます。このような追加コストが発生することから、可能な場合は常にオフセットではなくカーソルを使用してください。


ドキュメントの読み取り以外のクエリ

コレクション ID リストのリクエストなど、ドキュメントの読み取り以外のクエリは 1 回のドキュメント読み取りとして課金されます。完全な結果セットを取得するために複数のリクエストが必要な場合(ページ設定を使用している場合など)、リクエストごとに 1 回ずつ課金されます。


クエリの最小費用

クエリが結果を返さない場合でも、実行するクエリごとに 1 回の読み取り分の最小費用が発生します。


Firestore セキュリティ ルール

モバイル ライブラリおよびウェブ クライアント ライブラリの場合、Firestore セキュリティ ルールで exists()、get()、getAfter() を使用して 1 つ以上のドキュメントをデータベースから読み取ると、以下のように追加の読み取り料金が課金されます。

  • Firestore セキュリティ ルールを評価するために必要な読み取りに対する課金が発生します。
  • たとえば、ルールで 3 つのドキュメントを参照しているが、Firestore がルールを評価するために読み取る必要があるドキュメントが 2 つだけの場合、2 回の従属ドキュメントの読み取りに対する課金が発生します。
  • ルールで従属ドキュメントを複数回参照している場合でも、従属ドキュメントごとに 1 回の読み取りとしてのみ課金されます。
  • ルールの評価は、リクエストごとに 1 回のみ課金されます。
  • その結果、ドキュメントを 1 つずつ読み取るよりも複数ドキュメントを一度に読み取る方が、必要となるリクエスト数が少なくなり、最終的なコストが低くなる可能性があります。
  • クエリの結果をリッスンする場合、以下のすべての状況においてルール評価に対する課金が発生します。
  • クエリを発行する場合。
  • クエリ結果の更新ごと。
  • ユーザーのデバイスがオフラインになり、その後オンラインになる場合。
  • ルールを更新する場合。
  • ルールで従属ドキュメントを更新する場合。


データベース ストレージ サイズ

Firestore に保存するデータの容量(ストレージ オーバーヘッドを含む)に対して課金されます。オーバーヘッドの容量には、メタデータ、自動インデックス、および複合インデックスが含まれます。

Firestore に保存される各ドキュメントには、次のメタデータが必要です。

  • ドキュメント ID(コレクション ID とドキュメント名を含む)。
  • 各フィールドの名前と値。Firestore はスキーマレスなので、ドキュメント内の各フィールドの名前とフィールド値を一緒に保存しておく必要があります。
  • ドキュメントを参照するすべての単一フィールドおよび複合インデックス。各インデックス エントリには、コレクション ID、任意の数のフィールド値(インデックスの定義によって異なる)、ドキュメント名が含まれます。

ストレージ費用は GiB/月単位で、毎日計算されます。Firestore はデータベースのサイズを毎日測定します。サンプル ポイントの1か月平均をとってデータベースのストレージ サイズを計算します。この平均値にストレージの単価(GiB-月)を掛けます。

Firestore ストレージの計算方法については、ストレージ サイズの計算をご覧ください。


PITR データ

PITR を有効にすると、PITR データのストレージに対して課金されます。ほとんどのお客様は、PiTR データ ストレージの全体的な費用がデータベースのストレージ費用と同程度になります。

注: PITR データは、データベース ストレージ サイズの課金とは別に課金されます。PITR データは、データ ストレージ サイズの費用には影響しません。

PITR のストレージ費用は GiB/月単位で、毎日計算されます。Firestore はデータベースのサイズを毎日測定します。サンプル ポイントの1か月平均をとってデータベースのストレージ サイズを計算します。この平均値に PITR の単価(GiB-月)を掛けます。

たとえば、1 か月間のデータベースの平均サイズが 1 GiB で、PITR が 1 か月間有効になっている場合、課金対象の PITR データサイズも 1 GiB になります。

最低請求金額: PITR を有効にしてから 1 日以内に無効にしても、最大 1 日の PITR ストレージ料金が請求されることがあります。


データのバックアップと復元オペレーション

バックアップを有効にすると、データベース バックアップのストレージに対して課金されます。バックアップのストレージ サイズは、バックアップを作成したときのデータベースのストレージ サイズと同じです。

バックアップのストレージ費用は GiB/月単位で示されます。各バックアップが保持される日数も、1 か月平均をとって計算されます。各バックアップの費用は、バックアップのストレージ サイズにバックアップが保持されている月の割合を掛け、それに単価を掛けて算出されます。請求に関する 1 日の境界は、America/Los_Angeles タイムゾーンで定義されます。

復元オペレーションを実行する場合、Firestore は復元オペレーションの対象となるバックアップのサイズを測定します。バックアップのサイズに復元オペレーションの単価(GiB)を掛けます。


Query Explain

Firestore Query Explain を使用すると、費用が発生します。

クエリがデフォルト オプションで説明されると、インデックス オペレーションや読み取りオペレーションは実行されません。クエリの複雑さに関係なく、1 回の読み取りオペレーションが課金されます。

クエリが分析オプションで説明されると、インデックス オペレーションと読み取りオペレーションが実行されるため、通常のクエリに対する料金が発生します。説明と分析のアクティビティに追加料金はかからず、実行されるクエリに対する通常の料金のみがかかります。


ネットワーク帯域幅

以下のセクションで説明するように、Firestore のリクエストによって使用されるネットワーク帯域幅に対して課金が発生します。Firestore リクエストのネットワーク帯域幅の費用は、リクエストのレスポンスのサイズ、Firestore データベースのロケーション、レスポンスの送信先によって異なります。

Firestore は、シリアル化されたメッセージ形式に基づいてレスポンスのサイズを計算します。SSL オーバーヘッドなどのプロトコル オーバーヘッドは、ネットワーク帯域幅の使用量には含まれません。Firestore セキュリティ ルールによって拒否されたリクエストは、ネットワーク帯域幅の使用量にカウントされません。

これまでのネットワーク帯域幅の使用量を確認するには、Google Cloud コンソールを使用して課金データをファイルにエクスポートします。


一般的なネットワークの料金体系

Google Cloud Platform 内で発生したリクエスト(Google Compute Engine で実行中のアプリケーションからのリクエストなど)については、次の課金が発生します。

トラフィックの種類

料金

インバウンド データ転送

無料

リージョン内のデータ転送

無料

同一マルチリージョン内のリージョン間のデータ転送

無料

米国内のリージョン間のデータ転送(GiB あたり)

$0.01(月ごとの最初の 10 GiB は無料です)

リージョン間のデータ転送(米国のリージョン間のトラフィックは除く)

Google Cloud Platform 送信インターネット データ転送料金

米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。

インターネット データ転送料金


以下のインターネット データ転送に対して課金されます。

  • リージョン間の Google Cloud リクエスト(US リージョン間のトラフィックは除く)
  • Google Cloud 外部からのリクエスト(ユーザーのモバイル デバイスからのリクエストなど)


ネットワーク アウトバウンド データ転送: 世界各地の送信先(中国とオーストラリアは除く、香港は含む)(1 GiB あたり)

サービス

料金(米ドル)

APAC、ヨーロッパ、南北アメリカ

0 gibibyte to 10 gibibyte
$0.00 (Free)
10 gibibyte to 1,024 gibibyte
$0.12
1,024 gibibyte to 10,240 gibibyte
$0.11
10,240 gibibyte and above
$0.08

シンガポール、東京

0 gibibyte to 10 gibibyte
$0.00 (Free)
10 gibibyte to 1,024 gibibyte
$0.14
1,024 gibibyte to 10,240 gibibyte
$0.13
10,240 gibibyte and above
$0.09

米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。


料金(米ドル)

ネットワーク アウトバウンド データ転送: 中国の送信先(香港を除く)(1 GiB あたり)

0 gibibyte to 10 gibibyte
$0.00 (Free)
10 gibibyte to 1,024 gibibyte
$0.23
1,024 gibibyte to 10,240 gibibyte
$0.22
10,240 gibibyte and above
$0.20

ネットワーク下り(外向き)データ転送: オーストラリアの送信先(GiB あたり)

0 gibibyte to 10 gibibyte
$0.00 (Free)
10 gibibyte to 1,024 gibibyte
$0.19
1,024 gibibyte to 10,240 gibibyte
$0.18
10,240 gibibyte and above
$0.15

ネットワーク上り(内向き)データ転送

$0(無料)

米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。

使用量のモニタリング

Firestore の使用状況をモニタリングする方法については、使用状況のモニタリングをご覧ください。

費用の管理

費用を管理するには、1 か月の予算とアラートを設定します。


Google Cloud の予算とアラート


Google Cloud では、すべての Google Cloud サービスに対する 1 か月の予算を設定できます。1 か月の予算を使用して、Firestore のネットワーク帯域幅の費用を含めて、Google Cloud の費用全体をモニタリングします。予算を設定すると、アラートを設定できます。これによって、費用が予算に近づくと、メール通知が送信されるようになります。

重要: Firestore やその他の Google Cloud サービスに対するリクエストは、1 か月の Google Cloud 予算を超えた後も正常に処理されます。Google Cloud 予算内に収めるには、お客様ご自身で使用パターンを変更していただく必要があります。

下記の手順に沿って、Google Cloud コンソールで 1 か月の予算を設定し、アラートを作成してください。

料金の例

実際のサンプルアプリで Firestore の請求額がどのように発生するかを確認するには、Firestore の請求例をご覧ください。

次のステップ

カスタム見積もりをリクエストする

Google Cloud の従量課金制では、使用したサービスに対してのみ料金が発生します。カスタム見積もりをご希望の場合は、Google のセールスチームにお問い合わせください。
  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud