

# OPS04-BP04 依存関係のテレメトリーを実装する
<a name="ops_telemetry_dependency_telemetry"></a>

ワークロードが依存するリソースのステータスに関する情報が送出されるよう、ワークロードを設計および設定します。これらは、ワークロードの外にあるリソースです。外部依存関係の例としては、外部データベース、DNS、ネットワーク接続などがあります。この情報を使用して、対応が必要な場合を判断したり、ワークロードの状態に関する追加のコンテキストを提供したりします。

 **期待される成果:** 
+  ワークロードは、外部依存のステータスに関するテレメトリを送信します。 
+  依存関係に異常がある場合は通知されます。 

 **一般的なアンチパターン:** 
+ ユーザーがサイトにアクセスできない。DNS の問題であるかどうかを判断するには、手動で DNS プロバイダーが動作しているかどうかを確認する必要がある。
+ ショッピングカートアプリケーションがトランザクションを完了できない。クレジットカード処理プロバイダーの問題であるかどうかを確認するには、そのプロバイダーに連絡する必要がある。

 **このベストプラクティスを活用するメリット:** 
+  外部依存関係をモニタリングすると、問題について高度な通知が提供されます。 
+  依存関係の正常性を認識できると、トラブルシューティングに役立ちます。 

 **このベストプラクティスが確立されていない場合のリスクレベル:** 中 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 関係者と協力して、ワークロードが依存している外部依存関係を特定します。外部依存関係には、外部データベース、API、ワークロードと他の環境にあるリソース間のネットワーク接続性などがあります。モニタリング戦略を策定して、依存関係の正常性を把握し、ステータスが変化するとプロアクティブに警告します。 

 **お客様事例** 

 AnyCompany Retail の E コマースワークロードは、別の環境にあるデータベースに依存しています。毎晩、データがデータベースに入力され、E コマースプラットフォームで使用されます。ネットワーク接続とデータベースのサポートは他のチームが所有しています。E コマースチームは複数の canary アラームを構成し、ネットワーク接続性が低下したり、データベースにアクセスできなかったり、ジョブが完了できなかったりした場合はアラートを発報するようにしました。 

 **実装手順** 

1.  ワークロードが依存している外部依存関係を特定します。依存関係の正常性または到達可能性を追跡するテレメトリを実装します。 

   1.  AWS のお客様は、[AWS Health Dashboard](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) を使用して AWS のサービスの正常性をモニターし、正常性に関するイベントの通知を受け取ることができます。 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) を使用して、API、URL、ウェブサイトコンテンツをモニターできます。 

1.  依存関係に異常があったりアクセスできない場合は組織に通知するアラートをセットアップします。 

   1.  Enterprise Support を利用しているお客様は、テクニカルアカウントマネージャーから、[モニタリング戦略の策定ワークショップ](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/)をリクエストできます。このワークショップは、お客様がワークロードの可観測性戦略を策定するのを支援します。 

1.  依存関係に異常があった場合に備えて、依存関係の連絡先を特定します。依存関係の所有者への連絡方法、サービスアグリーメント、エスカレーションプロセスを文書化します。 

 **実装計画に必要な工数レベル:** 中。依存関係テレメトリの実装には、カスタムモニタリングソリューションの構築が必要になる場合があります。 

## リソース
<a name="resources"></a>

 **関連するベストプラクティス:** 
+  [OPS04-BP01 アプリケーションテレメトリーを実装する](ops_telemetry_application_telemetry.md) - 依存関係モニタリングをアプリケーションテレメトリに構築できます。 

 **関連するドキュメント:** 
+ [ Monitor your private internal endpoints 24x7 using CloudWatch Synthetics ](https://aws.amazon.com/blogs/mt/monitor-your-private-endpoints-using-cloudwatch-synthetics/)(CloudWatch Synthetics を使用して、プライベート内部エンドポイントを 24 時間 365 日モニターする)

 **関連動画:** 
+ [AWS re:Invent 2018: Monitor All Your Things: Amazon CloudWatch in Action with BBC ](https://www.youtube.com/watch?v=uuBuc6OAcVY)(AWS re:Invent 2018: あらゆるものをモニターする: BBC による Amazon CloudWatch の実践)
+ [AWS re:Invent 2022 - Developing an observability strategy ](https://www.youtube.com/watch?v=Ub3ATriFapQ)(AWS re:Invent 2022 - 可観測性戦略の策定)
+ [AWS re:Invent 2022 - Observability best practices at Amazon ](https://www.youtube.com/watch?v=zZPzXEBW4P8)(AWS re:Invent 2022 - Amazon における可観測性のベストプラクティス)

 **関連する例:** 
+ [1 つの可観測性ワークショップ](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Well-Architected Labs - Dependency Monitoring ](https://www.wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/)(Well-Architected ラボ - 依存関係のモニタリング)

 **関連サービス:** 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+ [AWS Health](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html)