Service Directory によるオブザーバビリティとデバッグ

Cloud Service Mesh と Service Directory を統合すると、デバッグがより複雑になります。ビジネスにおいて、サービス ユーザーとサービス プロデューサーが別々のチームや組織に所属している場合があります。このような問題のデバッグに役立つように、Cloud Service Mesh は Cloud Logging および Cloud Monitoring と統合されています。

次に例を示します。

  • アプリケーション ネットワーキングに Cloud Service Mesh を使用する checkout サービスがあります。
  • Service Directory には、異なるチーム(サービス プロデューサー)が所有して管理する payment サービスがあります。
  • payment サービスを checkout サービスから呼び出すために、Cloud Service Mesh で新しいバックエンド サービスを作成するとします。このバックエンド サービスは、Service Directory を使用してサービス ディスカバリを行い、payment サービスに接続します。

このモデルでは、Service Directory でホストされている payment サービスをサービス プロデューサーが削除または変更する場合があります。サービス プロデューサーは payment サービスを所有しているため、このような変更を行うことができます。ただし、payment サービスが削除されると、サービス ディスカバリは機能しなくなります。

ロギング

Cloud Service Mesh は、Service Directory サービスに接続されているバックエンド サービスを解決する際に、Service Directory からエンドポイントのリストを取得します。サービスが Service Directory から削除されている場合、Cloud Service Mesh はエンドポイントを取得しません。このような場合、ログエントリが Logging に追加されます。このログエントリは、次の情報で構成されています。

  • バックエンド サービス名
  • Service Directory 名
  • メッセージ: Service Directory returned 0 endpoints for this service.

この情報は問題のデバッグに役立ちます。事前対策としてアラートを設定することもできます。

モニタリング

ロギングの場合と同様に、Cloud Service Mesh は Monitoring と統合して指標を生成します。Cloud Service Mesh は、バックエンド サービスごとに次の指標を Monitoring に追加します。

  • バックエンド サービス名
  • このバックエンド サービスに関連付けられ、Cloud Service Mesh のクライアントと共有されているエンドポイントの数

Cloud Service Mesh のクライアントは、エンドポイントのないバックエンド サービスにはトラフィックを送信できません。

Google Cloud コンソール

Service Directory サービスが削除され、そのサービスへのアタッチメントが Cloud Service Mesh バックエンド サービスに存在している場合、Google Cloud コンソールには次の警告が表示されます。The attached Service Directory service could not be found.

次のステップ