Amazon Bedrock AgentCore で AI エージェントを活用しクラウド移行を加速
本文の状態
日本語全文を表示中
詳細モードで約19分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
AWS Machine Learning Blog
AWS は Amazon Bedrock AgentCore のマルチエージェントフレームワークにより、大規模なクラウド移行のボトルネックを解消し、300 以上のアプリケーション移行を効率化できると報告した。
AI深層分析を開く2026年8月21日 09:58
AI深層分析
キーポイント
多段階のボトルネック解消
AWS Professional Services は、発見プロセス、手動でのインフラコード記述、移行後の対応的運用という3つの主要なボトルネックを特定し、これらを自動化するエージェント群を構築した。
4 つの専用エージェント構成
導入・発見を担当する Intake Agent、セキュリティ基準に準拠した IaC を生成する IaC Agent、ポートフォリオ全体の報告と評価を行う Migration Intelligence and Governance Agent、そして運用を担う SRE Agent の 4 つが連携する。
劇的な時間短縮の実証
同社の内部プロジェクト追跡データによると、このマルチエージェントフレームワークにより、300 以上のアプリケーションにおけるインフラコード開発時間が各アプリあたり 3〜4 週間から数分に短縮された。
技術スタックと要件
このアーキテクチャは Strands Agents SDK を基盤とし、Amazon Bedrock AgentCore 上で動作するが、利用には AWS アカウント、Bedrock ファウンデーションモデルへのアクセス、および MCP サーバーパターンの理解が必要である。
インフラ開発の非効率性
自動化がない場合、各アプリケーションごとに手動でIaCを作成するには通常3〜4週間を要し、300以上のアプリケーションポートフォリオでは数年間のエンジニアリング努力が必要となる。
重要な引用
The multi-agent framework in this post reduced infrastructure as code (IaC) development time from 3–4 weeks per application to minutes across a over 300 application portfolio.
AWS Professional Services builds a suite of purpose-built AI agents to address these bottlenecks across the migration lifecycle, from automated discovery to proactive post-migration operations.
Without automation, writing IaC from scratch for each application typically requires 3–4 weeks per application.
Addressing them requires shifting repetitive work to AI agents while humans retain decision authority.
編集コメントを表示
編集コメント
AWS は従来のクラウド移行の課題に対し、特定のタスクに特化したエージェントを連携させるアプローチで解決を図っている。この手法は、単なる自動化ツールを超え、複雑な意思決定やガバナンスを含む移行プロセス全体を AI が支援する新たなパラダイムを示唆している。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Amazon Bedrock AgentCore 上でエージェント型 AI を活用してクラウド移行をスケーリングするには、大規模な移行がどこでつまずくのかを認識することから始めなければなりません。現状では、アプリケーションごとに発見フェーズに数週間を要し、エンジニアは各ワークロードのためにインフラストラクチャコードを一から書き下しています。移行後の運用も、反応的な火消し作業に陥りがちです。これらのボトルネックが 300 を超えるアプリケーション全体に広がり、かつ財政年度末という期限が迫っている状況では、移行プログラムは追いつくのが精一杯でした。
本稿で紹介するマルチエージェント・フレームワークにより、インフラストラクチャとしてのコード(IaC)開発時間は、従来 1 アプリケーションあたり 3〜4 週間かかっていたものが、300 を超えるアプリケーション群全体で数分に短縮されました。この結果は内部プロジェクトの追跡データに基づいています。
AWS Professional Services は、これらのボトルネックを解消するため、移行ライフサイクル全体(自動化された発見から、移行後の予防的な運用まで)に対応する専用 AI エージェントスイートを構築しました。これらのエージェントは Strands Agents SDK を使用し、あらゆるフレームワークやモデルに対応して大規模にエージェントの構築・接続・最適化を行うプラットフォームである Amazon Bedrock AgentCore 上で動作します。
本稿では、エンタープライズレベルのクラウド移行をエンドツーエンドで加速するマルチエージェント・オーケストレーション・フレームワークのアーキテクチャについて解説します。また、エージェントの定義方法やツールとの接続方法、責任ある AI コントロールの適用に関するコードも紹介します。このフレームワークには以下の 4 つのエージェントが含まれています。
- 自動化された発見を担当する *Intake Agent*(インテーク・エージェント)
セキュリティベストプラクティスに準拠したインフラストラクチャ・アズ・コード(IaC)を生成する「IaC エージェント」。
ポートフォリオ全体のレポート作成や、Well-Architected 評価を行うための「移行インテリジェンス&ガバナンスエージェント」。
予防的な運用を実現する「サイト信頼性エンジニアリング(SRE)エージェント」です。
本記事の内容を実践するには、Amazon Bedrock AgentCore および Amazon Bedrock のファウンデーションモデル(FM)へのアクセス権限を持つ AWS アカウントが必要です。また、Strands Agents SDK や Model Context Protocol(MCP)サーバーのパターン、そして貴社が採用している IaC ツールに関する知識も必要となります。
移行プログラムには異なるアプローチが必要
大規模なエンタープライズデータセンターからの移行プログラムにおいて、一貫して3つの主要なボトルネックが発生します。
手動によるインテークの負荷: 多くのアプリケーション移行は、オンプレミスのアーキテクチャや資産、依存関係、インテーク質問票を把握する「調査」から始まります。この手動での調査には、アプリケーションあたり数週間を要します。300 を超えるアプリケーションを対象とする場合、このボトルネック一つが、厳しい移行スケジュールの達成を脅かすことになります。
重複するインフラ開発: エンジニアがターゲットアーキテクチャを定義する際、AWS インフラをプロビジョニングするために IaC を記述します。自動化がない場合、アプリケーションごとにゼロから IaC を作成するには、通常 1 アプリケーションあたり3〜4週間が必要です。300 を超えるアプリケーションのポートフォリオ全体で考えると、これはエンジニアリングリソースにとって数年にわたる作業量を意味します。
移行後のリアクティブな運用: 移行完了後、チームは手動での監視と事後対応に頼りがちです。パフォーマンスの低下を検知したり、問題を自動的に修復したりするための先行的なインテリジェンスがなければ、継続的な運用上の負担は時間とともに蓄積・増大します。
これら3つのボトルネックは移行ライフサイクル全体にわたって存在します。これらの課題に対処するには、反復作業をAIエージェントへ委譲しつつ、最終的な意思決定権は人間が保持するというアプローチが必要です。
アーキテクチャの概要
マルチエージェントオーケストレーションフレームワークは、目的別に設計されたエージェント機能を用いて各ボトルネックに対応します。このアーキテクチャは、オンプレミス環境での調査から移行後の運用に至るまでのライフサイクル全体をカバーしており、各フェーズでセキュリティが適用されます。以下の図は、エージェント、ツール、AWSサービスがどのように連携しているかを示しています。

図 1: モデルコンテキストプロトコル(Model Context Protocol)のツール呼び出しを通じて、移行および運用の各段階でエージェントがどのように連携するか
このフレームワークでは、エージェントを2つの主要な「旅(ジャーニー)」に整理しています。移行の旅を担当するエージェントは調査からデプロイまでを扱い、運用の旅を担当するエージェントは移行後の監視を担います。
移行の旅を担当するエージェント:
Intake Agent(フェーズ 1): アプリケーションの発見と依存関係マッピングに基づくターゲット状態アーキテクチャ定義を自動化します。
IaC Agent(フェーズ 2): セキュリティ上のベストプラクティスや基準に準拠した IaC コードを生成します。
Migration Intelligence and Governance Agent: Jira、Confluence、Webex を横断して、自動的なポートフォリオレポート作成、Well-Architected アセスメント、移行ガバナンスを提供します。
運用プロセスにおけるエージェント:
- SRE Agent(フェーズ 3): 移行後のプロアクティブな監視と自動化された修復機能を提供します。
AWS Managed Services はカスタムエージェントを補完する形で機能します:
- AWS Database Migration Service (AWS DMS): 生成 AI を活用したスキーマ変換と、データベース移行のための自動切り替えを実現します。
- AWS Transform: レガシーコードに特化したアプリケーションのモダナイゼーションを支援します。
コンポーネント間の連携について
このセクションでは、フレームワークの各コンポーネントが実行時にどのように相互作用するかを説明します。
各エージェントは、基盤モデル、システムプロンプト、および一連のツールによって定義される Strands エージェントです。Amazon Bedrock AgentCore のランタイムは、セッションの分離とマルチエージェントのオーケストレーションを備えたサーバーレス環境でこれらを実行します。Amazon Bedrock の基盤モデルが、文書の解釈やコード生成、多段階ワークフローの実行を支える推論能力を提供します。AWS リージョンごとのモデル利用状況については、Amazon Bedrock でサポートされている基盤モデルをご参照ください。
各エージェントは、その機能にスコープを限定した MCP ツールを AgentCore Gateway を通じて呼び出します。これは Amazon Bedrock AgentCore の機能であり、API や AWS Lambda 関数、既存のサービスを MCP 互換のツールに変換する役割を果たします。また、Amazon Bedrock AgentCore の機能である AgentCore Identity を通じて、各呼び出しはスコープを限定した AWS Identity and Access Management (IAM) ロールおよびアイデンティティプロバイダによって認証されます。
Amazon Bedrock の AgentCore memory は、エージェントのセッション状態と共有コンテキストを保存します。エージェントはこの共有コンテキストを活用して、300 以上のアプリケーションにわたる出力の永続化や移行進捗を追跡します。
Intake Agent が検出タスクを完了すると、ターゲットアーキテクチャと依存関係のマッピングが AgentCore メモリへ書き込まれます。IaC(Infrastructure as Code)Agent はこの共有コンテキストを読み取り、手動での引き継ぎなしにコード生成を開始します。
コードによるエージェントの定義
以下の Python 例は、IaC エージェントを定義し、Amazon Bedrock AgentCore ランタイム用に準備する様子を示しています。このエージェントは AgentCore Gateway を経由して MCP ツールへアクセスし、Amazon Bedrock Guardrails ポリシーを付与した基盤モデルを Amazon Bedrock 経由で呼び出します。
import logging
import os
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from strands import Agent
from strands.models import BedrockModel
from strands.tools.mcp import MCPClient
from strands.tools.mcp.mcp_types import MCPClientCredentials
logger = logging.getLogger(__name__)
app = BedrockAgentCoreApp()
REGION = os.environ["AWS_REGION"]
# url+auth lets the SDK run the client_credentials grant and re-mint the
# token on expiry. A statically captured bearer token would go stale.
gateway = MCPClient(
url=os.environ["GATEWAY_MCP_URL"],
auth=MCPClientCredentials(
client_id=os.environ["GATEWAY_CLIENT_ID"],
client_secret=get_secret("gateway/client_secret"),
scopes=[os.environ["GATEWAY_SCOPE"]],
),
)
model = BedrockModel(
model_id=os.environ["MODEL_ID"],
region_name=REGION,
guardrail_id=os.environ["GUARDRAIL_ID"],
guardrail_version=os.environ.get("GUARDRAIL_VERSION", "1"),
guardrail_trace="enabled",
)
@app.entrypoint
def invoke(payload, context):
prompt = (payload.get("prompt") or "").strip()
if not prompt:
return {"status": "error", "error": "missing required field: prompt"}
try:
# tools=[gateway]: SDK owns the connection lifecycle and paginates
# tool discovery, which list_tools_sync() alone does not.
agent = Agent(
model=model,
system_prompt=IAC_AGENT_PROMPT,
tools=[gateway],
)
result = agent(prompt)
if result.stop_reason == "guardrail_intervened":
logger.warning("guardrail blocked request, session_id=%s",
getattr(context, "session_id", None))
return {"status": "blocked_by_guardrail"}
return {"status": "ok", "iac": str(result)}
except Exception as e:
logger.exception("invocation failed, session_id=%s",
getattr(context, "session_id", None))
return {"status": "error", "error": str(e)}
if __name__ == "__main__":
app.run()エントリーポイントから生成された IaC が呼び出し元に返され、AgentCore ランタイムがセッションの分離とスケーリングを担当します。デプロイ可能なエンドツーエンドのサンプルについては、GitHub の Amazon Bedrock AgentCore samples repository および Strands Agents samples repository をご覧ください。また、デプロイ手順については AgentCore ランタイムの入門ガイド を参照してください。
フェーズ 1:自動化された検出のための Intake Agent
Intake Agent は、移行プロセスで最も時間がかかる最初のステップを自動化します。具体的には、オンプレミス環境に何が存在するかを把握し、AWS 上でどこへ移すかを定義する作業です。
このエージェントは、オンプレミスのアーキテクチャドキュメント、アプリケーションインベントリリスト、インテーク質問票、依存関係マップなどを取り込みます。そして、推奨される移行パターン、リソース規模の仕様、コンプライアンス検証レポートを含む、ターゲットとなる AWS アーキテクチャを生成します。
Intake Agent は手作業によるインテーク工程のボトルネックを解消します。その出力は直接 IaC エージェントへ引き継がれ、調査からインフラプロビジョニングまでの一連の流れを自動化します。
フェーズ 2:自動的なインフラストラクチャコード生成のための IaC Agent
AWS Professional Services は、このポートフォリオにおいてまず IaC Agent を導入しました。これにより、最も即座に測定可能な効果が得られています。IaC エージェントは、セキュリティのベストプラクティスや基準に準拠した IaC コードを生成します。
仕組み
エージェントのワークフローは以下の 5 つのステップで進行します。
ステップ 1:ステアリングドキュメントの取り込み。エージェントはウェーブチームから提供されたステアリングドキュメントを読み込みます。ここで、展開範囲、コンプライアンス制約、セキュリティオフィスが承認したウェーブ固有のオーバーライド事項を抽出します。
ステップ 2:ターゲット状態アーキテクチャ図の解釈。Intake Agent の出力を用いて、IaC エージェントはインフラストラクチャコンポーネント、それらの関係性、および依存関係を特定します。
ステップ 3: IaC の生成
この解釈に基づき、エージェントは定義済みかつ確立されたパターンを用いて IaC(Infrastructure as Code)を生成します。これにより、ウェーブ固有のパラメータが設定され、リモート状態管理も構成されます。さらに、組織基準で必須とされるタグ付けや監視設定の追加も行われます。
ステップ 4: Amazon Bedrock AgentCore のポリシーによる検証
実行前に、AgentCore の Policy が Cedar ルールに基づいて各ツール呼び出しを評価します。これにより、潜在的な変更範囲が算出され、並行するウェーブとの依存関係の競合チェックや、コンプライアンスウィンドウの有効性が確認されます。
ステップ 5: 実行とレポート
中央集権的な実行プレーンが IaC をトリガーし、デプロイを監視します。その結果は、Amazon Bedrock AgentCore の機能である「AgentCore Observability」を通じて報告されます。デプロイ後の検証は自動的に実行され、コンプライアンス指標はリアルタイムで更新されます。
カスタム MCP ツール:セキュリティの基盤
各アクションは、Amazon Bedrock AgentCore Gateway が公開するカスタム MCP ツールを経由し、AgentCore の Identity および Policy によって管理されます。AgentCore Identity は、最小権限アクセスを持つスコープ付き IAM ロールを通じて、各エージェントアクションを認証します。このフレームワークは、定義されたスキーマに対して入力を検証し、境界部で不正な入力を拒否します。
エージェントのコンテキストを介して認証情報や機密値が流れることはありません。AgentCore Identity がランタイム時に中央集権型の認証プロバイダーからシークレットを解決するからです。また、AgentCore Observability と AWS CloudTrail は、すべてのエージェントアクションを不変で中央集権的な監査証跡に記録します。
AgentCore のポリシー では Cedar ルールを適用し、単一操作が定義された閾値を超える影響を与えないように防止しています。
パターンに基づく IaC 生成
IaC エージェントは、あなたが定義・確立したパターンに基づいてインフラストラクチャコードを生成します。これらのパターンは、組織の標準を再利用可能なコンストラクトとしてエンコーディングするものです。具体的には、ネットワーク設定、セキュリティグループルール、IAM ロール、Amazon CloudWatch アラーム、Amazon Elastic Compute Cloud (Amazon EC2) 設定、Amazon Virtual Private Cloud (Amazon VPC) のレイアウト、そして必須のタグ付けが含まれます。
このアプローチにより、各フェーズ間で一貫性が保たれ、インフラストラクチャコードをゼロから作成する必要がないチームにはスピードがもたらされ、セキュリティ更新事項が次のデプロイサイクルで自動的に適用されるためガバナンスも強化されます。
出力アーティファクト
エージェントは、各アプリケーションに対して IaC コード、自動化されたテストケース、コンプライアンスレポート、およびデプロイ手順書(ランブック)を生成します。
IaC エージェントは生成されたコードを直接、AWS CodeCommit や GitLab、Bitbucket などのコードリポジトリにプッシュします。これにより、既存のツールチェーンを変更することなく、従来のレビューおよびデプロイパイプラインにスムーズに組み込むことが可能です。
移行インテリジェンス・ガバナンスエージェント:ポートフォリオ全体の可視化
300 件以上のアプリケーションを対象とした大規模な移行プロジェクトでは、常時運用管理が不可欠です。ステータス報告や進捗追跡、フォローアップアクションの実行、アーキテクチャのベストプラクティスへの適合性を手動で検証することは、プロジェクトマネージャーやデリバリーリードにとって大きな負担となります。
この課題を解決するのが、ポートフォリオ全体にわたる自動的かつオンデマンドなインテリジェンスとガバナンスを提供する「Migration Intelligence and Governance Agent」です。同エージェントは、AgentCore Gateway を介して 3 つのデータソースから情報を集約します。Jira ではスプリントの進捗状況や阻害要因を、Confluence ではアーキテクチャドキュメントやランブックを、Webex では会議議事録やアクションアイテムを取得します。
このエージェントは、移行されたワークロードに対する Well-Architected 評価の実施、コンプライアンスおよびガバナンスの検証、そしてアーキテクチャパターンへの準拠状況の追跡を可能にします。
自動化されたアクションには、最新の移行ステータスを Confluence ページに更新したり、特定されたアクション項目に対して Jira タスクを作成したり、エスカレーション用の ServiceNow チケットを生成したりすることが含まれます。これらのアクションは実行前に明示的な人間の承認が必要です。この承認ゲート付きのアーキテクチャは、エージェントスイート全体における核心的な設計原則です。エージェントは人間を置き換えるのではなく、人間の意思決定をサポートするものです。
300 件を超えるアプリケーションポートフォリオ全体にわたるオンデマンドレポート作成により、手動での集計作業が不要になります。ただし、結果はポートフォリオの規模やツール連携状況によって異なる場合があります。
フェーズ 3:移行後の予防的運用を担う SRE エージェント
SRE エージェントは最終フェーズであり、移行後の予防的な運用を担います。アプリケーションが AWS で稼働し始めると、SRE エージェントはチームの役割を「消火活動」から「予防的改善」へとシフトさせます。
このエージェントは Amazon CloudWatch のメトリクス、アプリケーションのパフォーマンスデータ、および過去の傾向パターンを監視します。問題が本番環境に影響を与える前にアラートを発令し、一般的な障害パターンのための自動化された修復プレイブックも公開します。さらに、効率化の改善点についても推奨を行います。
人間の判断を伴う承認プロセス(ヒューマン・イン・ザ・ループ)を経る対象領域には、データベースクラスタの適切なサイズ調整、パフォーマンスチューニング、ストレージ階層化、そしてコンピューティングのスケーリングと効率向上が含まれます。
SRE エージェントは移行ライフサイクルを完結させます。アプリケーションが AWS に着地してそこで終わるわけではありません。それらは時間とともに継続的に改善され続けます。
AWS DMS と AWS Transform を活用したデータ移行
カスタム AI エージェントに加えて、データの移行とアプリケーションの近代化を担当する AWS 管理サービスが 2 つあります。
DMS スキーマ変換における生成 AI の活用 は、手動でのスキーママッピングにかかる工数を削減します。ルールベースの変換では完了しなかった格納プロシージャ、関数、トリガーといったコードオブジェクトを自動で変換する機能です。この機能は一部の AWS リージョンで利用可能となっているため、移行計画の段階で対象リージョンのサポート状況を確認する必要があります。AWS DMS は自動化された移行タスクにより、切り替え(カットオーバー)に必要な時間を短縮します。同サービスはエージェントパイプラインに直接統合されており、IaC エージェントがターゲットインフラストラクチャをプロビジョニングした後に、AWS DMS がデータ移行を実行します。
AWS Transform は、単なるインフラの「リフト&シフト」を超えたアプリケーションレベルの変換を担当します。レガシーコードに対するアプリケーション固有の近代化を提供し、単なる移行ではなく、真の意味での近代化を実現します。
原文を表示
Scaling cloud migrations with agentic AI on Amazon Bedrock AgentCore starts with recognizing where large-scale migrations break down. Discovery consumes weeks per application. Engineers write infrastructure code from scratch for each workload. Post-migration operations devolve into reactive firefighting. Multiply those bottlenecks across over 300 applications and a fixed fiscal year deadline, and migration programs struggle to keep pace. The multi-agent framework in this post reduced infrastructure as code (IaC) development time from 3–4 weeks per application to minutes across a over 300 application portfolio. This result is based on internal project tracking data.
AWS Professional Services builds a suite of purpose-built AI agents to address these bottlenecks across the migration lifecycle, from automated discovery to proactive post-migration operations. The agents use the Strands Agents SDK and run on Amazon Bedrock AgentCore, a platform to build, connect, and optimize agents at scale, with any framework or model.
In this post, you explore the architecture of a multi-agent orchestration framework that accelerates enterprise cloud migrations end-to-end. You also see the code that defines an agent, connects it to its tools, and applies responsible AI controls. The framework includes four agents:
- The Intake Agent for automated discovery.
- The IaC Agent that generates infrastructure as coded (IaC) adhering to your security best practices.
- The Migration Intelligence and Governance Agent for portfolio-wide reporting and well-architected assessments.
- The Site Reliability Engineering (SRE) Agent for proactive operations.
To follow along, you need an AWS account with access to Amazon Bedrock AgentCore and to Amazon Bedrock foundation models (FM). You also need familiarity with the Strands Agents SDK and Model Context Protocol (MCP) server patterns, plus the IaC tooling used by your organization.
Why migration programs need a different approach
Three core bottlenecks emerge consistently across large enterprise data center exit migration programs.
Manual intake overhead: Most application migrations begin with discovery: understanding the on-premises architecture, inventory, dependencies, and intake questionnaires. Manual discovery consumes weeks per application. Across over 300 applications, this bottleneck alone threatens an aggressive migration timeline.
Redundant infrastructure development: When engineers define a target architecture, they write IaC to provision the AWS infrastructure. Without automation, writing IaC from scratch for each application typically requires 3–4 weeks per application. Across a over 300 application portfolio, that translates to years of engineering effort.
Reactive post-migration operations: After migration, teams rely on manual monitoring and reactive response. Without proactive intelligence to detect performance degradation or automatically remediate issues, ongoing operational drag compounds over time.
These three bottlenecks span the migration lifecycle. Addressing them requires shifting repetitive work to AI agents while humans retain decision authority.
Architecture overview
A multi-agent orchestration framework addresses each bottleneck with purpose-built agent capabilities. The architecture spans the migration lifecycle from on-premises discovery to post-migration operations. The framework applies security at each phase of that lifecycle. The following diagram shows how the agents, tools, and AWS services connect.

**Figure 1: How the agents connect across the migration and operations journeys through Model Context Protocol tool calling
The framework organizes agents into two journeys. The migration journey agents handle discovery through deployment. The operations journey agent handles post-migration monitoring.
Migration journey agents:
- Intake Agent (Phase 1): Automates application discovery and target state architecture definition with dependency mappings.
- IaC Agent (Phase 2): Generates IaC code adhering to your security best practices and standards.
- Migration Intelligence and Governance Agent: Provides automated portfolio reporting, well-architected assessments, and migration governance across Jira, Confluence, and Webex.
Operations journey agents:
- SRE Agent (Phase 3): Provides proactive post-migration monitoring and automated remediation.
AWS managed services complement the custom agents:
- AWS Database Migration Service (AWS DMS): Generative AI-assisted schema conversion and automated cutover for database migration.
- AWS Transform: Application-specific modernization for legacy code.
How the components connect
This section describes how the framework components interact at runtime.
Each agent is a Strands agent, defined by a foundation model, a system prompt, and a set of tools. Amazon Bedrock AgentCore runtime hosts them in a serverless environment with session isolation and multi-agent orchestration. Amazon Bedrock foundation models power the reasoning that interprets documents, generates code, and drives multi-step workflows. For model availability by AWS Region, refer to Supported foundation models in Amazon Bedrock.
Each agent calls MCP tools scoped to its function through AgentCore Gateway, a capability of Amazon Bedrock AgentCore, which converts your APIs, AWS Lambda functions, and existing services into MCP-compatible tools. AgentCore Identity, a capability of Amazon Bedrock AgentCore, authenticates each call through scoped AWS Identity and Access Management (IAM) roles and your identity provider.
Amazon Bedrock AgentCore memory stores agent session state and shared context. Agents use this shared context to persist outputs and track migration progress across over 300 applications. When the Intake Agent completes discovery, it writes the target architecture and dependency mappings to AgentCore memory. The IaC Agent reads this shared context to begin code generation without manual handoff.
Defining an agent in code
The following Python example defines the IaC Agent and prepares it for Amazon Bedrock AgentCore runtime. The agent reaches your MCP tools through AgentCore Gateway, and it calls a foundation model through Amazon Bedrock with an Amazon Bedrock Guardrails policy attached.
import logging
import os
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from strands import Agent
from strands.models import BedrockModel
from strands.tools.mcp import MCPClient
from strands.tools.mcp.mcp_types import MCPClientCredentials
logger = logging.getLogger(__name__)
app = BedrockAgentCoreApp()
REGION = os.environ["AWS_REGION"]
# url+auth lets the SDK run the client_credentials grant and re-mint the
# token on expiry. A statically captured bearer token would go stale.
gateway = MCPClient(
url=os.environ["GATEWAY_MCP_URL"],
auth=MCPClientCredentials(
client_id=os.environ["GATEWAY_CLIENT_ID"],
client_secret=get_secret("gateway/client_secret"),
scopes=[os.environ["GATEWAY_SCOPE"]],
),
)
model = BedrockModel(
model_id=os.environ["MODEL_ID"],
region_name=REGION,
guardrail_id=os.environ["GUARDRAIL_ID"],
guardrail_version=os.environ.get("GUARDRAIL_VERSION", "1"),
guardrail_trace="enabled",
)
@app.entrypoint
def invoke(payload, context):
prompt = (payload.get("prompt") or "").strip()
if not prompt:
return {"status": "error", "error": "missing required field: prompt"}
try:
# tools=[gateway]: SDK owns the connection lifecycle and paginates
# tool discovery, which list_tools_sync() alone does not.
agent = Agent(
model=model,
system_prompt=IAC_AGENT_PROMPT,
tools=[gateway],
)
result = agent(prompt)
if result.stop_reason == "guardrail_intervened":
logger.warning("guardrail blocked request, session_id=%s",
getattr(context, "session_id", None))
return {"status": "blocked_by_guardrail"}
return {"status": "ok", "iac": str(result)}
except Exception as e:
logger.exception("invocation failed, session_id=%s",
getattr(context, "session_id", None))
return {"status": "error", "error": str(e)}
if __name__ == "__main__":
app.run()The entrypoint returns generated IaC to the caller, and AgentCore runtime handles session isolation and scaling. For deployable end-to-end examples, see the Amazon Bedrock AgentCore samples repository and the Strands Agents samples repository on GitHub. For the deployment steps, refer to Getting started with AgentCore runtime.
Phase 1: Intake Agent for automated discovery
The Intake Agent automates the most time-consuming first step of migration: understanding what exists on-premises and defining where it goes on AWS.
The agent ingests on-premises architecture documentation, application inventory lists, intake questionnaires, and dependency maps. It then produces a target AWS architecture with a recommended migration pattern, resource sizing specifications, and a compliance validation report.
The Intake Agent addresses the manual intake bottleneck. The output feeds directly into the IaC Agent, creating an automated handoff from discovery to infrastructure provisioning.
Phase 2: IaC Agent for automated infrastructure code generation
AWS Professional Services deployed the IaC Agent first in the portfolio, and it delivers the most immediately measurable impact. It generates IaC code adhering to your security best practices and standards.
How it works
The agent workflow proceeds through five steps:
Step 1: Ingest the steering document.** The agent reads the steering document from the wave team. It extracts deployment scope, compliance constraints, and Security Office-approved wave-specific overrides.
Step 2: Interpret the target state architecture diagram. Using the Intake Agent’s output, the IaC Agent identifies infrastructure components, their relationships, and dependencies.
Step 3: Generate IaC. Based on this interpretation, the agent generates IaC using your defined and established patterns. It populates configurations with wave-specific parameters and configures remote state management. It then applies mandatory tagging and adds monitoring configurations required by organizational standards.
Step 4: Validate through Policy in Amazon Bedrock AgentCore. Before execution, Policy in AgentCore evaluates each tool call against Cedar rules. It calculates the scope of potential change, checks dependency conflicts with concurrent waves, and confirms compliance window validity.
Step 5: Execute and report. The centralized execution plane triggers the IaC, monitors deployment, and reports outcomes through AgentCore Observability, a capability of Amazon Bedrock AgentCore. Post-deployment validation runs automatically and compliance metrics update in real time.
Custom MCP tools: The security foundation
Each action passes through custom MCP tools exposed by Amazon Bedrock AgentCore Gateway and governed by AgentCore Identity and Policy in AgentCore. AgentCore Identity authenticates each agent action through scoped IAM roles with least-privilege access. The framework validates inputs against defined schemas and rejects malformed inputs at the boundary.
No credentials or sensitive values pass through agent context, because AgentCore Identity resolves secrets at runtime from a centralized credential provider. AgentCore Observability and AWS CloudTrail write each agent action to an immutable, centralized audit trail. Policy in AgentCore enforces Cedar rules that help prevent a single operation from affecting more than a defined threshold.
IaC generation based on your patterns
The IaC Agent generates infrastructure code based on your defined and established patterns. These patterns encode organizational standards into reusable constructs. They include network configurations, security group rules, IAM roles, Amazon CloudWatch alarms, Amazon Elastic Compute Cloud (Amazon EC2) configurations, Amazon Virtual Private Cloud (Amazon VPC) layouts, and mandatory tagging.
This approach provides consistency across waves, speed for wave teams who don’t write infrastructure code from scratch, and governance where security updates propagate to consumers on their next deployment cycle.
Output artifacts
The agent produces IaC code, automated test cases, compliance reports, and deployment runbooks for each application.
The IaC Agent pushes generated code directly to your code repository (such as AWS CodeCommit, GitLab, or Bitbucket). From there, it enters your existing review and deployment pipeline without requiring changes to your existing toolchain.
Migration Intelligence and Governance Agent: Portfolio-wide visibility
An over 300 application migration portfolio requires full-time operational management. Status reporting, tracking progress, executing follow-up actions, and validating well-architected alignment manually creates significant overhead for project managers and delivery leads.
The Migration Intelligence and Governance Agent solves this with automated, on-demand intelligence and governance across the portfolio. It aggregates data from three sources through AgentCore Gateway. Jira provides sprint progress and impediments. Confluence provides architecture documentation and runbooks. Webex provides meeting notes and action items.
The agent provides well-architected assessments across migrated workloads, compliance and governance validation, and architecture pattern adherence tracking.
Automated actions include updating Confluence pages with latest migration status, creating Jira tasks for identified action items, and generating ServiceNow tickets for escalations. These actions require explicit human approval before execution. This approval-gated architecture is a core design principle across the agent suite. Agents support human decision-making rather than replacing it.
On-demand reporting across the over 300 application portfolio replaces manual aggregation, based on internal project tracking data. Your results might vary based on portfolio size and tool integrations.
Phase 3: SRE Agent for proactive post-migration operations
The SRE Agent represents the final phase: proactive post-migration operations. After applications run on AWS, the SRE Agent shifts the team from reactive firefighting to proactive improvement.
The agent monitors Amazon CloudWatch metrics, application performance data, and historical patterns. It raises alerts before issues affect production. The agent also publishes automated remediation playbooks for common failure patterns and recommends efficiency improvements.
Target areas (with human-in-the-loop approval) include database cluster right-sizing, performance tuning, storage tiering, and compute scaling and efficiency improvements.
The SRE Agent completes the migration lifecycle. Applications don’t land on AWS and stop there. They continuously improve over time.
Data migration with AWS DMS and AWS Transform
Alongside the custom AI agents, two AWS managed services handle the data and application modernization layer.
DMS Schema Conversion with generative AI reduces manual schema mapping effort. It converts code objects that rules-based conversion leaves unfinished, such as stored procedures, functions, and triggers. This capability is generally available in a subset of AWS Regions, so confirm Region support during wave planning. AWS DMS then shortens the cutover window with automated migration tasks. The service integrates directly into the agent pipeline. The IaC Agent provisions target infrastructure, then AWS DMS migrates the data.
AWS Transform handles application-level transformations beyond infrastructure lift-and-shift. It provides application-specific modernization for legacy code, delivering true modernization rather than migration alone.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み