翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
OPS04-BP04 依存関係テレメトリを実装する
依存関係のテレメトリは、ワークロードが依存する外部サービスやコンポーネントのヘルスとパフォーマンスをモニタリングするうえで不可欠です。これにより、、データベース、サードパーティー などの依存関係に関連する到達可能性DNS、タイムアウト、その他の重要なイベントに関する貴重なインサイトが得られますAPIs。このような依存関係に関するメトリクス、ログ、トレースを出力するようにアプリケーションをインストルメント化することで、ワークロードに影響を及ぼす可能性のある潜在的なボトルネック、パフォーマンスの問題、または障害をより明確に把握できます。
期待される成果: ワークロードを支える依存関係が期待どおりに機能し、積極的に問題に対処して、最適なワークロードパフォーマンスを確保できます。
一般的なアンチパターン:
-
外部依存の見落し: 内部アプリケーションメトリクスのみを重視し、外部の依存関係に関連するメトリクスはおろそかにしています。
-
積極的なモニタリングの不履行: 依存関係のヘルスとパフォーマンスを継続的にモニタリングするのではなく、問題が発生するまで待機しています。
-
サイロ化したモニタリング: 複数の異なるモニタリングツールを使用することにより、依存関係のヘルスについての断片的かつ一貫性のないビューの生成につながっている場合があります。
このベストプラクティスを活用するメリット:
-
ワークロードの信頼性の向上: 外部依存を常に利用可能にして最適なパフォーマンスを発揮できるようにすることで実現できます。
-
問題の検出と解決の迅速化: ワークロードに影響が及ぶ前に、依存関係のある問題を事前に特定して対処できます。
-
包括的なビュー: ワークロードのヘルスに影響を及ぼす内部コンポーネントと外部コンポーネントの両方を全体的に把握できます。
-
ワークロードのスケーラビリティ強化: 外部依存のスケーラビリティの限界とパフォーマンス特性を把握することにより実現できます。
このベストプラクティスを活用しない場合のリスクレベル: 高
実装のガイダンス
ワークロードが依存しているサービス、インフラストラクチャ、プロセスを特定することから始めて、依存関係のテレメトリを実装します。これらの依存関係が期待どおりに機能している場合の良好な状態を定量化して、測定するためにどのようなデータが必要かを判断します。その情報を使用して、依存関係のヘルスに関するインサイトを運用チームに提供するダッシュボードとアラートを作成できます。 AWS ツールを使用して、依存関係が必要に応じて提供できない場合の影響を検出して定量化します。優先事項、目標、取得したインサイトの変化に応じて、戦略を継続的に見直します。
実装手順
依存関係のテレメトリを効果的に実装する方法:
-
外部依存関係を特定する: 関係者と協力して、ワークロードが依存している外部依存関係を特定します。外部依存関係には、外部データベース、サードパーティーの APIs、他の環境へのネットワーク接続ルート、サービスなどのDNSサービスが含まれます。効果的な依存関係のテレメトリを得る第一歩は、依存関係を包括的に把握することです。
-
モニタリング戦略を策定する: 外部依存を明確に把握した後、それに応じたモニタリング戦略を構築します。これには、各依存関係の重要度、予想される動作、関連するサービスレベルアグリーメントまたはターゲット (SLA または ) を理解することが含まれますSLTs。ステータスの変化やパフォーマンスの逸脱を通知する積極的なアラートを設定します。
-
ネットワークモニタリングを使用する: Internet Monitor および Network Monitor を使用して、グローバルなインターネットとネットワークの状態を包括的に把握します。これらのツールは、外部の依存関係に影響を与える機能停止、中断、またはパフォーマンスの低下を把握し、それに対応するために役立ちます。
-
に関する最新情報: AWS Health Dashboard
サービスに影響を与える可能性のあるイベント AWS が発生した場合にアラートと修復ガイダンスを提供します。 -
AWS Health Amazon EventBridge ルール でイベントをモニタリングするか、プログラムで と AWS Health API統合して、 AWS Health イベントを受信したときにアクションを自動化します。これらのアクションには、計画されたすべてのライフサイクルイベントメッセージをチャットインターフェイスに送信するなどの一般的なアクションや、IT サービス管理ツールでのワークフローの開始などの特定のアクションがあります。
-
を使用する場合は AWS Organizations、アカウント間でAWS Health イベントを集約します。
-
-
アプリケーションを AWS X-Ray
: で計測 AWS X-Ray し、アプリケーションとその基盤となる依存関係のパフォーマンスに関するインサイトを提供します。リクエストを開始から終了までトレースすることにより、アプリケーションが依存している外部サービスや外部コンポーネントのボトルネックや障害を特定できます。 -
Amazon DevOpsGuru
を使用する: この機械学習駆動型サービスは、運用上の問題を特定し、重大な問題が発生する可能性のある時期を予測し、具体的なアクションを推奨します。依存関係のインサイトを得て、その関係性が運用上の問題の原因ではないことを突き止めるために、非常に有益です。 -
定期的にモニタリングする: 外部依存に関するメトリクスとログを継続的にモニタリングします。予期しない動作やパフォーマンスの低下についてのアラートを設定します。
-
変更後の検証をする: 外部依存のいずれかが更新されたり変更されたりした場合は、そのパフォーマンスを検証して、アプリケーションの要件との整合性を確認します。
実装計画に必要な工数レベル: 中
リソース
関連するベストプラクティス:
関連ドキュメント:
関連動画:
関連する例: