料金

このドキュメントでは、Cloud Firestore の料金の詳細について説明します。また、Cloud Firestore での利用額を制限および監視する方法についても説明します。

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

料金の概要

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

  • 実行する読み取り、書き込み、削除の回数
  • データベースにより使用されるストレージの容量(メタデータとインデックスのオーバーヘッドを含む)。
  • ネットワーク帯域幅の使用量

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

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

地域別料金

次の表は、Cloud Firestore の利用場所ごとに、読み取り、書き込み、削除、保存にかかる料金を示しています。

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

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

Cloud Firestore で実行するドキュメントの読み込み、書き込み、および削除のオペレーションごとに課金が発生します。

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

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

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

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

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

また、リスナーが 30 分を超えて切断されている場合(ユーザーがオフラインになっている場合など)、新しいクエリを発行する場合と同様に読み取りが課金されます。

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

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

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

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

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

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

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

クエリの最小コスト

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

Cloud Firestore セキュリティ ルール

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

  • Cloud Firestore セキュリティ ルールを評価するために必要な読み取りに対する課金が発生します。

    たとえば、ルールで 3 つのドキュメントを参照しているが、Cloud Firestore がルールを評価するために読み取る必要があるドキュメントが 2 つだけの場合、2 回の従属ドキュメントの読み取りに対する課金が発生します。

    ルールで従属ドキュメントを複数回参照している場合でも、従属ドキュメントごとに 1 回の読み取りとしてのみ課金されます。

  • ルールの評価は、リクエストごとに 1 回のみ課金されます。

    その結果、ドキュメントを 1 つずつ読み取るよりも複数ドキュメントを一度に読み取る方が、必要となるリクエスト数が少なくなり、最終的なコストが低くなる可能性があります。

  • クエリの結果をリッスンする場合、以下のすべての状況においてルール評価に対する課金が発生します。

    • クエリを発行する場合。
    • クエリ結果の更新ごと。
    • ユーザーのデバイスがオフラインになり、その後オンラインになる場合。
    • ルールを更新する場合。
    • ルールで従属ドキュメントを更新する場合。

ストレージ サイズ

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

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

Cloud Firestore ストレージの計算方法については、ストレージ サイズの計算をご覧ください。データベースにより使用されているストレージ容量は、Cloud Console の App Engine の割り当ての詳細ページで確認できます。

ネットワーク帯域幅

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

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

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

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

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

トラフィックの種類 料金
上り 無料
リージョン内の下り 無料
同一マルチリージョン内のリージョン間の下り 無料
US 内のリージョン間の下り(GiB あたり) $0.01(月ごとの最初の 10 GiB は無料です)
リージョン間の下り(US リージョン間のトラフィックは除く) Google Cloud Platform インターネット下り料金

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

インターネット下り料金

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

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

使用量のモニタリング

Cloud Firestore の日次使用量は、[App Engine の割り当て] ページで確認できます。

[割り当て] ページに移動

費用の管理

Cloud Firestore に関する費用は、次のようなさまざまな方法で管理できます。

  • ストレージ コストとデータベース運用費用を管理するには、1 日の App Engine の費用上限を設定します。
  • ネットワーク帯域幅コストの費用を管理するには、Google Cloud の機能を使用して 1 か月の予算とアラートを設定します。

以降のセクションではさらに詳しく説明します。

App Engine の費用上限

App Engine では、Datastore や Cloud Firestore のデータベースなどの App Engine 関連のリソースに、1 日あたりの費用上限を設定できます。上限はおおよその値です。リソース使用量の急増にも対応できるように設定してください。1 日あたりの費用上限を超えると、無料の割り当て範囲外のすべての Cloud Firestore オペレーションが失敗します。

1 日あたりの費用上限を設定するには、Cloud Console を使用して Google Cloud プロジェクトに対する課金を有効にし、次の手順に従います。

  1. Cloud Console で、App Engine の [アプリケーションの設定] ページを開きます。

    [アプリケーションの設定] ページを開く

  2. [編集] をクリックして、費用上限を指定します。

  3. [保存] をクリックします。新しい上限がすぐに有効になります。

複数の Google Cloud プロジェクトで Cloud Firestore を使用する場合、プロジェクトごとに上記の手順を繰り返します。

Google Cloud の予算とアラート

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

App Engine 費用上限の計算対象となるコストは、1 か月の予算の計算対象にもなります。

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

料金の例

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

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...