アプリの開発を始めたばかりでも、本格的な本番環境アプリを運用している場合でも、費用や予期しない請求を回避する方法を理解する必要があります。
まだお済みでない場合は、Firebase のお支払いプランを確認して、Firebase の課金の仕組みをご確認ください。
このページでは、次のような、使用状況と支出レベルを把握してモニタリングするための重要事項について説明します。
コードをテストする
本番環境にコードをデプロイする前にコードをテストすることは有効であり、例えば、多額の費用が発生する原因になるエラーをキャッチすることができます。アプリのインフラストラクチャを構築する際は、Firebase Local Emulator Suite を使用して最初にローカルでテストを行うことを強くおすすめします。
Local Emulator Suite を使用すると、Cloud Functions、Cloud Firestore、Realtime Database などのインスタンスをデスクトップ マシンでローカルに実行できます。これにより、新しい機能、特に Cloud Functions の関数を迅速かつ簡単に反復処理できます。また、本番環境でのサービスに対するテストの結果として発生する可能性のある Firebase の費用を回避できます。
テストの際には、想定された使用量や支出の超過の起因になる、以下のよくある原因をご確認ください。
何百万もの結果を持つデータベース クエリへの上限の追加を忘れること
過剰なファンアウト ワークロードや無限ループを引き起こす Cloud Functions の組み合わせ
使用状況と支出レベルを表示する
アプリの通常の使用パターンがどのようになっているかを把握して、重要なしきい値を超えないようにする必要があります。
各プロダクトの使用状況を表示する
Firebase コンソールの [使用状況] タブから、多くのプロダクトについて、そのプロダクトの使用状況を確認できます。
これらのダッシュボードでは、特定の期間を確認できます。
プロダクト レベルのダッシュボードは、 Authentication と、すべてのインフラストラクチャ プロダクト (Realtime Database、 Cloud Firestore、 Cloud Storage、 Cloud Functions、 Hosting)で利用できます。
プロジェクト全体の使用状況を表示する
プロジェクト全体の使用状況は、Firebase コンソールの [使用量と請求額] ダッシュボードで確認できます([プロジェクトの概要] > [使用量と請求額])。
月単位の使用量と、割り当てられた無料の使用量割り当てに対する使用量レベルを確認できます。
いずれかのプロダクトをクリックすると、使用量の日次サマリーと、割り当てられた無料の使用量割り当てに対する使用量レベルを確認できます。
プロダクトによって使用量の割り当てが異なるため、タイムラインも異なります。以下に例を示します。
Cloud Firestore と Cloud Storage の使用量は毎日計算されます。
Cloud Functions の使用量は月単位で計算されます。
予算アラートメールを設定する
Google Cloud Billing で予算を作成し、予算アラートを設定することで、想定外の請求が発生する事態を回避します。このセクションでは、Firebase プロジェクトでこの両方を行う方法について説明します。
プロジェクトで設定された支出しきい値を超えたときに、お客様やお客様のチームメートにメール通知を送信する、簡単な予算アラートを設定できます。
Blaze お支払いプランに最近アップグレードした場合は、予算アラートがすでに作成されている場合があります。このセクションでは、予算アラートの詳細、新しいアラートの設定、既存のアラートの変更について説明します。
予算と予算アラートの概要
予算とは、1 か月あたりに使用する予定の金額です。
予算アラートは、プロジェクトの支出レベルが設定したしきい値に到達するたびにメールを送信します。予算アラートにより、サービスやアプリの使用がオフになることはありません。
(支出を増やすバグがアプリにある可能性があるとしても)サービスや使用がオフにならない理由は、アプリで想定外のプラスの成長が達成されている場合もあるためです。アプリを最大限機能させる必要があるタイミングで、予期しないシャットダウンが発生することは望ましくありません。
予算と簡単な予算アラートを設定する
予算または予算アラートを設定するには、関連付けられた Cloud Billing アカウントのオーナーである必要があります。
Google Cloud コンソールに移動し、プロジェクトにアクセスして、[お支払い] を選択します。
[予算とアラート] パネルに移動し、次の手順に沿って、予算およびメール送信される予算アラートを設定します。
既存の予算を選択するか、新しい予算を作成します。
予算にわかりやすい名前を付けます。
予算アラートのスコープを設定して、予算アラートを適用するプロジェクトとサービスを設定します。予算アラートを利用する際には、[すべてのサービス] を選択することをおすすめします。
次のいずれかの方法で、[金額] > [予算タイプ] を設定します。
一定額 - 最初の段階や、アプリのテスト時にこのタイプを使用します。
プロジェクトの先月の支出額と同額 - アプリが着実に成長していて、予算額を毎月変更したくない場合は、このタイプを使用します。
予算の割合アラートを設定します。
最初のテストでは、Actual の 1%、2%、5%、50% など、いくつかの割合を試してみてください。
本番環境のアプリでは、Actual の 50% や 100%、あるいは Forecasted の 150% など、重要度の高い割合を試してみてください。
メールを受信するユーザーを設定します。
デフォルトでは、適切な課金権限を持つユーザーが通知メールを受け取ります(デフォルトでは、関連する Cloud 請求先アカウントの請求先アカウント管理者と請求先アカウント ユーザー)。
また、チームの他のメンバーにメールを送信することもできます。これを行うには、Cloud Monitoring Workspace を作成し、メールベースの通知チャンネルをワークスペースの [アラート] セクションに追加する必要があります。この設定の詳細については、高度な請求アラートとロジックを設定するをご覧ください。
低い予算の割合(1% など)で通知を設定した場合、プロジェクトでそのしきい値に達したことを通知するメールが数時間または数日以内に届くはずです。
次のステップ
以下を行う方法については、高度な請求アラートとロジックの設定をご覧ください。
Cloud Monitoring を使用して、課金と使用量に関する高度なアラートを作成する(Slack などの他のメディアに通知を送信するカスタム アラートなど)。
Google Cloud Pub/Sub に基づいて追加の課金ロジックを作成する。