Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ECS障害を例に学ぶ、インシデント対応に備えた AIエージェントの育て方 / How to ...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for iselegant iselegant
February 13, 2026

ECS障害を例に学ぶ、インシデント対応に備えた AIエージェントの育て方 / How to develop AI agents for incident response with ECS outage

Avatar for iselegant

iselegant

February 13, 2026
Tweet

More Decks by iselegant

Other Decks in Technology

Transcript

  1. 13 AIエージェントで調査可能な ECSを取り巻くインシデント例 App/コンテナ関連のインシデント例 v メモリリーク(OOM前兆) v OOMKilled v アプリケーションクラッシュ

    v Segmentation Fault v コンテナの即時終了(exit code 0繰り返し再起動) v Essential container異常停止によるタスク連鎖停止 v 未処理の例外/panic ネットワーク関連のインシデント例 v VPCエンドポイント未設定 v セキュリティグループのルール不備 v サブネットのIPアドレス枯渇 v NATゲートウェイの障害/ルーティング不備 v DNS解決失敗 v NACLによるトラフィックブロック v ルートテーブルの設定不備 v VPCピアリング/Transit Gatewayの経路断 v PrivateLinkエンドポイントのSG不備 v DNS resolverの障害 v ENI割り当て上限到達 サービス間通信関連のインシデント例 v 依存サービスのタイムアウト v TLS/SSL証明書エラー v Cloud Map(サービスディスカバリ)のDNS伝播遅延 v フロントエンド→バックエンドAPI間の接続失敗 v gRPC/HTTP2の通信失敗 v サービス間のmTLS設定不備 ロードバランサー / WAF関連のインシデント例 v ヘルスチェック失敗 v ALBターゲットグループの不整合 v ALBリスナールールの設定ミス v WAFご検知 IAM・認証関連のインシデント例 v IAMタスクロールの権限不足 v IAMタスク実行ロールの権限不足 v SSM Parameter Store参照エラー v Secrets Manager参照エラー v KMS復号権限不足 v Service-linked roleの未作成 v Secrets Managerのローテ不整合 v KMSキーポリシーの権限不足 v ACM証明書の有効期限切れ ログ/オブザーバビリティ障害 v FluentBit設定エラーによるサイドカー停止 v CloudWatch Logsのロググループ未作成 v FireLensルーティング設定の誤り v ADOTサイドカーの過負荷 ECR/イメージレジストリ関連のインシデント例 v ECRイメージプル失敗 v ECR認証失敗 v ECRプルスルーキャッシュ権限不足 v ECRイメージ削除によるスケールアウト失敗 データベース関連のインシデント例 v Aurora / RDSフェイルオーバー v DynamoDBのスロットリング v S3バケットポリシーの拒否 デプロイメント関連のインシデント例 v Blue/Greenデプロイのロールバック失敗 v CodeDeployのBlue/Greenフック失敗 v 最小Healthy率の設定不備による全断 v デプロイメントサーキットブレーカー発動 v デプロイメント中のサーキットブレーカー誤発動 v ローリングアップデートの速度設定不備 v Capacity Providerの戦略ミスマッチ AWS環境・キャパシティ関連のインシデント例 v サービスクォータ超過 v AZ障害によるタスク配置不可 オートスケーリング関連のインシデント例 v スケーリングポリシーの設定不備 v スケーリングポリシーのクールダウン設定不備 v ターゲット追跡スケーリングのメトリクス遅延 v 最小/最大タスク数の設定ミス マルチコンテナ/サイドカーパターンのインシデント例 v コンテナ起動順序の依存関係違反 v 共有ボリュームのマウント競合 v Envoyプロキシ(App Mesh)の設定不備 v Init containerの失敗 v サイドカーのリソース競合 タスク定義/コンテナ設定のインシデント例 v イメージタグの間違い v メモリ/CPU割り当て不足 v 環境変数未設定・変更・削除 v コンテナポートの不一致 v ヘルスチェックパスの変更 v ログ設定の破損 v タスクロールの変更・権限不備 v サイドカー設定不備 v Secrets/SSMパラメータ参照不可 v 読み取り専用ファイルシステムへの書込み v tmpディレクトリの権限不足 v ディスク容量不足(ephemeral storage) v タスク定義のリビジョン指定ミス v タスク起動タイムアウト コンテナイメージビルド関連のインシデント例 v ENTRYPOINTの誤設定 v イメージアーキテクチャ不一致(arm64 vs amd64) v ベースイメージの脆弱性による起動ブロック v scratch/distrolessイメージでのCA証明書欠落 v ライブラリ/共有オブジェクト不足 v タイムゾーン設定不備
  2. 14 AIエージェントで調査可能な ECSを取り巻くインシデント例 App/コンテナ関連のインシデント例 v メモリリーク(OOM前兆) v OOMKilled v アプリケーションクラッシュ

    v Segmentation Fault v コンテナの即時終了(exit code 0繰り返し再起動) v Essential container異常停止によるタスク連鎖停止 v 未処理の例外/panic ネットワーク関連のインシデント例 v VPCエンドポイント未設定 v セキュリティグループのルール不備 v サブネットのIPアドレス枯渇 v NATゲートウェイの障害/ルーティング不備 v DNS解決失敗 v NACLによるトラフィックブロック v ルートテーブルの設定不備 v VPCピアリング/Transit Gatewayの経路断 v PrivateLinkエンドポイントのSG不備 v DNS resolverの障害 v ENI割り当て上限到達 サービス間通信関連のインシデント例 v 依存サービスのタイムアウト v TLS/SSL証明書エラー v Cloud Map(サービスディスカバリ)のDNS伝播遅延 v フロントエンド→バックエンドAPI間の接続失敗 v gRPC/HTTP2の通信失敗 v サービス間のmTLS設定不備 ロードバランサー / WAF関連のインシデント例 v ヘルスチェック失敗 v ALBターゲットグループの不整合 v ALBリスナールールの設定ミス v WAFご検知 IAM・認証関連のインシデント例 v IAMタスクロールの権限不足 v IAMタスク実行ロールの権限不足 v SSM Parameter Store参照エラー v Secrets Manager参照エラー v KMS復号権限不足 v Service-linked roleの未作成 v Secrets Managerのローテ不整合 v KMSキーポリシーの権限不足 v ACM証明書の有効期限切れ ログ/オブザーバビリティ障害 v FluentBit設定エラーによるサイドカー停止 v CloudWatch Logsのロググループ未作成 v FireLensルーティング設定の誤り v ADOTサイドカーの過負荷 ECR/イメージレジストリ関連のインシデント例 v ECRイメージプル失敗 v ECR認証失敗 v ECRプルスルーキャッシュ権限不足 v ECRイメージ削除によるスケールアウト失敗 データベース関連のインシデント例 v Aurora / RDSフェイルオーバー v DynamoDBのスロットリング v S3バケットポリシーの拒否 デプロイメント関連のインシデント例 v Blue/Greenデプロイのロールバック失敗 v CodeDeployのBlue/Greenフック失敗 v 最小Healthy率の設定不備による全断 v デプロイメントサーキットブレーカー発動 v デプロイメント中のサーキットブレーカー誤発動 v ローリングアップデートの速度設定不備 v Capacity Providerの戦略ミスマッチ AWS環境・キャパシティ関連のインシデント例 v サービスクォータ超過 v AZ障害によるタスク配置不可 オートスケーリング関連のインシデント例 v スケーリングポリシーの設定不備 v スケーリングポリシーのクールダウン設定不備 v ターゲット追跡スケーリングのメトリクス遅延 v 最小/最大タスク数の設定ミス マルチコンテナ/サイドカーパターンのインシデント例 v コンテナ起動順序の依存関係違反 v 共有ボリュームのマウント競合 v Envoyプロキシ(App Mesh)の設定不備 v Init containerの失敗 v サイドカーのリソース競合 タスク定義/コンテナ設定のインシデント例 v イメージタグの間違い v メモリ/CPU割り当て不足 v 環境変数未設定・変更・削除 v コンテナポートの不一致 v ヘルスチェックパスの変更 v ログ設定の破損 v タスクロールの変更・権限不備 v サイドカー設定不備 v Secrets/SSMパラメータ参照不可 v 読み取り専用ファイルシステムへの書込み v tmpディレクトリの権限不足 v ディスク容量不足(ephemeral storage) v タスク定義のリビジョン指定ミス v タスク起動タイムアウト コンテナイメージビルド関連のインシデント例 v ENTRYPOINTの誤設定 v イメージアーキテクチャ不一致(arm64 vs amd64) v ベースイメージの脆弱性による起動ブロック v scratch/distrolessイメージでのCA証明書欠落 v ライブラリ/共有オブジェクト不足 v タイムゾーン設定不備 AIエージェントを上手に育ててあげることで、 これらに起因するインシデントにおいても、 柔軟に原因を特定してくれる どのようにAIエージェントを作ればよいか? (今日の本題)
  3. 19 スキルとは AIエージェント ECS調査スキル ポストモーテム 作成スキル 今回はこれ! 必要なスキルのみ を利用 v

    AIエージェントが必要に応じて利用する「指示」や「リソース」 v 特定のタスクに対する能力を向上させる(≒一時的に特定の専門家に昇格)
  4. 22 コンテキストウィンドウとは v モデルの参照可能なテキスト(コンテキスト)の上限 v コンテキストウィンドウが溢れると、エラーやコンパクション(会話の要約)が発生 AI エージェント ユーザー ユーザーメッセージ

    (入力) テキストレスポンス (出力) ユーザーのメッセージ(入力)と テキストレスポンスは 次のやり取りの入力として加算されていく スキルの利用に 応じても消費される 上限 コンテキストウィンドウ
  5. 今回のECSに関するインシデント調査で用いたAIエージェント 親エージェント サブエージェント ecs-log-analyzer サブエージェント ecs-status-analyzer サブエージェント ecs-taskdef-comparator サブエージェント aws-resource-investigator

    ECS調査 スキル ユーザー 27 ECSタスクの停止理由、 メトリクス取得 CloudWatch Logs の取得、頻度分析 タスク定義の差分分析、 リスク評価 IAM/VPC/LB等、ECS以外 のリソース調査 分析の段取り、サブ エージェント呼び出し
  6. 30 今回のECSに関するインシデント調査で用いたAIエージェント 親エージェント サブエージェント ecs-log-analyzer サブエージェント ecs-status-analyzer サブエージェント ecs-taskdef-comparator サブエージェント

    aws-resource-investigator ECS調査 スキル 今回は 出番なし… ユーザー 初期分析の結果に応じて 必要なサブエージェントを 呼び出し 今回は 出番なし…
  7. 41 2. コンテキストあふれへの配慮 v 分析特性ごとにサブエージェントに分割することを推奨 v サブエージェント毎に、親とは切り離されたコンテキストウィンドウを所有 v 親エージェントのコンテキストを消費しない v

    サブエージェントから親エージェントに結果を返す際は注意 v 何も指示しないと、サブエージェントが全ての結果を返し、親側があふれる v サブエージェントに対して、最後に要約を指示 (数十行程度) v 親は、サブエージェントから最後の数十行を結果として受け取る
  8. 43 3. セキュリティへの配慮 v インシデント分析のほとんどは、参照系のコマンド実行のみで完結可能 v 親・サブエージェントには参照系AWS CLIのみ許可 v Bash(aws

    * describe-*:*) v Bash(aws * list-*:*) v Bash(aws * get-*:*) v Bash(aws * filter-*:*) v ただし、秘密情報が含まれる可能性のあるサービス(Secret Manager, SSMパラメータストア 等)へのアクセスは避け、ユーザー側に確認を委ねる等、配慮は必要 v 更新系AWS CLIの実行は一切許可しない旨を明記
  9. 46 4. 継続的なスキル・サブエージェントの改善 v チューニングを繰り返して再現性・一貫性・体験を高める v 再現性の問題: 分析結果のフォーマットが毎回異なる v 一貫性の問題:

    調査で繰り返し利用するAWS CLIになるべく一貫性を持たせたい v 体験の問題: 毎回、分析対象となるECSクラスター名やECSサービス名の入力が面倒 v 体験の問題: サブエージェントの結果応答が長い
  10. 47 4. 継続的なスキル・サブエージェントの改善 v チューニングを繰り返して再現性・一貫性・体験を高める v 再現性の問題: 分析結果のフォーマットが毎回異なる → テンプレートに従って返却するように指示

    v 一貫性の問題: 調査で繰り返し利用するAWS CLIになるべく一貫性を持たせたい → スキルとは別にガイド(guide.md等)を用意 v 体験の問題: 毎回、分析対象となるECSクラスター名やECSサービス名の入力が面倒 → List APIで一覧取得し、分析前にユーザーに選択させる v 体験の問題: サブエージェントの結果応答が長い → xx秒ごとに状況を返却する スキルやサブエージェントの ベストプラクティスに沿って、 AIエージェント自体に 改善を促す
  11. 49 Q: AWS DevOps Agent では解決できない? A: ある程度のことはできる…はず。DevOps Agentならではのメリデメあり。 メリット

    v AWSサポートへのエスカレーションが可能 v 関係者が共通利用しやすい(個人の環境に依存しない) デメリット v 現状はまだパブリックプレビュー段階 v 日本語入力、日本リージョン未対応 v コードの静的解析までサポートしているか不明 v GitHubと連携可能だが、デプロイメントイベントの相関分析に主眼 詳しくキャッチアップしたい方は、本日のAWS HERO山口さんの発表を聞きましょう!