Firebase Hosting の料金は、プロジェクトでの次の使用量に基づきます。
Hosting ストレージ(GB)- Hosting サイトのコンテンツ(静的ファイルと構成ファイル)の保存に必要なストレージ容量。
データ転送(GB/月)- CDN からエンドユーザーに転送されたデータの量。すべての Hosting サイトは、Google が運営するグローバル CDN を自動的に利用します。これには料金はかかりません。
Hosting の割り当てはプロジェクト単位であり、サイト単位やチャネル単位ではありません。プロジェクトを Blaze 料金プランにアップグレードして、追加の有料ストレージとデータ転送レベルを利用可能にすることもできます。詳しくは、Firebase Hosting の割り当てと料金をご覧ください。
Google Cloud コンソールでプロジェクトの予算アラートを設定することをおすすめします。
Firebase コンソールで Hosting ストレージ レベルとデータ転送レベルの両方をモニタリングします。
コンソールの [Hosting] セクションの [使用状況] ダッシュボードに移動します。
さまざまな請求対象期間の使用量レベルを確認できます。すべての Hosting サイトの使用量レベルと、サイトごとの使用量レベルを見ることができます。コンソールでプロジェクトの [使用量と請求額] のダッシュボードにアクセスします。
Hosting ストレージについて
サイトに新しいコンテンツをデプロイすると、サイトの特定のバージョンのコンテンツと構成を指す「リリース」を作成したことになります。各リリース(新しいリリースと保持されている以前のリリース)に関連するファイルは Firebase に保存されます。これらのファイルは、プロジェクトの Hosting ストレージの使用量として加算されます。
この Hosting ストレージは独立しており、Firebase プロジェクトの他のストレージ(Cloud Storage for Firebase やデータベース ストレージなど)とは無関係です。
Hosting では、個々のファイルに最大 2 GB のサイズ上限があります。
Hosting ストレージの割り当て
Hosting コンテンツのストレージは 10 GB まで無料です。
Blaze プランを利用していない場合、Hosting ストレージが無料の 10 GB の上限に達すると、新しいコンテンツをサイトにデプロイできなくなります。古いリリースを削除するか、Blaze プランにアップグレードする必要があります。
Blaze プランをご利用の場合、Hosting ストレージが無料の 10 GB の上限に達すると、Hosting ストレージの追加容量 1 GB ごとに $0.026 が課金されます。
Hosting ストレージの使用量を制御する
Hosting ストレージ使用量を制御するには、次のような方法があります。
保持するリリース数の上限を設定します。
特定のリリースを手動で削除します。
サイズの大きいファイルを保存するには Cloud Storage for Firebase を使用してください。個々のオブジェクトの最大サイズはテラバイト範囲です。
Hosting データ転送について
Hosting がサイトのいずれかのリソースを配信する場合、データは CDN からエンドユーザーへ転送されます。リクエストされたリソースは、Google の CDN キャッシュにすでに存在する場合もあれば(キャッシュ ヒット)、Hosting バックエンドからの取得が必要な場合もあります(キャッシュ ミス)。リクエストされたコンテンツが CDN でキャッシュできる場合は、キャッシュされます。キャッシュ ヒットとキャッシュ ミスはどちらも、プロジェクトの Hosting データ転送の使用量にカウントされます。
Hosting データ転送の割り当て
すべての Hosting サイトは、Google が運営するグローバル CDN を自動的に利用します。これには料金はかかりません。CDN からエンドユーザーへのデータ転送は、毎月 10 GB まで無料です。
Blaze プランを利用していない場合、データ転送量が無料の 10 GB/月の上限に達すると、短い猶予期間の後に、サイトは無効になります。データ転送の課金は 1 か月の使用量レベルに基づいているため、翌月の最初の日までサイトは無効のままになります。Blaze プランにアップグレードすると、サイトをすぐに有効にできます。
Blaze プランをご利用の場合、データ転送量が無料の 10 GB/月の上限に達すると、その月の追加のデータ転送量 1 GB ごとに $0.15 が課金されます。
Hosting データ転送の使用量を制御する
Hosting データ転送の使用量を制御するには、次のような方法があります。
ブラウザが CDN からリソースをリクエストする必要がないように、コンテンツのクライアント側キャッシュを微調整します。キャッシュについて詳しくは、ウェブ デベロッパー向けドキュメントをご覧ください。
実際に表示する必要のない画像や動画は読み込まないようにします。
特定のリクエストを処理する Service Worker を作成します。
予約済みの Hosting URL 経由で Firebase SDK を読み込む場合は、それらの URL の予約済み名前空間に関する重要な情報を必ずお読みください。以下に、特に PWA で Service Worker を設定する際に役立つリソースを示します。
Codelab: Service Worker によるファイルのキャッシュ処理
ドキュメント: Service Worker のマインドセット