請求レポートについて

このページでは、Firestore 請求レポートを理解するうえで有用なヒントとリソースを紹介します。このページでは課金に関する疑問について、次の一般的な原因を取り上げます。

  • アプリを使用すること以外に費用が発生する要因には、インポート オペレーション、エクスポート オペレーション、コンソールの使用などがあります。
  • アプリ内で、リアルタイム更新、NoOps 書き込み、クエリ オフセットによって、予想よりも速い速度で使用量が増加する可能性があります。
  • コンソールで使用状況ダッシュボードを使用する際には、ダッシュボードと請求レポート間の相違に留意してください。

インポートとエクスポートの使用状況

請求レポートの内訳を表示する場合は、インポートとエクスポートのオペレーションに関連する費用を確認してください。これらのオペレーションは、Firestore の請求対象としてカウントされる読み取りと書き込みのオペレーションを実行します。データのインポートとエクスポートの頻度によっては、これらのオペレーションが、課金対象オペレーションの多くを占める可能性があります。

コンソールの使用状況ダッシュボードには、インポートとエクスポートのオペレーションの読み取りと書き込みは反映されません。インポートおよびエクスポートのオペレーションと関連費用は、次の方法で表示できます。

請求ラベル

エクスポートとインポートのオペレーションでは、読み取りと書き込みのオペレーションに goog-firestoremanaged:exportimport ラベルが適用されます。エクスポートとインポートのオペレーションに関連する費用を表示するには、Cloud Billing レポートのページで、このラベルを使用します。

フィルタ メニューから goog-firestoremanaged ラベルにアクセス。

最近のオペレーションを一覧表示する

コンソールまたは gcloud を使用して、最近のインポートとエクスポートのオペレーションを表示できます。

Google Cloud Console

Google Cloud Console の Firestore インポート / エクスポート ページで、最近のエクスポートとインポート オペレーションを一覧表示できます。

[インポート / エクスポート] ページに移動

gcloud

実行中および最近完了したすべてのエクスポート / インポート オペレーションを表示するには、operations list コマンドを使用します。

gcloud firestore operations list

管理オペレーションの監査ログ

Firestore は、エクスポート オペレーション、インポート オペレーション、インデックス登録オペレーションの監査ログを書き込みます。Firestore 監査ロギングの情報をご覧ください。

コンソールの使用

Firebase コンソールおよび Cloud Console で Firestore データビューアによって実行される読み取りオペレーションは、課金対象の Firestore の使用量としてカウントされます。Firestore ページを開く、または更新すると、コンソールがドキュメントを読み込んでページに情報を入力します。Firestore ページが開いたままである限り、コンソールはリアルタイム クエリを使用して、表示可能なドキュメントとコレクションを更新します。

使用状況を細分化すると、Firestore 操作の別のソースとしてコンソールの使用状況を考慮します。請求レポートでは、コンソールのトラフィックとアプリケーションのトラフィックを区別する方法はありません。

課金対象オペレーション

料金情報に加えて、次のようなオペレーションについてアプリを確認します。これらのオペレーションにより、想定よりも速い速度で請求料金が増加する可能性があります。

  • リアルタイム アップデート

    クエリの結果をリッスンする場合は、結果セット内のドキュメントが追加または更新されるたびに、1 回の読み取りとして課金されます。リアルタイム リスナーの範囲を確認します。非常に広範なクエリの結果をリッスンする、またはコレクション全体をリッスンすると、必要以上に多数の読み取りオペレーションが発生する可能性があります。

  • NoOps 書き込みと NoOps 削除

    NoOps とは、ドキュメントを変更しないオペレーションです。ただし、NoOps の書き込みと削除には料金が発生します。

    削除オペレーションでは、指定したドキュメントが存在しない場合であっても料金が発生します。

    書き込みオペレーションについては、オペレーションによって変更が行われない場合であって料金が発生します。たとえば、ドキュメント フィールドを同じフィールド値に更新するオペレーションでは、料金が発生します。

  • クエリ オフセット

    クエリ オフセットでは、指定した数のクエリ結果がスキップされますが、スキップされた結果も課金対象となります。このような追加費用が発生することから、オフセットの代わりにカーソルを使用してください。

使用状況ダッシュボードの相違

Firebase コンソールと Cloud Console の Firestore 使用状況ダッシュボードには、使用状況の推定値が表示されます。これらは使用量の急増を特定する際に有用です。ただし、ダッシュボードには、課金対象のオペレーションは正確には表示されません。課金される使用量はこれよりも多くなる可能性があります。相違が生じているすべてのケースについて、請求レポートが使用状況ダッシュボードよりも優先されます。

使用状況ダッシュボードと請求対象の使用量の間に相違が生じるオペレーションには、次のものがあります。

  • インポートとエクスポートのオペレーション。これらのオペレーションにより行われた読み取りと書き込みは、使用状況ダッシュボードに表示されません。
  • NoOps の書き込み。フィールド値を変更しない更新や、削除されたドキュメントへの書き込みなど、データベースの変更が行われないオペレーションは、課金対象オペレーションとして分類されます。ただし、使用状況ダッシュボードではこれらのオペレーションはカウントされません。
  • 折りたたまれた書き込み。同じドキュメントに複数の書き込みが短時間で連続して行われる場合、使用状況ダッシュボードでは複数の書き込みがまとめて折りたたまれ 1 回としてカウントされる場合があります。使用量に対する請求を行う場合は、各書き込みが引き続き別々にカウントされます。

    また、使用状況ダッシュボードは、サーバーのタイムスタンプ、数値の増分、配列ユニオン オペレーションなどのフィールド変換の場合も書き込みを折りたたみます。フィールド変換については、使用状況ダッシュボードは複数のオペレーションを 1 回のオペレーションとしてカウントする場合があります。

  • 0 件の結果を返すクエリ。0 件の結果を返すクエリについては、1 回の読み取りオペレーションに対する費用が発生します。この使用量は課金の対象になりますが、使用状況ダッシュボードには表示されません。

次のステップ

請求レポートについて詳しくは、Cloud Billing のサポートまでお問い合わせください。