このドキュメントでは、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/月 |
次のオペレーションと機能には、無料の使用量は含まれていません。次の機能を使用するには、課金を有効にする必要があります。
これらの機能に対する課金の詳細については、ストレージ料金をご覧ください。
次の表は、Firestore の利用ロケーションごとに、読み取り、書き込み、削除、保存にかかる料金を示しています。
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 クエリの説明 を使用して、クエリによってインデックス エントリの読み取りに対して課金されるかどうかを確認できます。
たとえば、limit: 5 の次のベクター検索クエリが 5 個のドキュメントを返し、1,550 kNN ベクター インデックス エントリを読み取る場合、返されたドキュメントの 5 回の読み取りオペレーションと、インデックス エントリの 16 回の読み取りオペレーションに対して課金されます。
たとえば、次のクエリには、1 つの等式フィールド(age)と 1 つの範囲フィールド(start_date)が含まれており、インデックス エントリの読み取りに対して課金されません。
たとえば、次のクエリには、1 つの等式フィールド(age)と 1 つの範囲フィールド(start_date)が含まれており、インデックス エントリの読み取りに対して課金されません。
次のクエリには 2 つの範囲フィールド(age と start_date)が含まれており、インデックス エントリの読み取りに対して課金されます。
クエリ内に他の範囲フィールドが 1 つ以上ある場合、order by 句で表示されるフィールドは範囲フィールドと見なされます。したがって、次のクエリには 2 つの範囲フィールド(age と start_date)が含まれており、インデックス エントリの読み取りに対して課金されます。
__name__ フィールドは、等式フィルタで唯一使用されているフィールドであっても、常に範囲フィールドと見なされます。したがって、次のクエリには 2 つの範囲フィールド(age と __name__)が含まれており、インデックス エントリの読み取りに対して課金されます。
集計クエリ(count()、sum()、avg() など)の場合、上記で説明したように、クエリによるインデックス エントリの読み取りに対して課金されます。読み取るインデックス エントリが 0 個の集計クエリでも、1 回のドキュメントの読み取りの最低料金が発生します。
たとえば、0 ~ 1, 000 個のインデックス エントリを読み取る count() オペレーションは、1 回のドキュメントの読み取りとして課金されます。1, 500 個のインデックス エントリを読み取る count() オペレーションは、2 回のドキュメントの読み取りとして課金されます。
使用するインデックスと読み取るインデックス エントリの詳細については、クエリの説明をご覧ください。
Firestore ではクエリの結果をリッスンでき、クエリの結果が変化した時点でリアルタイムの更新を取得できます。
クエリの結果をリッスンする場合、結果セット内のドキュメントが追加または更新されるたびに、1 回の読み取りとして課金されます。また、ドキュメントに変更があったために結果セットから除外される場合も、1 回の読み取りとして課金されます(これとは対照的に、ドキュメントが削除される場合、これは読み取りとして課金されません)。
モバイル SDK とウェブ SDK のリスナーに対する課金は、オフラインの永続性が有効かどうかによっても異なります。
注: 範囲フィールドが最大 1 つのクエリについては、インデックス エントリの読み取りに対する課金が免除されます。詳しくは、こちらをご覧ください。
Firestore には、多数の結果を返すクエリを管理する際に役立ついくつかの機能があります。
カーソル、ページトークン、および上限を使用する場合、追加コストは発生しません。これらの機能は実際に必要なドキュメントだけを読み取るので、コストを節約できます。
一方、オフセットを含むクエリを送信すると、スキップされるドキュメントごとに読み取り料金が課金されます。たとえば、クエリで 10 件分のオフセットを使用している場合、このクエリが 1 つのドキュメントを返すと、11 回の読み取りとして課金されます。このような追加コストが発生することから、可能な場合は常にオフセットではなくカーソルを使用してください。
コレクション ID リストのリクエストなど、ドキュメントの読み取り以外のクエリは 1 回のドキュメント読み取りとして課金されます。完全な結果セットを取得するために複数のリクエストが必要な場合(ページ設定を使用している場合など)、リクエストごとに 1 回ずつ課金されます。
クエリが結果を返さない場合でも、実行するクエリごとに 1 回の読み取り分の最小費用が発生します。
モバイル ライブラリおよびウェブ クライアント ライブラリの場合、Firestore セキュリティ ルールで exists()、get()、getAfter() を使用して 1 つ以上のドキュメントをデータベースから読み取ると、以下のように追加の読み取り料金が課金されます。
Firestore に保存するデータの容量(ストレージ オーバーヘッドを含む)に対して課金されます。オーバーヘッドの容量には、メタデータ、自動インデックス、および複合インデックスが含まれます。
Firestore に保存される各ドキュメントには、次のメタデータが必要です。
ストレージ費用は GiB/月単位で、毎日計算されます。Firestore はデータベースのサイズを毎日測定します。サンプル ポイントの1か月平均をとってデータベースのストレージ サイズを計算します。この平均値にストレージの単価(GiB-月)を掛けます。
Firestore ストレージの計算方法については、ストレージ サイズの計算をご覧ください。
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)を掛けます。
Firestore Query Explain を使用すると、費用が発生します。
クエリがデフォルト オプションで説明されると、インデックス オペレーションや読み取りオペレーションは実行されません。クエリの複雑さに関係なく、1 回の読み取りオペレーションが課金されます。
クエリが分析オプションで説明されると、インデックス オペレーションと読み取りオペレーションが実行されるため、通常のクエリに対する料金が発生します。説明と分析のアクティビティに追加料金はかからず、実行されるクエリに対する通常の料金のみがかかります。
以下のセクションで説明するように、Firestore のリクエストによって使用されるネットワーク帯域幅に対して課金が発生します。Firestore リクエストのネットワーク帯域幅の費用は、リクエストのレスポンスのサイズ、Firestore データベースのロケーション、レスポンスの送信先によって異なります。
Firestore は、シリアル化されたメッセージ形式に基づいてレスポンスのサイズを計算します。SSL オーバーヘッドなどのプロトコル オーバーヘッドは、ネットワーク帯域幅の使用量には含まれません。Firestore セキュリティ ルールによって拒否されたリクエストは、ネットワーク帯域幅の使用量にカウントされません。
これまでのネットワーク帯域幅の使用量を確認するには、Google Cloud コンソールを使用して課金データをファイルにエクスポートします。
Google Cloud Platform 内で発生したリクエスト(Google Compute Engine で実行中のアプリケーションからのリクエストなど)については、次の課金が発生します。
トラフィックの種類 | 料金 |
---|---|
インバウンド データ転送 | 無料 |
リージョン内のデータ転送 | 無料 |
同一マルチリージョン内のリージョン間のデータ転送 | 無料 |
米国内のリージョン間のデータ転送(GiB あたり) | $0.01(月ごとの最初の 10 GiB は無料です) |
リージョン間のデータ転送(米国のリージョン間のトラフィックは除く) |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
以下のインターネット データ転送に対して課金されます。
ネットワーク アウトバウンド データ転送: 世界各地の送信先(中国とオーストラリアは除く、香港は含む)(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 サービスに対する 1 か月の予算を設定できます。1 か月の予算を使用して、Firestore のネットワーク帯域幅の費用を含めて、Google Cloud の費用全体をモニタリングします。予算を設定すると、アラートを設定できます。これによって、費用が予算に近づくと、メール通知が送信されるようになります。
重要: Firestore やその他の Google Cloud サービスに対するリクエストは、1 か月の Google Cloud 予算を超えた後も正常に処理されます。Google Cloud 予算内に収めるには、お客様ご自身で使用パターンを変更していただく必要があります。
下記の手順に沿って、Google Cloud コンソールで 1 か月の予算を設定し、アラートを作成してください。
実際のサンプルアプリで Firestore の請求額がどのように発生するかを確認するには、Firestore の請求例をご覧ください。