

# OPS04-BP05 分散トレースを実装する
<a name="ops_observability_dist_trace"></a>

 分散トレースを使用すると、分散システムのさまざまなコンポーネントを通過するリクエストをモニタリングし、可視化できます。複数のソースからトレースデータを収集して統合されたビューで分析することで、チームはリクエストの流れ、ボトルネックが発生している場所、重点的に最適化に取り組むべき個所をより正確に把握できます。 

 **期待される成果:** 分散システムを通過するリクエストを包括的に把握できるため、正確なデバッグ、パフォーマンス最適化、ユーザーエクスペリエンスの向上が実現します。 

 **一般的なアンチパターン:** 
+  一貫性に欠けた計測: 分散システム内のすべてのサービスがトレースを目標に計測されているわけではない。 
+  レイテンシーの考慮なし: エラーのみに注目し、レイテンシーや徐々にパフォーマンスが低下していることが考慮されていない。 

 **このベストプラクティスを活用するメリット:** 
+ 包括的なシステムの全体像: リクエストの入力から終了まで、リクエストのパス全体にわたり可視化できます。
+  デバッグの強化: 障害やパフォーマンスの問題が発生した個所を迅速に特定できます。 
+  ユーザーエクスペリエンスの向上: モニタリングを行い、実際のユーザーデータに基づいて最適化を行うことで、確実にシステムが実際の需要を満たせます。 

 **このベストプラクティスを活用しない場合のリスクレベル:** 高 

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

 計測が必要となるすべてのワークロードの要素を特定することから始めます。すべてのコンポーネントを把握したら、AWS X-Ray や OpenTelemetry などのツールを活用してトレースデータを収集し、X-Ray や Amazon CloudWatch ServiceLens Map などのツールを使用して分析を行います。デベロッパーとのレビューを定期的に実施し、Amazon DevOps Guru、X-Ray Analytics、X-Ray Insights などのツールをサポートとして使用した議論により、より詳細な検出を行います。トレースデータからアラートを設定して、ワークロードのモニタリング計画で定義されている結果に対してリスクが検出された場合に通知します。 

### 実装手順
<a name="implementation-steps"></a>

 分散トレースを効果的に実装する方法: 

1.  **[AWS X-Ray の採用](https://aws.amazon.com/xray/):** X-Ray をアプリケーションに組み込むと、アプリケーションの動作に関するインサイトを取得したり、パフォーマンスを把握して、ボトルネックを特定したりできます。X-Ray Insights を自動トレース分析に活用します。 

1.  **サービスの計測:** [AWS Lambda](https://aws.amazon.com/lambda/) 関数から [EC2 インスタンスまで](https://aws.amazon.com/ec2/)、すべてのサービスがトレースデータを送信することを確認します。計測するサービスが多いほど、エンドツーエンドのビューが明確になります。 

1.  ** [CloudWatch リアルユーザーモニタリング](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) と [合成モニタリングの統合](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html):** リアルユーザーモニタリング (RUM) と X-Ray を使用した合成モニタリングを統合します。これにより、実際のユーザーエクスペリエンスをキャプチャしてユーザーの操作をシミュレートし、潜在的な問題を特定できます。 

1.  ** [CloudWatch エージェントの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html):** エージェントは X-Ray または OpenTelemetry のいずれからもトレースを送信できるため、インサイトがより詳細に拡張されます。 

1.  ** [Amazon DevOps Guru の使用](https://aws.amazon.com/devops-guru/):** DevOps Guru は X-Ray、CloudWatch、AWS Config、AWS CloudTrail からのデータを使用して、実践的なレコメンデーションを提供します。 

1.  **トレースの分析:** トレースデータを定期的に確認して、アプリケーションのパフォーマンスに影響を及ぼす可能性のあるパターン、異常、またはボトルネックを特定します。 

1.  **アラートの設定:** 異常なパターンや長時間のレイテンシーに対して [CloudWatch でアラームを設定すると、](https://aws.amazon.com/cloudwatch/) 積極的に問題に対処できます。 

1.  **継続的な改善:** サービスが追加または変更されたら、関連するすべてのデータポイントが取得できるように、トレース戦略を再検討します。 

 **実装計画に必要な工数レベル:** 中程度 

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

 **関連するベストプラクティス:** 
+  [OPS04-BP01 主要業績評価指標を特定する](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 アプリケーションテレメトリーを実装する](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 ユーザーエクスペリエンステレメトリーを実装する](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 依存関係のテレメトリーを実装する](ops_observability_dependency_telemetry.md) 

 **関連するドキュメント:** 
+ [AWS X-Ray デベロッパーガイド ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Amazon CloudWatch エージェントユーザーガイド ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [ Amazon DevOps Guru ユーザーガイド ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **関連動画:** 
+ [AWS X-Ray Insights を使用する ](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [AWS on Air ft.オブザーバビリティ: Amazon CloudWatch と AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **関連する例:** 
+ [AWS X-Ray を使用したアプリケーションのインストルメント化 ](https://aws.amazon.com/getting-started/hands-on/distributed-tracing-with-xray/)