Amazon DevOps Guru
機械学習で CloudWatch メトリクスやログの異常パターンを自動検知し、根本原因の推定と改善推奨を提供する AIOps サービス
概要
Amazon DevOps Guru は、機械学習を活用してアプリケーションの運用上の異常を自動的に検知し、根本原因の推定と具体的な改善推奨を提供する AIOps サービスです。CloudWatch メトリクス、CloudTrail ログ、Config の変更履歴などを継続的に分析し、通常の運用パターンからの逸脱をインサイトとして報告します。Lambda 関数のコールドスタート増加、DynamoDB のスロットリング、ECS タスクの異常終了パターンなど、サーバーレスやコンテナ環境の運用課題を人手に頼らず検出できます。
インサイトの種類と異常検知の仕組み
DevOps Guru が生成するインサイトは、リアクティブインサイトとプロアクティブインサイトの 2 種類に分類されます。リアクティブインサイトは、既に発生している異常を検知した際に生成されます。たとえば API Gateway のレイテンシが急上昇した場合、関連する Lambda 関数のエラー率増加や DynamoDB のスロットリングを相関分析し、根本原因の候補を提示します。プロアクティブインサイトは、現時点では障害に至っていないものの、放置すると問題化する兆候を検出します。DynamoDB テーブルのキャパシティ消費が増加傾向にある場合や、Lambda 関数の同時実行数が上限に近づいている場合などが該当します。異常検知の基盤には、AWS が蓄積した大規模な運用データで訓練された機械学習モデルが使われています。ユーザーが独自にモデルを訓練する必要はなく、サービスを有効化するだけで自動的にベースラインの学習が始まります。学習期間は通常 1〜2 週間で、その間もインサイトは生成されますが、精度はベースライン確立後に向上します。
カバレッジ設定とリソースグルーピング
DevOps Guru の監視対象は、AWS アカウント全体、特定の CloudFormation スタック、または特定のタグで絞り込めます。本番環境のスタックだけを監視対象にし、開発環境のノイズを排除する運用が一般的です。CloudFormation スタック単位の指定では、スタックに含まれるすべてのリソース (Lambda、DynamoDB、API Gateway、SQS など) が自動的に監視対象に追加されます。タグベースの指定では、たとえば `devops-guru:enabled=true` タグが付いたリソースだけを対象にできます。リソースグルーピングは異常検知の精度に直結します。関連するリソースを同じグループにまとめることで、DevOps Guru はリソース間の依存関係を正確に把握し、障害の連鎖を追跡できます。マイクロサービスアーキテクチャでは、サービスごとに CloudFormation スタックを分離し、それぞれを独立した監視単位にする設計が効果的です。料金は分析対象の AWS リソース数に基づく月額課金で、リソースあたり月額 0.0028 USD 程度です。
通知チャネルと運用ワークフロー
DevOps Guru のインサイトは、Amazon SNS トピックを通じて運用チームに通知されます。SNS トピックを設定すると、新しいインサイトの生成、インサイトの重要度変更、インサイトのクローズ時にメッセージが発行されます。SNS から Chatbot 経由で Slack チャネルに通知を転送すれば、チームの日常的なコミュニケーションツール上でインサイトを確認できます。EventBridge との統合も可能で、インサイトの種類や重要度に応じて異なるアクションをトリガーできます。たとえば、重要度が High のリアクティブインサイトが発生した場合に PagerDuty でオンコール担当者を呼び出し、Medium 以下は Slack 通知にとどめるといったルーティングが実現します。インサイトの詳細画面では、異常が検出されたメトリクスのグラフ、関連するリソースの一覧、推奨される対処方法が表示されます。推奨事項には AWS ドキュメントへのリンクが含まれ、具体的な設定変更手順まで案内されるため、経験の浅いオペレーターでも対応方針を判断しやすい設計になっています。