AWS DevOps Agent 自律型インシデント対応 ハンズオン

AI エージェントがアラームを検知し、自律的に根本原因を調査・分析・緩和計画まで立案する仕組みを体験する

AWS DevOps Agent CloudWatch Lambda Agent Space マネコン操作 中級〜上級 所要時間 90〜120 分 v1.0

📋 概要

AWS DevOps Agent は、CloudWatch アラームや ServiceNow・PagerDuty などのアラートをトリガーとして、AI エージェントがインシデントを自律的に調査し、根本原因の特定から緩和計画の立案までを自動実行するサービスです。従来は人間のエンジニアが手動で実施していた「アラーム受信 → ログ/メトリクス確認 → 原因調査 → 対応策の検討」の一連のプロセスを、エージェントが数分以内に処理します。

中心概念は 「Agent Space(エージェントスペース)」 で、エージェントが操作できる AWS リソース・統合ツール・スキルのスコープを定義します。Agent Space を作成し、IAM ロールで調査対象リソースへのアクセス権を付与するだけで、すぐに自律型インシデント対応を開始できます。

⚠️ 本サービスについて

AWS DevOps Agent は 2025 年にリリースされた比較的新しいサービスです。利用可能なリージョンが限定されている場合があります(執筆時点では us-east-1us-west-2 等が対象。最新の対応リージョンは AWS コンソールで確認してください)。また、調査実行数に応じた従量課金が発生します。ハンズオン前に 料金ページ で最新の価格を確認してください。

項目内容
対象サービスAWS DevOps Agent、Amazon CloudWatch、AWS Lambda、IAM
主な学習内容Agent Space 作成・IAM 設定・手動インシデント調査・トリアージ・根本原因分析・緩和計画確認
所要時間90〜120 分
難易度★★★★☆(中級〜上級)
前提知識CloudWatch の基本(アラーム・ログ)、Lambda の基本、IAM ロールの概念
費用目安少額(Lambda・CloudWatch の標準料金 + DevOps Agent 調査実行分。詳細は料金ページ参照)
ℹ️ AWS DevOps Agent の 3 つの主要コンポーネント
  • Agent Space — エージェントのスコープ定義。調査対象の AWS アカウント・リソース・統合ツールを設定する
  • 自律型インシデント対応 — トリアージ(相関・重複除去)→ 調査(メトリクス/ログ/トレース分析)→ 根本原因特定 → 緩和計画立案 のフロー
  • スキル(Skill) — カスタムロジックを定義するプラグイン。調査の絞り込みルールや統合動作を拡張できる

🏗️ アーキテクチャ

🧪 Lambda(意図的エラー発生)→ CloudWatch アラーム(エラー率の急増)
↓ アラーム発火 / 手動トリガー
🤖 AWS DevOps Agent(Agent Space)
IAM ロールで CloudWatch・CloudTrail・X-Ray などに自律的にアクセス
↓ 自律調査フロー
① トリアージ — 関連インシデントの相関・重複除去
② 調査計画 — 仮説立案と調査ステップ定義
③ データ収集 — メトリクス・ログ・トレースを自動分析
④ 根本原因 — 原因の特定と信頼度スコアリング
⑤ 緩和計画 — 推奨アクションの提示
↓ 任意
📢 Slack 通知 / ServiceNow 更新 / AWS Support エスカレーション

調査フロー詳細

フェーズ内容所要時間(目安)
トリアージ新規 or 既存調査へのリンク / スキップ判定(ルックバック 20 分)数秒
調査計画仮説と調査ステップを自動生成〜1 分
データ収集CloudWatch メトリクス・ログ・X-Ray トレースを自律的に取得・分析数分
根本原因特定最も可能性の高い原因と証拠を提示〜数分
緩和計画具体的な推奨アクションをリスト化〜1 分

✅ 前提条件

⚠️ リージョンの確認

AWS DevOps Agent は全リージョンで利用できるわけではありません。AWS マネジメントコンソールで「DevOps Agent」を検索し、コンソールが表示できるリージョンを確認してから作業を開始してください。本手順は us-east-1 を例として記載しています。

このハンズオンで作成するもの(ゴール)

  1. 意図的にエラーを発生させる Lambda 関数と CloudWatch アラームを準備する
  2. Agent Space を作成し、AI エージェントに AWS リソースへのアクセスを付与する
  3. アラームを発火させ、DevOps Agent が自律的に調査するプロセスをエンドツーエンドで観察する
  4. 根本原因分析レポートと緩和計画を読み解けるようになる

🧪 ステップ 1 ― 観測対象を準備する(Lambda + CloudWatch アラーム)

DevOps Agent が調査するための「意図的にエラーを発生させるデモ環境」を構築します。

1-1. Lambda 関数を作成する

マネジメントコンソールで Lambda → 「関数の作成」→ 以下の設定で作成します。

関数名devops-agent-demo
ランタイムPython 3.12
アーキテクチャx86_64

作成後、コードエディタに以下を貼り付けて「Deploy」します。

import random
import json
import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def lambda_handler(event, context):
    # 約 60% の確率でエラーを発生させる
    if random.random() < 0.6:
        logger.error("ERROR: Simulated application failure - connection timeout to downstream service")
        raise Exception("Downstream service unavailable: connection timed out after 30s")

    logger.info("Request processed successfully")
    return {
        'statusCode': 200,
        'body': json.dumps('OK')
    }
1-2. CloudWatch アラームを作成する

CloudWatch コンソール → 「アラーム」→「アラームの作成」で以下の設定を入力します。

名前空間AWS/Lambda
メトリクス名Errors
ディメンション(関数名)devops-agent-demo
統計Sum
期間1 分
条件(しきい値)3 以上(3 分間に 3 回以上エラー)
アラーム名Lambda-ErrorRate-High

通知(SNS)は任意で設定し、「アラームの作成」をクリックします。

1-3. CloudWatch Logs のロググループを確認する

Lambda を一度手動実行(「テスト」タブ)すると、CloudWatch Logs のロググループ /aws/lambda/devops-agent-demo が自動作成されます。DevOps Agent はこのロgsを調査に使用します。

# AWS CLI でテスト実行(ランダムでエラーが発生)
aws lambda invoke \
  --function-name devops-agent-demo \
  --payload '{}' \
  response.json \
  --region us-east-1
cat response.json
1-4. X-Ray トレースを有効化する(推奨)

DevOps Agent がトレースデータも参照できるよう、Lambda の「設定」→「モニタリングおよびオペレーションツール」→「AWS X-Ray トレース」→「有効化」をオンにします。

ℹ️ X-Ray は調査の質を上げる

X-Ray トレースが有効だと、DevOps Agent はリクエスト単位の詳細な実行履歴を調査に使用でき、根本原因の特定精度が向上します。

✅ 確認ポイント

CloudWatch コンソールで Lambda-ErrorRate-High アラームが表示されていれば準備完了です。次のステップで Agent Space を作成します。

🤖 ステップ 2 ― Agent Space を作成する

Agent Space はエージェントの「作業スコープ」を定義するワークスペースです。

2-1. DevOps Agent コンソールを開く

AWS マネジメントコンソールで「DevOps Agent」を検索し、コンソールを開きます。初回は「エージェントスペースの作成」ボタンが表示されます。

2-2. 基本情報を入力する
エージェントスペース名handson-agent-space
説明(任意)DevOps Agent ハンズオン用スペース
エージェントレスポンス言語日本語(日本)
ℹ️ 応答言語を日本語に設定

この設定により、調査レポート・根本原因分析・緩和計画がすべて日本語で出力されます。AWS サポートへのエスカレーション時もこの言語設定が使用されます。

2-3. IAM ロールを設定する(推奨:自動作成)

「プライマリアカウントアクセスの設定」セクションで 「新しい AWS DevOps エージェントロールを自動作成する」 を選択します(推奨)。

  • 自動作成されるロールには、CloudWatch・CloudTrail・Lambda・X-Ray・EC2 などへの読み取り権限が含まれます
  • ロール名はデフォルトのまま(または任意の名前に変更)で構いません
⚠️ IAM 権限が必要

ロールを自動作成するには IAM ロール作成権限iam:CreateRoleiam:AttachRolePolicy 等)が必要です。権限がない場合は管理者に依頼するか、「ポリシーテンプレートを使用して作成」オプションでカスタムポリシーを適用してください。

2-4. Web App アクセス用ロールを設定する

「エージェントスペースウェブアプリの有効化」セクションでも同様に 「新しいロールを自動作成」 を選択します。このロールは、オペレーターが Web App にアクセスするための認証に使用されます。

2-5. 「作成」をクリックして完了

すべて入力したら「作成」をクリックします。数秒〜数十秒で Agent Space が作成されます。

✅ 確認ポイント

Agent Space の詳細ページが表示され、「オペレーターアクセス」ボタンが有効になっていれば作成成功です。

🖥️ ステップ 3 ― DevOps Agent Web App を確認する

Agent Space の管理・調査はすべてこの Web App から行います。

3-1. Web App を開く

Agent Space 詳細ページの 「オペレーターアクセス」 ボタンをクリックします。IAM 認証が行われ、新しいタブで Web App が開きます。

3-2. ダッシュボードの構成を確認する
タブ / 画面内容
調査(Investigations)過去・進行中のインシデント調査一覧
インシデント対応手動トリガーや統合されたアラームの管理
統合(Integrations)ServiceNow・PagerDuty・Slack などの外部ツール設定
スキル(Skills)調査ロジックのカスタマイズ設定
設定Agent Space の設定・セカンダリアカウントの追加など
✅ 確認ポイント

Web App が開き、ダッシュボードが表示されれば OK です。現時点では調査一覧は空の状態です。

🚨 ステップ 4 ― アラームを発火させる(エラーを意図的に生成)

DevOps Agent に調査対象を与えるため、Lambda 関数を繰り返し呼び出してエラーを大量発生させます。

4-1. Lambda 関数を繰り返し呼び出す

以下のスクリプトを実行し、約 2 分間にわたって 20 回呼び出します(約 60% がエラーなので 12 回程度エラーが発生します)。

# Bash(Mac / Linux / CloudShell)
for i in $(seq 1 20); do
  aws lambda invoke \
    --function-name devops-agent-demo \
    --payload '{}' \
    /tmp/resp.json \
    --region us-east-1 2>&1 | tail -1
  sleep 5
done
# PowerShell(Windows)
1..20 | ForEach-Object {
  aws lambda invoke `
    --function-name devops-agent-demo `
    --payload '{}' `
    $env:TEMP\resp.json `
    --region us-east-1
  Start-Sleep -Seconds 5
}
4-2. CloudWatch アラームの状態を確認する

CloudWatch コンソール → 「アラーム」で Lambda-ErrorRate-High「アラーム状態(赤)」 に変わるまで待ちます(通常 2〜3 分)。

# CLI でアラーム状態を確認
aws cloudwatch describe-alarms \
  --alarm-names Lambda-ErrorRate-High \
  --region us-east-1 \
  --query 'MetricAlarms[0].StateValue'
✅ 確認ポイント

Lambda-ErrorRate-HighALARM 状態になれば、次のステップで手動インシデント調査を開始します。

🔍 ステップ 5 ― インシデント調査を開始する

DevOps Agent Web App から手動でインシデント調査をトリガーします。

5-1. 「インシデント対応」タブを開く

Web App の左メニューから 「インシデント対応」「調査の開始」 をクリックします。

5-2. クイックスタートから「エラー率の急増」を選択

事前設定された開始点から 「エラー率の急増」 ボタンをクリックします。説明フィールドに自動でテキストが入力されます。

ℹ️ 3 つのクイックスタート
  • 最新のアラーム — 直近でトリガーされたアラームを調査
  • CPU 使用率が高いアラーム — EC2・コンテナのリソース過剰消費を調査
  • エラー率の急増 — アプリケーションのエラー率増加を調査(今回はこちら)
5-3. 調査の詳細を入力する
調査の詳細Lambda 関数 devops-agent-demo でエラー率が急上昇しています。原因を調査してください。
調査の開始点CloudWatch アラーム: Lambda-ErrorRate-High / 関数名: devops-agent-demo / リージョン: us-east-1
インシデント日時(現在時刻のまま。または実際にエラーが発生した時刻に調整)
調査名Lambda-Error-Investigation-Handson(任意)
PriorityMedium

入力後、「調査を開始する...」 をクリックします。

✅ 確認ポイント

調査詳細ページに遷移し、エージェントが動作を開始したことが確認できれば成功です。リアルタイムで調査の進行がログ形式で表示されます。

📊 ステップ 6 ― 調査フローと結果を確認する

エージェントが自律的に調査を進める様子をリアルタイムで観察し、最終的な結果を読み解きます。

6-1. トリアージフェーズを観察する

調査が開始されると、まず トリアージ が行われます。DevOps Agent は以下の 3 つの決定のいずれかを行います。

決定意味
Continue新しい独立した調査として続行(今回はこれになるはず)
Linked既存の調査に関連付け(類似インシデントが直近にある場合)
Skippedスキル定義のスキップ条件に一致(今回は発生しない)
6-2. 調査計画の生成を観察する

トリアージ後、エージェントは調査計画(Investigation Plan)を自動生成します。典型的な計画の例:

  • CloudWatch アラーム Lambda-ErrorRate-High の詳細を取得する
  • Lambda 関数 devops-agent-demo のエラーログを分析する
  • エラーのタイムラインと頻度パターンを確認する
  • 最近のコード変更・デプロイ履歴を確認する
  • X-Ray トレースで失敗したリクエストを分析する
6-3. データ収集・分析フェーズを観察する

調査計画に沿って、エージェントが自律的に AWS API を呼び出してデータを収集・分析します。ログには以下のような内容が表示されます。

  • CloudWatch から直近のエラーメトリクスを取得
  • CloudWatch Logs から /aws/lambda/devops-agent-demo のエラーメッセージを検索
  • エラーの発生パターン(時間・頻度)を分析
  • X-Ray トレースで失敗リクエストのスタックトレースを確認
ℹ️ エージェントのアクション可視化

調査ページでは、エージェントが「どの AWS API を呼んでいるか」「何を見つけたか」がリアルタイムで表示されます。これにより、エージェントの推論プロセスを追うことができます。

6-4. 根本原因分析レポートを確認する

分析が完了すると、根本原因(Root Cause Analysis) レポートが生成されます。今回のデモ環境では以下のような内容が期待されます。

  • 根本原因: Lambda 関数 devops-agent-demo でランダムな例外が発生。エラーメッセージ「Downstream service unavailable: connection timed out after 30s」が確認された
  • 影響範囲: 直近 X 分間で Y 回のエラー、エラー率 Z%
  • 証拠: CloudWatch Logs の具体的なエラーメッセージとタイムスタンプ
6-5. 緩和計画(Mitigation Plan)を確認する

根本原因に基づいて、エージェントが推奨アクションをリスト化します。

  • ダウンストリームサービスへの接続タイムアウト設定を見直す
  • エクスポネンシャルバックオフを実装して再試行ロジックを改善する
  • サーキットブレーカーパターンを実装する
  • Dead Letter Queue(DLQ)を設定して失敗リクエストを保全する
ℹ️ 緩和計画は参考情報

緩和計画はあくまでエージェントの推奨です。実際の対応は担当エンジニアが内容を確認・判断して実施してください。

6-6. (任意)AWS Support へのエスカレーション

調査ページの 「人間によるサポートを依頼」 をクリックすると、調査ログ・メトリクス・緩和計画を含む AWS サポートケースを自動作成できます。

⚠️ サポートプランについて

チャットベースのサポート統合には Developer 以上のサポートプラン が必要です。Basic プランでもケース作成自体は可能ですが、応答はサポートセンターを別途確認する必要があります。

✅ 確認ポイント

調査が完了し、根本原因レポートと緩和計画が表示されれば、自律型インシデント対応の一連の流れを体験できました。

🔌 ステップ 7 ― 統合と拡張(概要)

実運用では手動トリガーだけでなく、外部ツールとの統合によって調査を自動化できます。

外部ツール統合(Integrations)

統合先動作設定場所
ServiceNowインシデントチケットから自動調査開始、結果を元チケットに書き戻すWeb App → 統合 → ServiceNow
PagerDutyWebhook 経由でアラートから自動調査起動Web App → 統合 → Webhook
Datadog / Grafanaアラート Webhook から調査トリガーWeb App → 統合 → Webhook
Slack調査結果・緩和計画をチャンネルに通知Web App → 統合 → Slack
AWS Support調査ログ付きサポートケースを自動作成調査ページ → 人間によるサポートを依頼

スキル(Skills)によるカスタマイズ

スキルを使うと、調査ロジックをカスタマイズできます。

セカンダリアカウントの追加

マルチアカウント構成では、Agent Space にセカンダリ AWS アカウントを追加できます。各アカウントに IAM ロールを作成し、Agent Space からクロスアカウントで調査できます。

ℹ️ 実運用への拡張ロードマップ
  1. Webhook 統合で PagerDuty や Datadog のアラートを自動トリガー化
  2. Slack 統合で調査結果をオンコールチャンネルに通知
  3. スキルでスキップ基準を定義し、ノイズ(誤検知アラーム)を除外
  4. セカンダリアカウントを追加し、マルチアカウント調査を実現

💡 学習ポイント

AWS DevOps Agent の価値

従来のインシデント対応AWS DevOps Agent 導入後
アラームに気付くまで数分〜数十分トリアージが数秒で自動処理される
エンジニアが手動でログ/メトリクスを調査AI が自律的にデータ収集・分析を実行
複数アラームが同時発生すると混乱しやすい相関分析で重複インシデントを自動統合
根本原因の特定に時間がかかるRCA レポートが数分で生成される
対応手順は属人的な知識に依存緩和計画がベストプラクティスに基づいて提案される

重要な概念の整理

利用開始のベストプラクティス

🧹 クリーンアップ

ハンズオン完了後は費用の発生を止めるため、以下の順で削除してください。

⚠️ DevOps Agent の調査は実行数に応じて課金されます

使用が終わったら Agent Space を削除してください。

1. Agent Space を削除する

DevOps Agent コンソール → 作成した Agent Space を選択 → 「削除」をクリックします。削除すると調査履歴・統合設定・スキルもすべて削除されます。

2. Lambda 関数を削除する

Lambda コンソール → devops-agent-demo → 「削除」をクリックします。

3. CloudWatch アラームを削除する

CloudWatch コンソール → 「アラーム」→ Lambda-ErrorRate-High を選択 → 「削除」をクリックします。

4. CloudWatch Logs のロググループを削除する
aws logs delete-log-group \
  --log-group-name /aws/lambda/devops-agent-demo \
  --region us-east-1
5. IAM ロールを削除する(任意)

IAM コンソールで、Agent Space 作成時に自動作成されたロール(名前に DevOpsAgent を含む)を削除します。再利用しない場合のみ削除してください。

✅ クリーンアップ完了チェックリスト
  • ☐ Agent Space を削除した
  • ☐ Lambda 関数 devops-agent-demo を削除した
  • ☐ CloudWatch アラーム Lambda-ErrorRate-High を削除した
  • ☐ CloudWatch Logs ロググループ /aws/lambda/devops-agent-demo を削除した
  • ☐ 不要な IAM ロールを削除した