合成モニタリングの概要

このドキュメントでは、Cloud Monitoring で提供される合成モニターのサポートについて説明します。合成モニターを使用すると、サービス、アプリケーション、ウェブページ、API の可用性、整合性、パフォーマンスをテストできます。合成モニターは、シミュレートされたリクエストを定期的に発行し、それらのリクエストが成功したかどうかを記録して、リクエストに関する追加データ(レイテンシなど)を記録します。テストに失敗したときに通知を受け取るには、テスト結果をモニタリングするアラート ポリシーを作成します。

サービスとアプリケーションをテストするには、次のいずれかの方法を使用します。

  • 稼働時間チェックを使用すると、Google Cloud は HTTP、HTTPS、TCP のリクエストに応答するアプリケーションを定期的にクエリできます。稼働時間チェックでは、パブリック エンドポイントまたはプライベート エンドポイントをテストし、レスポンス データを検証できます。

  • カスタム モニターと Mocha ベースの合成モニターを使用すると、HTTP リクエストまたは HTTPS リクエストに対応するアプリケーションのテストに使用できる一連のテストをデプロイできます。これらの合成モニターを作成するには、Cloud Monitoring が提供するフレームワーク(カスタムまたは Mocha)を使用し、テストを作成します。このプロジェクトで Gemini Code Assist にアクセスできる場合は、テストコードを生成するプロンプトを表示できます。

  • 無効なリンク チェッカーは、Google Cloud で URI を定期的にテストし、その URI で構成可能なリンク数をテストします。

次の表に、稼働時間チェックと合成モニターの作成に使用できるツールを示します。

Google Cloud コンソール Cloud Monitoring API Terraform クライアント ライブラリ
稼働時間チェック
合成モニタリング
無効なリンク チェッカー

稼働時間チェックについて

稼働時間チェックには、次の 2 つの種類があります。

  • 公開稼働時間チェックは、世界中の複数のロケーションから、一般公開されている URL または Google Cloud リソースにリクエストを発行します。
  • プライベート稼働時間チェックでは、Google Cloud リソースの内部 IP アドレスにリクエストを発行します。非公開稼働時間チェックでは、仮想マシン(VM)や L4 内部ロードバランサ(ILB)などのリソースにプライベート ネットワーク経由でリクエストを送信できます。

稼働時間チェックのために行われるリクエストは、複数の Google Cloud リージョンに存在するチェッカーから発信されます。稼働時間チェックを作成するときは、チェッカーのリージョンを指定します。

Google Cloud が提供する稼働時間チェックのリクエスト実行システムは、次のものを管理します。

  • 構成されたチェッカーの実行。
  • 結果の検証。

    リソースが応答し、稼働時間チェック構成の要件が満たされている場合、チェッカーから発行されたリクエストは成功します。それ以外の場合、リクエストは失敗します。個々のチェッカーによるクエリはステートレスです。つまり、各クエリは独立したアクションになります。

  • 結果を収集して稼働時間チェック指標に保存する。

    これらの指標の詳細については、monitoring 指標テーブルuptime_check エントリをご覧ください。

  • 失敗時にログエントリを書き込む

    Google Cloud コンソールを使用して稼働時間チェックを作成する場合、稼働時間チェックが失敗したときにログエントリを書き込むように稼働時間チェックを構成できます。ICMP ping を送信するように公開稼働時間チェックを構成した場合、ping が失敗すると、ping の結果が Cloud Logging ログに書き込まれます。詳細については、ICMP ping を使用するをご覧ください。

無効なリンク チェッカーやその他の合成モニターについて

合成モニターを使用すると、テスト内容と一連のテストを定義できます。たとえば、アプリケーションのログインページ、e コマースストアのチェックアウト プロセス、アプリケーションがサードパーティ サービスに対して行う API 呼び出しをテストできます。

合成モニターを作成するときに、Cloud Run 上に構築された第 2 世代の Cloud Functions をデプロイします。関数は Node.js で作成し、オープンソースの Synthetics SDK フレームワークに依存する必要があります。Cloud Monitoring は、このフレームワークを配布し、管理します。

Cloud Monitoring では、次のタイプの合成モニターがサポートされています。

Google Cloud が提供する合成モニターのリクエスト実行システムは、以下を管理します。

  • Cloud Function の関数の定期的な実行。
  • 各実行の結果の収集と保存。

    • 成功と失敗の情報(エラー メッセージ、エラーの種類、コード行など)。
    • 実行時間
    • ログ
    • 指標

    実行結果を表示する方法については、合成モニターの結果を探索するをご覧ください。

結果をモニタリングして表示する

Google Cloud コンソールで、合成モニターと稼働時間チェックの結果を確認できます。

  • 合成モニターの場合は、[合成モニター] ページに移動します。
  • 稼働時間チェックの場合は、[稼働時間チェック] ページに移動します。

合成モニターまたは稼働時間チェックが失敗した場合に通知を受け取るには、Google Cloud コンソールまたは Google Cloud CLI を使用してアラート ポリシーを作成します。

データのリージョン

Assured Workloads を設定した場合は、合成モニターや稼働時間チェックを使用しないでください。データ所在地または影響レベル 4(IL4)の要件が存在します。

Cloud Monitoring は、稼働時間チェック リクエストのデータが特定の地理的位置に保持されることは保証しません。

Cloud Functions に依存する合成モニターでは、Cloud Function がデプロイされるリージョンを指定できます。ただし、稼働時間チェック サーバーでサポートされている任意のリージョンから関数を呼び出すことができます。この動作は構成できません。

料金

一般に、Cloud Monitoring システムの指標は無料であり、外部システム、エージェント、またはアプリケーションの指標はそうではありません。課金対象の指標は、取り込まれたバイト数とサンプル数のいずれかによって課金されます。

Cloud Monitoring の料金の詳細については、次のドキュメントをご覧ください。

上限

合成モニターの使用には、次の上限が適用されます。

Category
指標スコープごとの稼働時間チェック* 100
公開稼働時間チェックごとの ICMP ping の最大数 3
指標スコープごと の合成モニター 100
*この上限は稼働時間チェックの構成の数に適用されます。稼働時間チェックの各構成には、指定されたリソースのステータスを確認する時間間隔が含まれます。
この上限を引き上げる方法については、Google Cloud コンソールを使用して割り当てを管理するをご覧ください。

次のステップ