Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

高度な請求アラートとロジックを設定する

一方で、単純な予算アラートメールは課金の更新を受信するための比較的簡単な方法ですあなたはより多くのカスタマイズされたロジックを含む、より洗練されたアラートを作成する場合、時間があるかもしれません。考慮すべき2つのアプローチは次のとおりです。

  • クラウドモニタリングを使用して、より洗練されたタイムリーなアラートを作成します

  • 課金Pub / Sub通知と対応するクラウド機能を使用して、支出の変化に応じてカスタム動作を作成します

これらの手法はどちらもあなたの側でより多くの作業を必要としますが、受信するアラートの種類とそれらへの応答方法を正確に制御する能力を提供します。

このページでは、これらの各アプローチの概要を説明します。

CloudMonitoringでより洗練されたアラートを作成する

シンプルな予算アラートメールは、全体的な請求が特定のしきい値に達したときに通知します。ただし、個々のサービスが予想外に増加しているかどうかを知りたい場合もあります。予算に大きな影響を与える前に。このようなより洗練されたユースケースについては、Firebaseプロジェクトで利用できるGoogleCloudツールであるCloudMonitoringについて学習することをお勧めします。

クラウドモニタリングは、いくつかの異なるタイプのアラートに役立ちます。

  • プロジェクトが依存しているリソースが利用できない場合(FirebaseとGoogle Cloudサービスの両方で、AWSなどの外部サービスでも)

  • CloudFunctionsなどのサービスの応答に予想よりも時間がかかっている場合

  • Cloud Storageバケット、Realtime Databaseインスタンス、またはCloud Firestoreインスタンスが拒否するリクエストが多すぎる場合(Firebaseセキュリティルールが正しくない可能性があることを示しています)。

  • 一部のFirebase製品で使用されているリソースの量が特定のしきい値を超えた場合

Cloud Monitoringを介して作成されたアラートは、通常、1日に1回送信される単純な予算アラートメールよりも迅速に送信されます。アラートは、SMSメッセージ、Slackチャネルメッセージ、PagerDuty通知、Webhookなどの形式をとることができます。これらのオプションを使用すると、より高い、より実用的なレベルの可視性でアラートを送信できます。

クラウドモニタリングの使用

クラウドのモニタリングを開始するには、我々は始まるお勧めメトリックエクスプローラあなたはFirebase / Googleクラウドプロジェクト内のカスタム指標のグラフを作成し、その使用状況を可視化することができます。

具体的には、Cloud Firestore、Realtime Database、CloudFunctionインスタンスなどのリソースを確認できます。請求に影響を与える可能性のあるこれらの製品に関する使用情報(ドキュメントの読み取り数、送信されたバイト数、関数の呼び出しなど)を表示できます。

あなたはメトリックエクスプローラでリソースの使用状況を可視化し、快適だ後、我々は作成することをお勧めします警告ポリシーあなたが最も気にメトリックのを。アラートポリシーの例を次に示します。

  • 30分間に読み取られたドキュメントの数が特定の値よりも多い場合

  • 特定のリソース(関数の呼び出しなど)の使用量が特定の時間枠で急速に増加しているように見える場合

追加の課金ロジックを作成する

予算アラートは、予算が特定のしきい値に達すると自動的にメールを送信しますが、支出の増加に対するより高度なアラートまたはプログラムによる反応については、Google Cloud Pub / Subメッセージに基づいて追加のカスタムロジックを設定することを検討してください。

たとえば、Slackチャネルにアラートを送信したり、テキストメッセージを介してアラートを送信したり、支出レベルに応じてアプリやプロジェクトにプログラムによる変更を加えたりすることができます。

Pub / Subは、他のサービスがPub / Subトピックと呼ばれるチャネルを介して非同期的にメッセージ(通常はJSONデータの形式)を送信できるようにするメッセージパッシングサービスです。これらのトピックのメッセージをリッスンし、データを適切に処理するために、CloudFunctionsなどの承認されたサービスを設定できます。

請求のPub / Sub通知は、請求の使用法が変更されたかどうかに関係なく、約20分に1回送信され、ステートレスであることに注意してください(つまり、前に何があったかについてのコンテキストは提供されません)。時間の経過に伴う支出の異常な増加を追跡したり、支出を前のサイクルと比較したりする場合は、CloudFirestoreやRealtimeDatabaseなどのデータベースを使用してその履歴データを自分で管理する必要があります。

CloudFunctionsでのPub / Subトピックの使用

あなたは、この予算への接続のためのパブ/サブトピックをチェックボックスをクリックし、(請求>予算とアラート下)GoogleクラウドコンソールであなたのFirebaseプロジェクトに関連する予算を訪問して、あなたの請求データのためのパブ/サブトピックを設定することができます。これにより、後で聞くことができるPub / Subトピックが作成されます。詳細な手順については、を参照してください完全なドキュメント

Pub / Sub課金トピックを作成したら、このトピックをリッスンし、それに応じてデータを処理するクラウド関数を作成できます。データはJSONデータとして送信され、これまでに費やした金額、予算額、現在の請求サイクルの開始日などの役立つ情報が含まれています。

Google Cloudのドキュメントには、CloudFunctionを使用してこのデータを受信する方法の詳細が記載されています。あなたの機能を展開するFirebaseのためのクラウド機能を使用している場合は、一般的なプロセスは、(チェックアウト少し単純であるFirebaseのマニュアルを参照して)。また、参照することができ、このビデオプロセスのサンプルウォークスルーのために。

このデータを受け取ったら、それに対応するためのさまざまな方法があります。ここにいくつかのオプションがあります: