目次
Amazon DevOps Guru 完全ガイド v2.0
ML 駆動の運用異常検知・根本原因分析・推奨事項の自動化
Amazon DevOps Guru は、CloudWatch メトリクス・ログ・イベント・AWS CloudTrail・Config・X-Ray を継続的に解析し、機械学習で運用上の異常を自動検知 するフルマネージド AIOps サービスです。Reactive Insight(既に発生している問題)と Proactive Insight(将来発生しそうな問題予測)を提供。デプロイ・設定変更・リソース追加イベントとの相関分析で根本原因を特定し、具体的な修復推奨事項を即座に提示します。2025-2026 年には End-of-Life(2026 年 4 月 30 日)を予定 しており、CloudWatch Application Signals + Q Developer Operations への移行 が推奨されています。本ガイドは DevOps Guru の本質・最新動向・移行戦略を網羅した完全リファレンスです。
ドキュメントの目的
本ガイドは以下を対象としています。
- 初心者向け: DevOps Guru とは何か、従来の CloudWatch アラームとの違いを学びたい方
- 運用エンジニア向け: Resource Collection・Insight 対応・EventBridge 統合の実装
- SRE / DevOps 責任者向け: 組織全体の運用効率化・Cost Optimization・MTTR 削減戦略
- アーキテクト向け: CloudWatch Application Signals への段階的移行計画
- 意思決定者向け: Datadog Watchdog・New Relic AIOps・Splunk Observability・IBM Watson AIOps・BigPanda との比較・投資判断
重要なお知らせ:End-of-Life(2026 年 4 月 30 日)
Amazon DevOps Guru は 2026 年 4 月 30 日に End-of-Life となります。AWS は以下への移行を推奨しています。
- CloudWatch Application Signals: SLO・エラーバジェット・自動スケーリング推奨
- Q Developer Operations: 生成 AI による自動トラブルシューティング・提案
- CloudWatch Anomaly Detector: CloudWatch メトリクス単位の異常検知
本ガイドでは DevOps Guru の概要・使用方法を説明しつつ、CloudWatch Application Signals への移行パス を最後のセクションで詳解します。
概要
初心者向けメモ: CloudWatch アラームと DevOps Guru の違いは「学習」です。
CloudWatch アラーム:
メトリクス > 固定閾値 → アラート
例: CPU > 80% → アラート
問題点:
- 複数メトリクスの相関見えない
- 異常と通常の違いを区別できない
- 根本原因は手動分析
DevOps Guru(ML ベース):
CloudWatch・ログ・イベントを 継続解析
↓ 正常パターン学習(2 週間)
複数メトリクスの相関 + デプロイイベント関連付け
↓
異常を自動検知 → 根本原因を特定 → 修復推奨提示
メリット:
- 複合異常(複数メトリクス同時異常)を検知
- 閾値設定不要
- 根本原因が自動提示
DevOps Guru が実現する価値
| 価値 | 説明 |
|---|---|
| 自動異常検知 | CloudWatch 閾値設定不要。ML が正常パターン学習 → 偏差検知 |
| 複合異常 | 複数メトリクスの相関で複雑な異常検知(Lambda エラー + DynamoDB スロットリング等) |
| 根本原因分析 | デプロイ・Config 変更・CloudTrail イベントと自動関連付け |
| 推奨事項 | 具体的な修復提案(インデックス追加・DynamoDB キャパシティ増加等) |
| MTTR 削減 | 異常検知から対応まで人的工数削減 |
| 低コスト | サーバーレス。スケーリング不要 |
DevOps Guru が解決する課題
1. CloudWatch 閾値設定の困難性・閾値の陳腐化
課題:
CloudWatch 閾値を手動設定:
CPU > 70% → High
Memory > 80% → High
問題:
- 値が大きすぎて本来の異常検知できず
- 値が小さすぎてアラートノイズ多発
- 季節・時間帯で最適値変わる(黒金曜のトラフィック急増等)
- 手動メンテナンスで忘れられたまま(アラート応答率低下)
DevOps Guru の解決:
DevOps Guru の学習:
├─ 最初の 2 週間: 正常なメトリクス動作パターン記録
│ (朝 6 時の自動スケール・午前の定期バッチ処理・金曜夜間の DynamoDB 削除クエリ等)
│
├─ その後: 正常パターンからの統計的偏差を検知
│ (通常 100 req/s → 突然 500 req/s は偏差 = 異常の可能性)
│
└─ 自動調整: 学習パターンが更新され続ける
(季節変動・トラフィック増加を自動反映)
2. 複数メトリクスの相関分析困難性
課題: CloudWatch ダッシュボードで複数メトリクスを並べても、「こちらの増加がこちらの原因」という相関は見えない。
- 実例: Lambda エラー率 ↑ + DynamoDB スロットリング ↑ が同時
- ← どちらが根本原因か?
- ← Lambda タイムアウト + DynamoDB リトライ?
- ← DynamoDB スロットリング → Lambda エラー?
DevOps Guru の解決:
DevOps Guru Insight: "Lambda Performance Degradation"
├─ メトリクス異常:
│ ├─ Lambda/Errors: 85(通常: 2)
│ ├─ Lambda/Duration P99: 8500ms(通常: 200ms)
│ ├─ DynamoDB/ConsumedWriteCapacityUnits: 450(通常: 50)
│ └─ DynamoDB/UserErrors: 127(通常: 0)
│
├─ 根本原因分析:
│ └─ DynamoDB Write Throttling → Lambda タイムアウト
│ (DynamoDB キャパシティ枯渇が主原因)
│
└─ 推奨事項:
└─ DynamoDB キャパシティ設定を 50 WCU → 500 WCU に増加
推定効果: Lambda エラー 99% 削減
3. デプロイ後の性能劣化検出遅延
課題: デプロイ直後に エラー増加・レイテンシ悪化が起きても、CloudWatch ダッシュボードで気づくまで数時間。
DevOps Guru の解決:
デプロイ(14:32)
↓
DevOps Guru: Event Correlation で デプロイイベントを検出
↓
メトリクス異常が同時に発生
↓
Insight 作成: "[REACTIVE] Lambda Error Rate Increase After Deployment"
├─ 異常開始: 14:35(デプロイ 3 分後)
├─ 関連イベント: CodeDeploy deployment d-... 実行
└─ 推奨事項: 新バージョンに未検出の無限ループ。前バージョンロールバック推奨
運用チーム → 2 分で対応可能
4. 手動根本原因分析の時間コスト
課題: 本番障害時、CloudTrail ログを手動で分析。「何が変わった」を人力で探索。MTTR 長い。
DevOps Guru の解決:
Insight: "RDS CPU Anomaly Detected"
├─ 異常検知: 13:45
├─ 関連リソース:
│ ├─ RDS instance: prod-db-1
│ └─ Associated Lambda: order-processing-fn
│
├─ Root Cause Analysis:
│ └─ 新しく追加されたクエリが N+1 パターン(1 秒で 100 回の SELECT)
│
├─ CloudTrail Event との関連付け:
│ └─ 13:40: Lambda function code updated (source: CodeDeploy)
│
└─ Recommendation:
└─ クエリ最適化 OR Lambda バッチサイズ増加 OR RDS スケールアップ
主な特徴
| 特徴 | 説明 |
|---|---|
| ML ベース異常検知 | 固定閾値不要。正常パターン学習 → 偏差検知 |
| Reactive Insight | 既に発生している問題をリアルタイム検知・推奨 |
| Proactive Insight | 将来発生しそうな問題(メモリ 72 時間で枯渇等)を予測 |
| Event Correlation | CloudTrail デプロイ・Config 変更イベントと相関分析 |
| Resource Coverage | CloudFormation / Tag / Account 単位でリソース指定 |
| DevOps Guru for RDS | RDS 専用強化版。SQL クエリレベルの異常検知 |
| CloudWatch 統合 | メトリクス・ログ・トレース・アラーム継続監視 |
| EventBridge 通知 | Insight 作成時に自動通知・Lambda トリガー |
| 低コスト | $0.0028/リソース/時間 + DevOps Guru for RDS $0.018/DBインスタンス/時間 |
| セットアップ簡単 | CloudFormation StackName / Account ID 指定で自動対象化 |
アーキテクチャ
┌─────────────────────────────────────────────────────────────┐
│ AWS リソース(本番環境) │
├─────────────────────────────────────────────────────────────┤
│ • Lambda │
│ • EC2 / ECS / Fargate │
│ • RDS / Aurora │
│ • DynamoDB │
│ • ElastiCache │
│ • SQS / Kinesis │
│ • API Gateway │
│ • CloudFront │
│ • EKS │
│ • Step Functions │
└────────┬──────────────────────────────────────────────────┘
│
├─ CloudWatch メトリクス(自動収集)
│ ├─ Lambda: Errors, Duration, Throttles, ConcurrentExecutions
│ ├─ RDS: CPUUtilization, DatabaseConnections, ReadLatency
│ ├─ DynamoDB: ConsumedWriteCapacityUnits, UserErrors
│ └─ EC2: CPUUtilization, NetworkPackets
│
├─ CloudWatch Logs(自動収集)
│ ├─ Lambda ログ
│ ├─ ECS ログ
│ └─ RDS ログ
│
├─ AWS X-Ray(トレース)
│ └─ マイクロサービス間の依存関係・レイテンシ
│
├─ AWS CloudTrail(API ログ)
│ ├─ デプロイイベント(CodeDeploy, CodePipeline)
│ ├─ リソース設定変更(ec2:RunInstances, rds:ModifyDBInstance)
│ └─ IAM 権限変更
│
└─ AWS Config(リソース設定)
└─ リソース設定の変更履歴
▼ データ転送(VPC Endpoint 経由)
┌─────────────────────────────────────────────────────────────┐
│ DevOps Guru ML エンジン │
├─────────────────────────────────────────────────────────────┤
│ │
│ Step 1: ベースライン学習(最初の 2 週間) │
│ ├─ 正常なメトリクス動作パターン記録 │
│ ├─ 時間帯・曜日ごとのトラフィック変動パターン │
│ ├─ リソース種別ごとの平均リソース消費 │
│ └─ デプロイ・バッチ処理による定期的な異常を学習 │
│ │
│ Step 2: 異常検知(継続的) │
│ ├─ 新規メトリクスが正常パターンから大きく偏差 │
│ ├─ 複数メトリクスの統計的相関が変化 │
│ ├─ エラー率・レイテンシ・キャパシティの組み合わせ異常 │
│ └─ 異常スコア計算(0-100, 50以上で Insight 生成) │
│ │
│ Step 3: 根本原因分析 │
│ ├─ CloudTrail デプロイイベントとの時間軸関連付け │
│ ├─ Config リソース設定変更との相関 │
│ ├─ リソース間の依存関係グラフ分析 │
│ └─ 複数異常の因果関係推定 │
│ │
│ Step 4: Insight 生成 + Recommendation │
│ ├─ REACTIVE INSIGHT: 既発生問題の詳細・推奨 │
│ └─ PROACTIVE INSIGHT: 将来予測(SQS キュー増加トレンド) │
│ │
└─────────────────────┬──────────────────────────────────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
CloudWatch EventBridge DevOps Guru Console
Dashboard (通知) (UI 確認)
├─ Insight ├─ SNS ├─ Insight リスト
│ ダッシュボード ├─ Slack ├─ リソース別分析
│ ├─ PagerDuty ├─ Event Correlation
├─ 関連メトリクス ├─ Lambda └─ Recommendation
└─ 推奨事項 └─ Webhook
(Jira等)
Insight(インサイト)の種類
1. Reactive Insight(反応型・事後対応)
既に発生している運用問題を検知・分析。
[REACTIVE] Lambda Error Rate Increase
├─ 開始時刻: 2026-04-26 14:30 UTC
├─ 重大度: HIGH
├─ 影響リソース:
│ ├─ Lambda: order-processing-function
│ ├─ DynamoDB: orders-table
│ └─ SQS: order-queue
│
├─ 異常メトリクス:
│ ├─ Lambda/Errors: 85/min (通常: 2/min)
│ ├─ Lambda/Duration P99: 8500ms (通常: 200ms)
│ └─ DynamoDB/UserErrors: 127/min (通常: 0/min)
│
├─ Event Correlation:
│ └─ 14:20: CodeDeploy Deployment 実行(新バージョンデプロイ)
│
├─ Root Cause Analysis:
│ └─ DynamoDB Write Capacity 枯渇(WCU 消費 450/min、上限 100)
│ → Lambda リトライ多発 → エラー増加
│
└─ Recommendation:
├─ 即座対応:
│ ├─ DynamoDB WCU を 100 → 500 に増加(推定効果: エラー 99% 削減)
│ └─ または Lambda Timeout を 30s → 60s に増加(一時対応)
│
└─ 根本対策:
├─ Lambda バッチ処理サイズ見直し(1 件 → 10 件 バッチ)
└─ DynamoDB Query 最適化(全件スキャン → インデックス使用)
2. Proactive Insight(予測型・事前予防)
将来発生しそうな潜在的問題を予測。
[PROACTIVE] EC2 Memory Exhaustion Predicted
├─ 予測時刻: 2026-04-26 17:00 UTC
├─ 重大度: MEDIUM
├─ 予測発生時刻: 2026-04-29 09:30 UTC (72 時間以内)
├─ 影響リソース:
│ ├─ EC2: i-0123456789abcdef (app-server-prod-1)
│ └─ Auto Scaling Group: app-servers-asg
│
├─ トレンド分析:
│ └─ メモリ使用率: 45% → 65% → 78%
│ (毎日 + 15-20%)
│
├─ Root Cause:
│ └─ アプリケーション メモリリーク(毎日の データ キャッシュ蓄積)
│
└─ Recommendation:
├─ 短期対応:
│ ├─ Auto Scaling Group スケールアップ(min: 2 → 4)
│ └─ CloudWatch アラーム: 60% で alert
│
└─ 根本対策:
├─ アプリケーション コード修正(メモリリーク削除)
│ 推定効果: メモリ使用率 78% → 35%
│
└─ 自動スケール ポリシー調整
現在: CPU > 70% でスケール
推奨: メモリ > 60% でスケール
3. Event Correlation(イベント相関分析)
CloudTrail・Config イベントと Insight を自動関連付け。
Insight: "RDS Slow Query Detected"
CloudTrail イベント時系列:
10:45 - EC2 Lambda function code updated
10:50 - EC2 ECS task deployment
11:00 - RDS instance scale down (t3.medium → t3.small)
11:15 - RDS slow query ログ 増加開始
DevOps Guru 分析:
└─ RDS scale down(11:00) → slow query(11:15)
の時間的相関を自動検出
Recommendation:
└─ RDS を t3.small → t3.large に scale up
またはクエリを最適化(N+1 クエリ問題修正)
主要ユースケース(10+)
1. 本番デプロイ後の自動異常検知
要件: デプロイ直後にエラー増加・レイテンシ悪化 → DevOps Guru が自動検知・推奨。
実装:
# DevOps Guru Resource Collection でアカウント全体監視
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"CloudFormation": {
"StackNames": ["*"] # 全 CloudFormation スタック
}
}'
# デプロイ実行
aws codedeploy create-deployment \
--application-name my-app \
--deployment-group-name prod-group \
--deployment-config-name CodeDeployDefault.OneAtATime
# CodeDeploy イベント → CloudTrail → DevOps Guru が自動検出
# → メトリクス異常と時間軸で関連付け
# → 2-5 分で Insight 生成
成果: デプロイ性能問題を数分で検知。MTTR 大幅短縮。
2. RDS パフォーマンス・スロークエリ検知(DevOps Guru for RDS)
要件: RDS Aurora で突然 slow query 急増。クエリレベルで原因特定。
実装:
# DevOps Guru for RDS 有効化
aws devops-guru put-feedback \
--insight-feedback '[
{
"id": "arn:aws:devops-guru:us-east-1:123456789012:insight/reactive/RDS_CPU_Anomaly",
"feedback": "VALID_BUT_NEEDS_ATTENTION"
}
]'
# Performance Insights データ自動分析
# → Top SQL クエリ特定
# → 実行時間トレンド可視化
DevOps Guru for RDS Insight:
[REACTIVE] RDS Database CPU Anomaly Detected
├─ Instance: prod-aurora-cluster-1
├─ CPU: 92% (通常: 15%)
├─ Top SQL Query:
│ ├─ Query: SELECT * FROM orders WHERE user_id = ? INNER JOIN payments ...
│ ├─ Execution Count: 1,200/sec (通常: 50/sec)
│ ├─ Avg Duration: 2.3s (通常: 0.01s)
│ └─ Lock Time: 850ms (通常: 0ms)
│
└─ Recommendation:
├─ user_id カラムにインデックス追加
├─ INNER JOIN 順序最適化
└─ N+1 クエリパターン解消
成果: SQL 実行計画から最適化提案。DBA の手動分析時間削減。
3. DynamoDB・ElastiCache キャパシティ予測・最適化
要件: DynamoDB WCU・RCU スロットリング事前検知。キャパシティ増加提案。
実装:
# DevOps Guru で DynamoDB テーブル 監視
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"Tags": [{
"AppBoundaryKey": "Environment",
"TagValues": ["production"]
}]
}'
# メトリクス監視
# → ConsumedWriteCapacityUnits トレンド
# → UserErrors(スロットリング)検知
Proactive Insight:
[PROACTIVE] DynamoDB Write Throttling Risk Predicted
Current Trend:
└─ ConsumedWCU: 80/min → 90/min → 95/min
(毎日 + 5-10 WCU)
Prediction:
└─ 7 日以内に WCU 上限(100)に達する可能性 95%
推定達成時刻: 2026-05-03 14:30 UTC
Recommendation:
├─ 段階的スケール:
│ ├─ 今すぐ: 100 WCU → 200 WCU
│ ├─ 3 日後: 200 → 400 WCU
│ └─ 7 日後: 400 → 800 WCU
│
├─ または Auto Scaling 有効化:
│ ├─ Target Utilization: 70%
│ ├─ Min WCU: 100
│ └─ Max WCU: 40000
│
└─ 費用影響:
└─ オンデマンド課金(従量制)への切り替え検討
通常: $1.25/WCU
推奨: 変動が多い場合 Pay-per-request(WCU 自動管理)
成果: スロットリング予防・コスト最適化。
4. マイクロサービス環境の依存関係・障害波及分析
要件: Service A が遅延 → Service B・C に波及。相関を自動分析。
実装:
# ECS Fargate マイクロサービス + X-Ray トレース有効化
aws ecs create-cluster --cluster-name microservices-prod
# X-Ray Daemon デプロイ
# DevOps Guru で X-Ray トレース解析
# → Service 間レイテンシ相関を自動検出
Insight:
[REACTIVE] Payment Service Latency Degradation
Service Dependency Graph:
└─ API Gateway
└─ Order Service (P99: 2500ms, 通常: 100ms)
└─ Payment Service (P99: 8000ms, 通常: 500ms)
├─ Database (slow query)
└─ Payment Gateway API (timeout 多発)
Root Cause:
└─ Payment Gateway API が 8 秒遅延
→ Payment Service がその遅延をそのまま継承
→ Order Service も遅延
→ エンドユーザーに 10 秒遅延体験
Recommendation:
├─ Payment Service に timeout 設定(3 秒)追加
│ → timeout 後は fallback ロジック実行
│ → ユーザー体験を 10 秒 → 4 秒に改善
│
└─ Payment Gateway API への request timeout も 8 秒 → 3 秒に短縮
成果: 複数サービス間の障害波及メカニズム可視化・改善。
5. Lambda バッチ処理・スケジューリング最適化
要件: 毎晩の Lambda バッチ処理が遅延。DynamoDB スロットリング検知。
実装:
# CloudWatch Events + Lambda 監視
aws events put-rule \
--name batch-processing-schedule \
--schedule-expression "cron(0 22 * * ? *)" # 毎晩 22:00
# DevOps Guru で Lambda + DynamoDB 相関分析
Insight:
[REACTIVE] Lambda Batch Processing Duration Increase
Lambda Metrics:
├─ Duration: 1200s (通常: 300s)
├─ Error Rate: 15% (通常: 0.5%)
└─ Throttles: 0 (問題なし)
DynamoDB Metrics:
├─ ConsumedWriteCapacityUnits: 450/min (上限: 100)
├─ UserErrors: 450 (スロットリング)
└─ Latency P99: 2500ms (通常: 50ms)
Recommendation:
├─ オプション 1: Lambda batch size 削減
│ └─ 現在: 1000 レコード/バッチ → 100 レコード/バッチ
│ 効果: DynamoDB WCU 消費 450 → 45(10 倍削減)
│
├─ オプション 2: DynamoDB キャパシティ増加
│ └─ 100 WCU → 500 WCU
│ 費用: +$0.47/時間(約 $11/月増加)
│
├─ オプション 3: DynamoDB Batch Write Item API
│ └─ 通常 Write: 各呼び出しで 1 WCU 消費
│ Batch: 複数アイテムを 1 回のバッチリクエストで効率化
│
└─ オプション 4: Lambda 並列実行
└─ ランダムディレイ追加で DynamoDB 書き込みを時間分散
Lambda 1: 0-10 分割(0-10%)
Lambda 2: 10-20 分割(10-20%)
...
効果: ピークスロットリング回避
成果: バッチ処理の效率化・コスト削減。
6. API Gateway・CloudFront 統合システムの性能分析
要件: API Gateway 背後の Lambda + CloudFront キャッシュレイヤーの統合性能監視。
実装:
# CloudFront キャッシュ統計 + Origin(API Gateway)レイテンシ相関分析
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"CloudFormation": {
"StackNames": ["api-infrastructure"]
}
}'
Insight:
[REACTIVE] API CloudFront Cache Hit Ratio Decrease
Metrics:
├─ CloudFront Cache Hit Ratio: 95% → 72%
├─ Origin Latency: 100ms → 850ms
├─ 4xx Errors: 0.1% → 12%
└─ 5xx Errors: 0% → 3%
Root Cause Analysis:
└─ 新デプロイ後、Lambda が Cache-Control ヘッダー削除
→ CloudFront キャッシュ無効化
→ Origin(Lambda)への request 増加
→ Origin ダウン → エラー増加
CloudTrail Event:
└─ 14:20: Lambda function code updated
Recommendation:
├─ Lambda デプロイから Cache-Control ヘッダー削除を修正
│ 修正: response.headers['Cache-Control'] = 'max-age=3600'
│
├─ CloudFront キャッシュ キー最適化
│ 現在: ホスト名のみ
│ 推奨: ホスト名 + API バージョン + ユーザーセッション属性
│
└─ CloudFront Function(エッジキャッシュ)活用
キャッシュ多いクエリを エッジで処理 → Origin 負荷削減
成果: キャッシュ戦略の可視化・最適化。
7. EKS クラスタ・ノード リソース枯渇予測
要件: EKS ノードのメモリ・CPU 残容量が急減。Pod Eviction 前に予測。
実装:
# EKS + DevOps Guru 統合
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"Tags": [{
"AppBoundaryKey": "Workload",
"TagValues": ["eks-production"]
}]
}'
Proactive Insight:
[PROACTIVE] EKS Node Memory Exhaustion Risk
Affected Nodes:
└─ ip-10-0-1-100.ec2.internal
├─ Memory Utilization: 45% → 62% → 78% (毎日 +15%)
├─ Allocatable Memory: 7.5 GB
├─ Used: 5.9 GB
└─ Available: 1.6 GB
Prediction:
└─ 3 日以内にメモリ枯渇(OOM) → Pod Eviction → サービス中断
リスク: 72%
Affected Pods:
├─ order-service-5d4f3e
├─ payment-service-2a9f1c
└─ notification-service-7b2e5a
Recommendation:
├─ 即座対応:
│ ├─ ノード数スケールアップ(node count: 3 → 5)
│ │ 推定効果: 1 ノード あたりメモリ消費 78% → 46%
│ │
│ └─ または Pod リソース要件見直し
│ 現在: 1 Pod = 1.2 GB
│ 最適化: 不要な Sidecar 削除 → 900 MB
│
└─ 根本対策:
├─ HPA(Horizontal Pod Autoscaler)設定
│ └─ Memory > 70% でスケールアップ
│
└─ アプリケーション メモリリーク修正
Profiler(pprof)で メモリ使用パターン分析
成果: Pod Eviction 事前予防・クラスタ安定化。
8. SQS・Kinesis メッセージキューの処理遅延検知
要件: SQS キュー が積み上がる → Lambda コンシューマーが処理遅延。原因分析。
実装:
# SQS + Lambda 監視
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"Tags": [{
"AppBoundaryKey": "MessageType",
"TagValues": ["event-processing"]
}]
}'
Insight:
[REACTIVE] SQS Queue Depth Increase
SQS Metrics:
├─ ApproximateNumberOfMessagesVisible: 1,200 → 8,500
│ (通常: 10-50)
├─ ApproximateAgeOfOldestMessage: 180s (通常: 10s)
└─ NumberOfMessagesSent: 5,000/min (通常: 1,000/min)
Lambda Consumer Metrics:
├─ Duration: 3200ms (通常: 800ms)
├─ Error Rate: 5% (通常: 0%)
├─ Concurrent Executions: 50 (上限: 1,000)
└─ Throttles: 0 (問題なし)
Root Cause:
└─ Lambda duration 増加が Lambda 処理スピード減少
→ SQS キュー処理が追いつかない
→ キューが積み上がる
Lambda Duration 増加の原因:
├─ DynamoDB クエリレイテンシ増加(150ms → 2500ms)
├─ 外部 API(Payment Service)timeout 多発
└─ Lambda 新バージョン(v2.5)でのコード パフォーマンス低下
Recommendation:
├─ 短期対応:
│ ├─ Lambda コンカレンシー上限引き上げ(1000 → 3000)
│ └─ または Lambda memory 増加(512 MB → 1024 MB)
│ 効果: CPU スロットリング解消 → Duration 短縮 → キュー処理加速
│
├─ 中期対応:
│ ├─ DynamoDB Query 最適化(slow query 修正)
│ └─ Lambda v2.5 の コードプロファイリング
│ メモリリークまたは計算量多いロジック特定
│
└─ 長期対応:
├─ 自動スケーリング ポリシー導入
│ └─ SQS queue depth > 100 で Lambda コンカレンシー自動増加
│
└─ メッセージ処理の並列化
Batch Size 増加(10 件 → 100 件/Lambda 実行)
成果: キュー遅延の根本原因特定・処理効率化。
9. EventBridge 統合による自動対応・通知
要件: DevOps Guru Insight 生成時に Slack・PagerDuty へ自動通知・Lambda で自動修復。
実装:
# EventBridge ルール: DevOps Guru Insight 生成時
aws events put-rule \
--name devops-guru-insight-notification \
--event-pattern '{
"source": ["aws.devops-guru"],
"detail-type": ["DevOps Guru New Insight Open"],
"detail": {
"insightSeverity": ["HIGH", "MEDIUM"]
}
}'
# Target: Slack
aws events put-targets \
--rule devops-guru-insight-notification \
--targets '[{
"Id": "1",
"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/default",
"HttpParameters": {
"HeaderParameters": {
"X-Slack-Token": "xoxb-..."
},
"QueryStringParameters": {
"channel": "#devops-alerts"
}
}
}]'
# Target: Lambda(自動修復)
aws events put-targets \
--rule devops-guru-insight-notification \
--targets '[{
"Id": "2",
"Arn": "arn:aws:lambda:us-east-1:123456789012:function:auto-remediate-devops-guru-insight"
}]'
Lambda 関数(自動修復):
def lambda_handler(event, context):
insight = event['detail']
insight_type = insight['insightType']
if insight_type == 'DynamoDB Write Throttling':
# DynamoDB WCU 自動増加
scale_dynamodb_wcu(insight['resourceName'], increase_percentage=50)
elif insight_type == 'Lambda Duration Increase':
# Lambda メモリ自動増加
increase_lambda_memory(insight['resourceName'], new_memory=1024)
elif insight_type == 'RDS Slow Query':
# RDS スケールアップ
scale_rds_instance(insight['resourceName'], new_instance_class='db.r5.large')
# Slack 通知
notify_slack(f"""
DevOps Guru Auto-Remediation Executed
Insight: {insight_type}
Resource: {insight['resourceName']}
Action Taken: {action_name}
""")
return {'statusCode': 200}
成果: Insight 生成時に自動通知・自動修復開始。MTTR 最小化。
10. CloudFormation スタック単位の環境別監視
要件: dev・staging・prod を CloudFormation スタック単位で分離監視。
実装:
# Prod スタック監視設定
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"CloudFormation": {
"StackNames": ["prod-*"]
}
}'
# Staging スタック監視設定
aws devops-guru update-resource-collection \
--action ADD \
--resource-collection '{
"CloudFormation": {
"StackNames": ["staging-*"]
}
}'
# Dev は監視スキップ(コスト節約)
成果: 環境別管理・本番との分離・コスト最適化。
2025-2026 最新動向・End-of-Life 計画
重要:DevOps Guru End-of-Life(2026 年 4 月 30 日)
AWS は 2026 年 4 月 30 日に Amazon DevOps Guru のサポート終了を発表しています。
移行推奨先:
- CloudWatch Application Signals: SLO・エラーバジェット・自動スケーリング推奨
- Q Developer Operations: 生成 AI による自動トラブルシューティング
- CloudWatch Anomaly Detector: メトリクス単位の異常検知
移行パス
Phase 1: 情報収集・評価(2026 年 1-2 月)
# DevOps Guru Insight を CloudWatch Logs にエクスポート
# 過去 6 ヶ月の Insight をダウンロード
aws devops-guru list-insights \
--insight-type REACTIVE \
--status CLOSED \
--start-time-range Before=2026-04-01,After=2025-10-01 > insight_history.json
# Application Signals 対応言語・フレームワーク確認
# Python / Node.js / Java / .NET / Go がサポート対象
Phase 2: Application Signals への移行(2026 年 2-3 月)
# CloudFormation で Application Signals 有効化
Resources:
ApplicationSignalsEnabled:
Type: AWS::CloudWatch::ApplicationSignals
Properties:
Enabled: true
EKSCluster: eks-prod-cluster
Services:
- Name: order-service
Port: 5000
- Name: payment-service
Port: 8080
# SLO 定義(従来の DevOps Guru Insight の代わり)
OrderServiceSLO:
Type: AWS::CloudWatch::ServiceLevelObjective
Properties:
ServiceName: order-service
Objectives:
- Name: Availability
Target: 99.9
Window: 30DAY
- Name: Latency
Metric: LatencyP99
Target: 200ms
Window: 30DAY
Phase 3: Q Developer Operations トライアル(2026 年 3-4 月)
# Q Developer Operations で自動トラブルシューティング試用
aws bedrock generate-text \
--model-id claude-3-5-sonnet \
--messages '[{
"role": "user",
"content": "CloudWatch アラートを解析して、root cause を特定し、修復ステップを提案してください"
}]'
# Application Insights を Q に統合
# → 自動異常検知 → 生成 AI で根本原因分析 → Slack 通知
Phase 4: DevOps Guru 廃止(2026 年 5 月以降)
# DevOps Guru 無効化
aws devops-guru put-feedback \
--insight-feedback '[{
"id": "arn:aws:devops-guru:us-east-1:123456789012:insight/reactive/...",
"feedback": "CLOSED"
}]'
# 全 Resource Collection 削除
aws devops-guru delete-resource-collection \
--resource-collection '{
"CloudFormation": { "StackNames": ["*"] }
}'
ベストプラクティス・チェックリスト
✅ 推奨
- [ ] CloudFormation / Tag ベースで Resource Collection を指定(Account 全体はコスト高)
- [ ] Insight を CloudWatch Logs に記録(監査・分析用)
- [ ] EventBridge でSlack・PagerDuty に自動通知
- [ ] DevOps Guru for RDS を有効化(本番 RDS がある場合)
- [ ] ベースライン学習期間(2 週間)を尊重。その後にアラート調整
- [ ] Insight Recommendation を定期的に確認・実装(CI/CD に組み込み)
- [ ] 2026 年 4 月 30 日の End-of-Life に備え、早期に Application Signals へ移行計画
❌ アンチパターン
- [ ] Account 全体を Resource Collection に追加(不要なリソースまで監視 → コスト高)
- [ ] Insight 無視(アラート疲れ)
- [ ] DevOps Guru Insight を見るだけで実装しない(改善効果なし)
- [ ] ベースライン学習期間を無視(初期誤検知多い)
- [ ] End-of-Life 対応を遅延(2026 年 5 月以降、DevOps Guru サポートなし)
学習リソース・参考文献
公式ドキュメント
移行リソース
競合ツール比較
まとめ
Amazon DevOps Guru は、ML 駆動の自動異常検知・根本原因分析サービスです。
主な利点
- 自動異常検知: 固定閾値不要。ML が正常パターン学習
- 複合異常検知: 複数メトリクスの相関・イベント関連付け
- 具体的推奨: 修復ステップを自動生成
- 低運用負荷: ベースライン学習後は自動動作
重要な注意事項
⚠️ DevOps Guru は 2026 年 4 月 30 日に End-of-Life となります。
新規プロジェクトは CloudWatch Application Signals への導入を推奨。既存 DevOps Guru ユーザーは、早期に移行計画を開始してください。
推奨対象
- 本番環境の異常検知が必須: 金融・医療・SaaS
- 複数 AWS サービス統合環境: マイクロサービス・EKS・RDS 等
- DevOps 文化強い組織: 自動化・CI/CD 重視
DevOps Guru は 2025-2026 年の最後の主力リリース期間です。End-of-Life 前に、最大限の異常検知・推奨事項活用を実現し、段階的に CloudWatch Application Signals へ移行することで、スムーズな AIOps への進化が実現できます。
最終更新:2026-04-27 バージョン:v2.0 重要:DevOps Guru End-of-Life は 2026 年 4 月 30 日です。