6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[COP350] 生成AIでAWSガバナンスを自動化する - re:Invent 2025セッションレポート

Last updated at Posted at 2025-12-10

はじめに

今回、AWS re:Invent2025で生成AIを活用してAWSのガバナンス作業を自動化するセッション「Building and validating cloud controls with generative AI(COP350)」に参加してきました。
デモ中心で実践的な内容だったので、紹介します。

ガバナンスの課題

セッションでは、架空のクラウドオペレーションエンジニア「Nita」が300以上のAWSアカウントを管理するシナリオが紹介されました。彼女のチームが抱える課題は、まさに私たちと同じでした。

  • スケールでの一貫性: アカウントが増えるほど、一貫したコントロールの維持が難しい
  • リアクティブなガバナンス: 問題を検出できても、予防する仕組みが弱い
  • アカウントカスタマイズの負荷: Control Tower Account Factoryでアカウントは作れるが、カスタマイズに時間がかかる

使用されたツール群

デモで使用されていた構成は以下の通りです。

ツール 役割
Kiro CLI Kiroのターミナル版。Amazon Q Developer CLIの技術(エージェントモード、MCP、ステアリング等)を基盤としており、Q CLIのリブランド・後継版として位置づけられる。
MCP サーバー AWS Knowledge、AWS API、CloudTrailなどをエージェントに接続
Knowledge Base SRAやConfigルールのドキュメントをインデックス化
CFCT Control Towerアカウントへのカスタマイズ自動適用パイプライン

特に面白かったのがMCPサーバーの「ロール」という概念です。Solutions ArchitectFoundationといったロールを指定すると、そのユースケースに必要なMCPサーバー群がまとめて読み込まれます。

{
  "env": {
    "aws-foundation": "true",
    "solutions-architect": "true"
  }
}

ロールとMCPサーバのマッピングは以下のページを確認できます。

これでKnowledge、AWS API、Pricing、Cost Explorer などのMCPサーバーにアクセスできるようになります。

さらに、ナレッジベースに対してインテリジェント検索やセマンティック検索を実行できるように、最適なインデックスタイプを使用してナレッジベースのインデックスを作成しています。

image.png

デモ1: Config Organization Ruleの作成

やりたいこと

「アカウント内でパブリックIPアドレスを使用して起動されたEC2インスタンスを検出するのに役立つAWS Configルールを作成」

実際のプロンプト

image.png

エージェントの動き

  1. Knowledge Baseを検索してマネージドルールを探す
  2. EC2_INSTANCE_NO_PUBLIC_IP を発見
  3. CloudFormationテンプレートを自動生成
  4. デプロイ用シェルスクリプトも作成
  5. デプロイ実行

失敗からの自動リカバリが凄い

ここからが面白いところ。デプロイが失敗しました

普通なら CloudFormation のイベントを見に行って、エラーを特定して、テンプレートを修正して...という作業が必要ですが、Kiroは違いました。

  1. CloudFormationスタックイベントを自動解析
  2. 「Organization Config Ruleはルール名を返す。ARNじゃない」という問題を特定
  3. テンプレートを自動修正
  4. 失敗したスタックを削除
  5. 再デプロイ

2回目も失敗(frequencyパラメータの問題)しましたが、3回目で成功。全部自動です。

最後に Config Aggregator から非準拠インスタンスをクエリして、2アカウントで3インスタンスが違反していることを確認するところまで、ターミナルから出ずに完結しました。

image.png

デモ2: Shift Left戦略の実装

Shift Leftとは

従来、コンプライアンスチェックは「デプロイ後に検出」が主流でした。Shift Leftは、これを開発ライフサイクルにおいて早い段階で検出し、修正させる考え方です。

コントロール種別 タイミング AWSでの実装
Detective(検出) デプロイ後 AWS Config Rules
Preventive(予防) API呼び出し時 SCP / RCP
Proactive(先制) デプロイ前 CloudFormation Guard Hook

デモの流れ

  1. 違反の多いConfigルールを特定
    image.png
    image.png

    → KMSキーのタグ付けルールとLambdaのX-Rayトレースが有効になってないLambda関数を特定

  2. Shift Leftコントロールを自動生成

    • KMSルール → SCP(Service Control Policy)を生成
    • Lambdaルール → CloudFormation Guard Hook を生成
  3. CFCTパイプライン経由でデプロイ

    • git pushでCodePipelineをトリガー

専用エージェントの作成

このデモでは「Shift Left Specialist」という専用エージェントを作成していました。

さらに shift-left-best-practices.md というコンテキストファイルを読み込ませて、Shift Leftのベストプラクティスをエージェントに教えています。

image.png

デモ3: アカウント作成 + SRA準拠カスタマイズ

SRA(Security Reference Architecture)とは

AWSが公開しているセキュリティのベストプラクティス集です。「どのアカウントにどのセキュリティサービスをどう配置すべきか」がまとまっていて、GitHubにCloudFormationテンプレートも公開されています。

Knowledge BaseにSRAを読み込ませる

image.png

アカウント作成

image.png

エージェントは Control Tower の Service Catalog Product を使ってアカウントを作成しました。Organizations APIを直接叩くのではなく、Control Towerのベストプラクティスに従った方法です。

パッチソリューションの自動設計

image.png

  • CFCTマニフェストファイルをレビューしてSRAの前提条件が整っているか確認
  • SRAガイドラインと既存のCFCT構造に沿ったパッチソリューションのデプロイを設計
  • デプロイ変更を行う前に、計画を提示して承認を待つ

この指示だけで、エージェントが、

  1. Knowledge BaseからSRAのパッチソリューションを検索
  2. 必要なコンポーネントを特定(Patch Manager、Maintenance Window等)
  3. 2つのCloudFormationテンプレートを生成
    • 前提条件用(ベースライン設定)
    • メインソリューション(Maintenance Window × 3)
  4. CFCTマニフェストを更新
  5. パラメータの確認(スキャンモード or インストールモード、スケジュール等)

エージェントが「Labs OUでいいですか?」「スキャンモードとインストールモード、どっちにしますか?」と確認してくれるのが良かったです。

スクリプト運用(例)との比較

アカウント作成はbashスクリプトで自動化していると仮定した場合、以下の通りです。

# スクリプト例(抜粋)
aws organizations create-account \
    --email aws-+${PRODUCT}-${ENVIRONMENT}@example.com \
    --account-name ${PRODUCT}-${ENVIRONMENT}

# OU移動
aws organizations move-account \
    --account-id ${ACCOUNT_ID} \
    --destination-parent-id ${DEST_OU_ID}

# タグ設定、Budget設定...

これはこれで動きますが、COP350のアプローチと比較すると下表にまとめられます。

観点 スクリプト運用 COP350のアプローチ
アカウント作成 Organizations API直叩き Control Tower Account Factory
カスタマイズ 固定的(bashで個別設定) Knowledge Baseから柔軟に生成
コンプライアンス 別途手動設定 Configルール・SCP・Hookを自動生成
エラーハンドリング 手動対応 自動トラブルシュート
拡張性 スクリプト改修が必要 自然言語で指示

まとめ

このセッションで感じたのは、生成AIがガバナンスの「Gatekeeper」から「Enabler」への転換を加速するということです。

従来のガバナンスは「これはダメ」「あれもダメ」とブロックするイメージが強かったですが、生成AIを活用することで、

  • 「こういうルールが必要」→ 自動生成・デプロイ
  • 「デプロイ失敗した」→ 自動トラブルシュート
  • 「このアカウントにはPCI DSS準拠の設定を」→ Knowledge Baseから自動構成

というEnablerが可能になります。

特に印象的だったのは、

  1. MCP サーバーのロール概念: ユースケースに応じたツールセットの切り替え
  2. 自動トラブルシュート: 失敗→原因特定→修正→再デプロイの自動化
  3. Knowledge Baseの活用: SRAなどのベストプラクティスをエージェントに参照させる

アカウント数が増え、コンプライアンス要件が複雑化する中で、このような生成AIを活用したガバナンス自動化は積極的に検討していきたいと思いました。

参考リンク

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?