はじめに
Amazon Bedrock AgentCoreの次世代のruntimeは、2026年9月18日に公開されました。公式ドキュメントではV2と呼ばれ、従来のruntimeはV1です。V2は、初期化済みのエージェントのスナップショットからセッションを復元する方式で、起動が速く、使った分だけ課金されます。公開から約2か月は、platformVersion をV2にした人だけが使えるオプションでした。
そして2026年11月12日、AWSから「次世代のAgentCore runtimeが既定になった」ことが発表されました。
"Starting today, new runtimes in Amazon Bedrock AgentCore use the next generation of AgentCore runtime by default."
出典: https://aws.amazon.com/about-aws/whats-new/2026/11/new-agentcore-runtime-default/
つまり、新しく作るruntimeが何も指定しなければV2になる、というニュースです。既存のruntimeは移行するまで現行版(V1)のままです。V2がいつ出て、今回のニュースで何が変わったのかは、次の節で時系列に整理します。
一方で、手を動かす立場からは次のような疑問が出ます。
- 既存のruntimeはどうなるのか。移行は必要か。移行するとき、実行中のセッションや呼び出しはどうなるか
- 戻せるのか
- 移行はコンソールでもできるのか。CloudFormationではどうか
- コードは変えなくてよいのか
そこで本記事では、同じエージェントをV1とV2の両方で動かして比べ、V1からV2への移行を、CLI、マネジメントコンソール、CloudFormationの3つの方法で試しました。公式ドキュメントに載っていない部分は、実際に動かして確かめています。
前提として、AgentCore runtimeの基本(コンテナイメージでエージェントをデプロイすること)と、AWS CLIの基本的な使い方を想定しています。
検証は東京リージョン(ap-northeast-1)で2026年11月13日に行いました。AWSの画面やドキュメントは変わりうるため、日付を明記しています。
V2がいつ出て、今回のニュースで何が変わったか
V2は今回のニュースで初めて出たものではありません。公式の発表とリリースノートから、時系列を整理します。日付は原文の表記です。リリースノートは月単位の記載で、日は書かれていません。
| 日付 | 出来事 | 出典 |
|---|---|---|
| 2026年9月18日 | 新しいAgentCore Runtime(V2)が公開された。対象は us-east-1、us-east-2、us-west-2、eu-west-1、ap-northeast-1(東京)の5リージョン。使うには、runtimeの作成または更新時に platformVersion をV2にする |
What's New |
| 2026年9月18日 | AWSのMLブログで、設計(スナップショットからの復元、メモリのオンデマンド割り当て)と計測結果が公開された | MLブログ |
| 2026年10月 | V2で、環境変数の上限が4KBになった。セッションコンテキストキーとFUSEマウントがV2で使えるようになった | リリースノート |
| 2026年11月 | V2が10リージョンに拡大した。コンテナイメージの上限が10GB、1セッションあたりの同時接続が250、メモリのベースライン設定(resourceConfigurations)、ビルド時のwarmupフック、が追加された |
リリースノート |
| 2026年11月12日 | 新規に作るruntimeが、V2を既定で使うようになったと発表された(19リージョン)。既存のruntimeは移行するまで現行版のまま | What's New |
出典:
- What's New(2026年9月18日): https://aws.amazon.com/about-aws/whats-new/2026/09/new-agentcore-runtime-generally-available/
- MLブログ(2026年9月18日): https://aws.amazon.com/blogs/machine-learning/the-new-agentcore-runtime-elastic-optimized-and-consistently-fast-starts/
- リリースノート: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/release-notes.html
- What's New(2026年11月12日): https://aws.amazon.com/about-aws/whats-new/2026/11/new-agentcore-runtime-default/
公開時にAWSが示した数値
9月18日の発表とブログでは、AWSの計測として次の数値が示されています。
| 項目 | V1 | V2 |
|---|---|---|
| コールドスタート(P75) | 約5.4秒〜約30秒 | 約1.9〜2.0秒 |
| 計測条件(What's New) | 200MB〜2GBのイメージ | 同左 |
| 計測条件(MLブログ) | us-east-1のechoエージェントに対して、us-west-2のEC2から5,000回のコールドスタートを計測 | 同左 |
課金については、ブログに次の説明があります。
"You pay a higher rate but on far fewer GB-hours, and for most agents the footprint drops more than the rate rises, so the bill goes down."
出典: 上記のMLブログ
単価は上がるが、課金されるGB時間が大きく減るため、多くのエージェントでは請求が下がる、という説明です。本記事では請求額は検証していません。
公開の翌日(2026年9月19日)には、第三者のブログ(Classmethod)が、東京リージョンでV1とV2を比べています。46MB、335MB、859MBの3種類のイメージを、各1回ずつ計測した結果は次のとおりです。
| イメージ | V1の初回のコールドスタート | V2の初回のコールドスタート |
|---|---|---|
| 46MB | 3.4秒 | 2.1秒 |
| 335MB | 5.5秒 | 2.2秒 |
| 859MB | 13.6秒 | 1.8秒 |
出典: https://dev.classmethod.jp/en/articles/amazon-bedrock-agentcore-runtime-v2-tried/
V1はイメージが大きいほど遅くなり、V2はほぼ一定、という傾向です。本記事の検証(V2が約1.6〜2.2秒)とも近い値でした。
今回のニュースで変わったこと
| 項目 | 2026年11月12日より前 | 2026年11月12日の発表 |
|---|---|---|
| V2を使う方法 |
platformVersion をV2にする(オプトイン) |
同じ。ただし、省略すると新規はV2になる、と発表された |
| 省略したときの新規runtime | V1 | V2(発表) |
| 既存のruntime | V1のまま | 移行するまで現行版のまま(変わらない) |
| 対象リージョン | 5リージョン(9月)、10リージョン(11月のリリースノート) | 19リージョン(東京を含む) |
変わるのは、新規に作るときの「省略した場合」だけです。既存のruntimeは変わりません。
ただし、検証した時点(2026年11月13日)の私の環境では、省略するとV1になりました(次の「既定のバージョンはどちらか」で確認します)。AWSのドキュメント(How AgentCore Runtime works)にも "V1 is the default." と書かれたままでした。発表より前に、AWS側から既定の変更についての告知があったかは、確認できませんでした。
結論
検証した範囲での結論です。条件は、小さいコンテナイメージ(約43.5MB)、起動時に20秒の初期化を行うエージェント、東京リージョンです。
| 観点 | 結果 |
|---|---|
| 既定のバージョン | CLIで --platform-version を省略するとV1になった。コンソールの作成画面でも、V1が選択済みで、V2には "recommended" と表示されていた |
| 作成時間 | V1は約1.4秒、V2は約199秒 |
| 新しいセッションの待ち時間 | V1は約23.7秒(コールドスタート)の場合と、0.4〜1.2秒の場合があった。V2は約1.6〜2.2秒で安定した(初回のみ3.7秒) |
| スナップショットの影響 | V2では、起動時に作った値と、ハンドラ内のPythonの random の値が、複数のセッションで同じになった |
| 移行(V1からV2) | CLI、コンソール、CloudFormationのいずれも、runtimeを更新するだけでできた。所要時間は約3〜3.5分 |
| 移行中の呼び出し | 更新中も呼び出しは成功した。実行中のセッションは、更新の前後で途切れなかった |
| 戻せるか | CLI、コンソール、CloudFormationのいずれでも、V2からV1に戻せた(数秒〜17秒) |
resourceConfigurations |
APIでは設定できた。コンソールの更新画面とCloudFormationのテンプレートには項目がなかった |
以降、それぞれの確認方法と結果を示します。
AgentCore runtimeのV1とV2
公式の発表とドキュメントの記載を整理します。数値は公式の記載で、本記事の検証で確かめたものではありません。
| 項目 | V1 | V2 | 出典 |
|---|---|---|---|
| 起動方式 | 記載なし(通常のコンテナ起動) | 初期化済みエージェントのスナップショットから復元 | 発表、ドキュメント |
| 作成・更新の所要時間 | 数秒でREADY | 数分 | ドキュメント |
| コンテナイメージの上限(圧縮) | 2GB | 10GB | ドキュメント |
| 課金(consumption) | CPU $0.0895/vCPU-hour、メモリ $0.00945/GB-hour | CPU 0.1276/vCPU-hour、メモリ $0.0169/GB-hour | 料金ページ |
| committed baseline | なし | あり(resourceConfigurations) |
ドキュメント |
| コンピューティングタイプ「インスタンス」 | 使える | 使えない(コンソールの表示) | コンソール |
| 起動時間の公式の数値 | P75で29.7秒(2GBイメージ) | P75で2秒未満(2GBイメージ) | 発表 |
出典:
- 発表: https://aws.amazon.com/about-aws/whats-new/2026/11/new-agentcore-runtime-default/
- ドキュメント: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-how-it-works.md
- 料金ページ: https://aws.amazon.com/bedrock/agentcore/pricing/
発表と公式ドキュメントで、既定についての記載が食い違っています。発表は「新規のruntimeは次世代が既定」ですが、ドキュメントのPlatform versionsの節には "V1 is the default." とあります。この点は次の節で確かめます。
また、ドキュメントには、スナップショット方式に伴う注意が書かれています。
"Restoring from a snapshot changes how you structure your agent code."
出典: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html
検証の環境と方法
検証用のエージェント
標準ライブラリだけで書いた小さなHTTPサーバーです。起動時に20秒の「重い初期化」を行ってから、ポート8080で待ち受けます。/invocations は、起動時に固定された値と、リクエストごとに作った値を返します。
# 起動時の処理(V2ではスナップショットに含まれる想定)
time.sleep(INIT_SECONDS) # 20秒。重い初期化の代わり
STARTUP_RANDOM = random.random()
STARTUP_UUID = str(uuid.uuid4())
STARTUP_EPOCH = time.time()
# /invocations のレスポンス(抜粋)
{
"startup_uuid": STARTUP_UUID, # 起動時に作った値
"startup_epoch": STARTUP_EPOCH, # 起動時の時刻
"handler_random": random.random(), # ハンドラ内のPythonのrandom
"handler_uuid": str(uuid.uuid4()), # ハンドラ内のuuid4
"handler_urandom_hex": os.urandom(8).hex(),
"pid": os.getpid(),
"hostname": socket.gethostname(),
}
待ち受けを始めるまで /ping が成功しないため、V2では初期化が終わった時点のスナップショットが取られる想定です(公式の記載: 最初のhealthyな /ping 応答時に取得)。
環境
| 項目 | 値 |
|---|---|
| リージョン | ap-northeast-1(東京) |
| 実施日 | 2026年11月13日 |
| コンテナイメージ | linux/arm64、約43.5MB、ECRに配置 |
| 実行ロール | ECRの取得とCloudWatch Logsの書き込みだけを許可した専用ロール |
| ネットワーク | PUBLIC |
| AWS CLI / boto3 | 2.39.3 / 1.43.91(resourceConfigurations の確認には boto3 1.44.2 を別の仮想環境で使用) |
呼び出しの方法
新しい runtimeSessionId で invoke_agent_runtime を呼び、所要時間と応答内容を記録します。毎回新しいセッションなので、各回が新しいセッションの起動を含みます。実行中のセッションの確認には、固定のセッションIDを使います。
既定のバージョンはどちらか
まず、公式の記載が食い違っていた既定のバージョンを確かめました。
CLIで --platform-version を省略した場合
aws bedrock-agentcore-control create-agent-runtime \
--agent-runtime-name v_default \
--agent-runtime-artifact "containerConfiguration={containerUri=<ECRのイメージURI>}" \
--role-arn <実行ロールのARN> \
--network-configuration networkMode=PUBLIC
作成後に get-agent-runtime --query platformVersion で確認すると、V1でした。
コンソールの作成画面
東京リージョンのコンソールでは、runtimeが1つ以上あると、「エージェント」ページ右上の「さらに追加」から「エージェントをホスト」で作成画面に入ります。ドキュメントの「Create Host agent (runtime)」とは名称が違いました。
作成画面の「ランタイムプラットフォームバージョン」は、V1が選択済みで、V2には "recommended" と表示されていました。
この画面には、V2についての表示がもう1つありました。コンピューティングタイプの「インスタンス」に、"Not available with runtime platform version V2." と書かれています。インスタンスを使いたい場合は、V2は選べません。
| 作成方法 | 省略時の既定 |
|---|---|
| CLI/API | V1 |
| コンソール | V1(V2はrecommended表示) |
公式ドキュメントの「V1 is the default.」と一致する結果でした。発表の「次世代が既定」は、検証時点(2026年11月13日)の私の環境では確認できませんでした。段階的に反映されている可能性はありますが、その点は確認できていません。
作成にかかる時間
V1を明示、V2を明示、省略の3通りで、runtimeを作りました。時間は get-agent-runtime の createdAt と lastUpdatedAt の差です。
| runtime | 指定 | platformVersion | READYまでの時間 |
|---|---|---|---|
| v1_explicit | V1 | V1 | 約1.4秒 |
| v2_explicit | V2 | V2 | 約199秒(3分19秒) |
| v_default | 指定なし | V1 | 約1.2秒 |
V2は、スナップショットを準備するぶん、作成に数分かかります(ドキュメントの "Create and update take minutes." と一致)。
新しいセッションの待ち時間
V1とV2を比べる
10回ずつ、新しいセッションで呼び出しました。作成の約10分後の計測です。
| 項目 | V1 | V2 |
|---|---|---|
| 所要時間(中央値/最小/最大) | 0.60秒/0.43秒/1.24秒 | 1.79秒/1.63秒/3.68秒 |
V2は1.6〜2秒前後で安定しました。初回だけ3.68秒でした。
10分あけて3回呼び出した場合も、結果は同じ傾向でした。
| 回 | V1 | V2 |
|---|---|---|
| 1 | 0.77秒 | 2.17秒 |
| 2 | 0.75秒 | 1.90秒 |
| 3 | 0.58秒 | 1.84秒 |
V1が速く返ったのは何故か
意外なことに、この表ではV1のほうが速く返っています。初期化に20秒かかるエージェントなので、V1の新しいセッションは約20秒以上かかるはずです。
起動時刻(startup_epoch)を見ると、v1_explicit の10セッションと、一度も呼んでいない v_default の3セッションは、いずれも作成の約24秒後(それぞれ同じ秒)に起動していました。つまり、新しいセッションの呼び出しで起動したのではなく、あらかじめ起動済みのインスタンスで応答していたことになります。
一方で、同じ手順で作成した直後の mig_cli(V1)では、新しいセッションの呼び出しが毎回23.7〜25.7秒かかりました。startup_epoch は呼び出しの直前で、実際にコールドスタートしていました。V2からV1に戻した直後にも、23.7秒でした。
| runtime(V1) | 状況 | 新しいセッションの所要時間 |
|---|---|---|
| v1_explicit | 作成の約10分後 | 0.43〜1.24秒 |
| v_default | 一度も呼んでいない | 0.85〜1.01秒 |
| mig_cli | 作成直後 | 23.7〜25.7秒 |
| mig_cli | V2からV1に戻した直後 | 23.7秒、23.8秒 |
V1が起動済みインスタンスを持つ条件は、今回の検証では特定できませんでした。公式ドキュメントにも、V1の事前起動についての記載は見つかりませんでした。
そのため、V1については「待ち時間が約0.5秒のこともあれば、初期化時間を含む約24秒のこともあった」と、事実だけを記します。V2の1.6〜2.2秒は、どの状況でも安定していました。公式の「P75が29.7秒から2秒未満」は2GBのイメージでの値なので、本記事の数値(43.5MBのイメージ)と直接は比べられません。
スナップショットの影響
スナップショットは、runtimeごとに、エージェント自身の初期化が終わった時点の状態を保存したものです。別のruntimeやアカウントの値が混ざることはありません。問題になるのは、同じruntimeから復元された複数のセッション(たとえば別々のユーザーの呼び出し)が、起動時に作られた値を共有することです。
V1のコードが「セッションごとに専用のプロセスが起動し、起動時の値はセッションごとに別になる」ことを暗黙の前提にしていると、V2ではその前提が崩れます。エラーは出ずに値だけが同じになるので、気づきにくい点に注意が必要です。
| コードの書き方 | V2での問題 |
|---|---|
random でID・トークン・nonceを作っている |
別のセッションに同じ値が出る可能性がある |
| 起動時に作ったUUIDを、セッション固有のIDとして使っている | 複数のセッションで同じIDになる |
| 起動時に認証情報や外部の状態を読み込んでいる | スナップショットの時点で固定され、復元後も残る |
なお、ここで比べる値は、runtimeSessionId ではありません。検証用のエージェントが起動時に自分で作った値です。
V2では、起動時の処理がスナップショットに含まれ、復元された全インスタンスに引き継がれます。ドキュメントにも、次のように書かれています。
「The
randommodule is likewise seeded at startup, so restored instances repeat the same sequence.」
出典: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-v2-optimize.md
実際に確認した結果です。10回の呼び出し(それぞれ新しいセッション)の応答を比べました。
| 項目 | V1 | V2 |
|---|---|---|
startup_uuid の種類 |
10種類(全て別) | 2種類(8回が同じ値) |
startup_epoch |
10回とも同じ秒に揃っていた(上記の起動済みインスタンス) | 2つの時刻(8回が同じ値) |
handler_random(ハンドラ内の random.random()) |
10種類 | 2種類。startup_uuid が同じセッションは同じ値になった |
handler_uuid(ハンドラ内の uuid.uuid4()) |
10種類 | 10種類 |
pid / hostname
|
1 / localhost | 1 / localhost |
V2で分かったことは次のとおりです。
- 起動時に作った値(
startup_uuidなど)は、複数のセッションで同じになる - ハンドラ内で呼んだ
random.random()も、同じスナップショットから復元されたセッションでは、最初の呼び出しの値が同じになる -
uuid.uuid4()とos.urandom()は、毎回異なる値だった - スナップショットは2つだった。10分以上あけても、同じ2つから復元された
-
startup_epochから、スナップショットはREADYになる約97秒前に取られていた
ドキュメントの推奨のとおり、乱数や識別子はハンドラ内で secrets や os.urandom()、uuid.uuid4() を使って作る必要があります。Pythonの random を、IDやトークンの生成に使っているコードは、V2に移行すると同じ値が出る可能性があります。
/ping が間に合わない場合
V2では、最初のhealthyな /ping 応答時にスナップショットを取ります。ドキュメントには、起動から120秒以内にhealthyにならないと作成が失敗する、とあります。
起動時の初期化を130秒に変えたイメージで、V2のruntimeを作りました。
CREATE_FAILED(作成から約229秒後)
failureReason: The runtime failed its health check. Ensure your container serves the configured health endpoint.
起動の初期化が120秒を超える場合は、V2ではそもそも作成できません。作成が失敗するまでの時間は、120秒に準備の時間が加わった値と考えられますが、内訳は確認していません。
CLIでV1からV2に移行する
V1のruntime(mig_cli)を、update-agent-runtime でV2に移行しました。
aws bedrock-agentcore-control update-agent-runtime \
--agent-runtime-id <runtimeのID> \
--agent-runtime-artifact "containerConfiguration={containerUri=<ECRのイメージURI>}" \
--role-arn <実行ロールのARN> \
--network-configuration networkMode=PUBLIC \
--platform-version V2
--agent-runtime-artifact、--role-arn、--network-configuration も、更新時に指定が必要でした。
結果
| 確認 | 結果 |
|---|---|
| 所要時間 | 約204秒。バージョン番号が1から2に増えた |
更新中の get-agent-runtime
|
開始の1秒後から、platformVersion はV2、statusはUPDATING |
| 更新中の再update |
ConflictException("Cannot update agent ... while it's UPDATING.") |
| 更新中の呼び出し(新しいセッション6回) | 全て成功。ただしREADYになるまで旧版の挙動で、毎回約23.7秒 |
| 実行中のセッション | 更新の前後で途切れなかった |
| READY後の新しいセッション | 約1.9秒(V2の挙動) |
--platform-version を省略して更新 |
V2のまま維持された |
実行中のセッションは、更新の前に開始した固定のセッションIDで、更新中に約30秒ごとに呼び出して確認しました。startup_uuid が最後まで同じで、time.monotonic() が増え続け、応答は約0.35〜0.42秒でした。移行をまたいでも、同じプロセスのまま動いています。
つまり、V1からV2への移行で、すでに動いているセッションは影響を受けず、新しいセッションだけがREADYのタイミングでV2に切り替わります。更新中も呼び出しは失敗しませんでした。
DEFAULTエンドポイントは、更新後のバージョンに追従しました。CLIで更新を繰り返した mig_cli は、バージョン4になった時点で、DEFAULTのliveVersionも4でした。
マネジメントコンソールで移行する
コンソールでも、V1からV2に移行できました。
手順
- runtimeの詳細画面の右上にある「更新」ボタンを押す
- 「ランタイムを更新」画面の「ランタイムプラットフォームバージョン」で、V2を選ぶ
- 「ランタイムを更新」を押す
名前とコンピューティングタイプは、更新画面では変更できません(表示のみ)。
結果
押した直後に、次のバナーが表示されました。ステータスは「更新中」になり、「更新」と「エージェントをテスト」のボタンは無効になります。
| 確認 | 結果 |
|---|---|
| 所要時間 | 約3分16秒(CLIは約204秒) |
| 更新中の実行中セッション | 途切れなかった。応答は約0.35秒 |
| 更新後 | 実行中のセッションは継続。新しいセッションは2.08秒(V2の挙動) |
CLIと同じ結果でした。
V1/V2をコンソールで確認する場所
詳細画面の見出し部分や、一覧のカードには、V1/V2の表示がありません。「設定」タブの「バージョンの詳細」に、「ランタイムプラットフォームバージョン」として表示されます。
V2のruntimeの同じ画面では、V2と表示され、さらに「Session capacity: Pay per use」という項目が出ていました(V1の画面にはなかった項目です)。
「Pay per use」が課金方式(consumption)に対応する表示かどうかは、公式の記載を確認できていません。resourceConfigurations を外した状態での表示だったことから、そう考えられるという推測にとどまります。
V2からV1に戻せるか
ドキュメントには、V2からV1に戻す手順の記載が見つかりませんでした。次の方法で試しました。
| 方法 | 結果 |
|---|---|
CLI(--platform-version V1) |
戻せた。READYまで約5秒(バージョン4) |
| コンソール | 更新画面でV1を選べた(無効になっていない)。押した後、すぐにREADY(V1、バージョン3) |
CloudFormation(PlatformVersion をV1に変更) |
戻せた。約17秒 |
戻した後の挙動は、移行前のV1と同じでした。新しいセッションは約23.7秒のコールドスタート、V2に移行する前に開始した固定のセッションは、そのまま継続しました(応答は約0.36秒)。
ドキュメントには、参照されなくなったバージョンのスナップショットは削除の対象になり、削除には最大8時間かかる場合がある、と書かれています。V2から戻した後のスナップショットの扱いは、確認していません。
CloudFormationで移行する
CloudFormationの AWS::BedrockAgentCore::Runtime には、PlatformVersion プロパティがあります(Update requires: No interruption)。プロパティの許容値(V1/V2)は、リソースのドキュメントに記載がありません。
テンプレートの抜粋です。
Resources:
Runtime:
Type: AWS::BedrockAgentCore::Runtime
Properties:
AgentRuntimeName: cfn_migration
AgentRuntimeArtifact:
ContainerConfiguration:
ContainerUri: !Ref ContainerUri
RoleArn: !Ref RoleArn
NetworkConfiguration:
NetworkMode: PUBLIC
PlatformVersion: !Ref PlatformVersion
| 確認 | 結果 |
|---|---|
| スタックをV1で作成 | 17秒でCREATE_COMPLETE。runtimeはREADY、V1 |
PlatformVersion をV2に変更(変更セット) |
変更の種類は Modify、Replacementは False(置き換えなし) |
| 変更セットの実行 | 210秒でUPDATE_COMPLETE。runtimeはREADY、V2、バージョン2 |
PlatformVersion をV1に戻す |
17秒でUPDATE_COMPLETE。runtimeはV1、バージョン3 |
CloudFormationでも、runtimeが置き換わることなく、その場で更新されました。CDKのL1(CfnRuntime)にも platformVersion があることを、ドキュメントで確認しています。実際にCDKでデプロイする検証は行っていません。TerraformのプロバイダーでPlatformVersion相当を指定できるかも、確認していません。
resourceConfigurations(committed baseline)
V2には、メモリのベースラインを設定する resourceConfigurations があります。ベースラインを設定すると、より低い単価で課金され、ピーク時はベースラインの最大4倍までバーストできます(公式ドキュメントの記載)。
AWS CLI 2.39.3とboto3 1.43.91には、resourceConfigurations のパラメーターがありませんでした。新しいboto3(1.44.2)を別の仮想環境にインストールして試しました。
c.update_agent_runtime(
agentRuntimeId=rid,
agentRuntimeArtifact={"containerConfiguration": {"containerUri": img}},
roleArn=role,
networkConfiguration={"networkMode": "PUBLIC"},
platformVersion="V2",
resourceConfigurations=[{"minimumMemoryInMiB": 2048}],
)
| 確認 | 結果 |
|---|---|
| V2のruntimeに付けて更新 | 成功。201秒でREADY。get_agent_runtime に resourceConfigurations: [{minimumMemoryInMiB: 2048}] が返る |
| V1のruntimeに付けて更新 | ValidationException: resourceConfigurations can only be used when platformVersion is V2. |
| 省略して更新 | 201秒でREADY。resourceConfigurations が外れた(consumptionに戻る) |
| コンソールの更新画面 | メモリやCPUのベースラインに当たる項目は見当たらなかった |
| CloudFormationのテンプレートに記述 |
create-stack が約6秒でROLLBACK_COMPLETE。"Validation failed with 1 error(s)."(プロパティが未対応) |
ベースラインの設定は、現時点ではAPIとSDK(新しいバージョン)からだけのようです。
料金ページには、committed baselineの単価が "launching by October 2026" と書かれています。APIで設定できましたが、課金に実際に反映されるかは、請求額を確認していないため分かりません。
移行の判断の目安
ここまでの結果から、V2への移行を考えるときの判断の目安を表にしました。公式の記載ではなく、本記事の検証結果からの私の見立てです。
| 状況 | 見立て |
|---|---|
| 起動時の初期化が長い(数十秒以上)、またはイメージが大きい | V2の恩恵が大きい。V1はコールドスタートで初期化時間がそのまま待ち時間になる場合があった |
| 起動時の初期化が120秒を超える | V2は作成に失敗する。初期化を軽くする必要がある |
Pythonの random などで、IDやトークンを作っている |
起動時やハンドラ内の random は、同じ値が出る可能性がある。secrets、os.urandom()、uuid.uuid4() に変える |
| 起動時に認証情報や外部の状態を読み込んでいる | スナップショットに固定される。ハンドラ内で更新する(ドキュメントの注意) |
| コンピューティングタイプ「インスタンス」を使いたい | V2は使えない |
| IaCで管理している |
PlatformVersion を変えるだけで、置き換えなしで更新できる。ただし更新に約3.5分かかる |
| ベースライン(committed baseline)を使いたい | 現時点ではAPI/SDKのみ。IaCやコンソールでは設定できない |
移行の手順自体は、更新するだけで済み、実行中のセッションは影響を受けず、戻すこともできます。リスクが小さい操作なので、まず検証用のruntimeでV2の挙動を確かめてから進める、という流れが取りやすいと考えます。
実際に検証する方法
本記事の検証は、次の順で行いました。コマンドの引数は、各自の環境に合わせて読み替えてください。
- ECRにリポジトリを作り、検証用のイメージをlinux/arm64でビルドして、pushする
- 実行ロール(信頼ポリシーは
bedrock-agentcore.amazonaws.com)を作る -
create-agent-runtimeで、--platform-version V1、V2、省略の3通りで作る。get-agent-runtimeでstatusとplatformVersionを確認する - 新しい
runtimeSessionIdでinvoke_agent_runtimeを複数回呼び、所要時間と応答(startup系の値、ハンドラ内の値)を比べる - 別のruntimeをV1で作り、実行中のセッション(固定のセッションID)を呼びながら、
update-agent-runtimeでV2に移行する。status、platformVersion、所要時間を記録する - コンソールの更新画面でも同じことを試す
-
--platform-version V1で戻せるか確認する - CloudFormationのテンプレートで
PlatformVersionを変更し、変更セットとスタックの更新を確認する
Windows環境でDockerを使うときの注意があります。Docker DesktopのWindows版では、ECRの認証トークンが長すぎて、既定の認証情報ストアに保存できず、docker push が403で失敗することがありました(error storing credentials ... The stub received bad data)。その場合は、認証情報ストアを使わない設定フォルダを DOCKER_CONFIG に指定して、認証情報を直接書く方法で、pushできました。
検証後は、runtime、CloudFormationのスタック、ECRリポジトリ、IAMロール、CloudWatch Logsを削除してください。V2のスナップショットは、削除に最大8時間かかる場合があります。
さいごに
AgentCore runtimeのV2は、初期化に時間がかかるエージェントで、新しいセッションの待ち時間を、初期化時間に左右されない安定した値(今回は約2秒)にしてくれるものでした。
移行は、runtimeを更新するだけで行えました。更新中も呼び出しは失敗せず、実行中のセッションは途切れず、V1にも戻せます。操作として大きなリスクはありません。注意が必要なのは、スナップショットに起因するコードの挙動(起動時に固定される値や、Pythonの random)、120秒の初期化の上限、そして既定がV1のままであることでした。
発表は「次世代が既定」ですが、検証した時点の私の環境では、CLIでもコンソールでもV1が既定でした。V2を使いたい場合は、platformVersion を明示する必要があります。
英語版
[AWS] Migrating AgentCore runtime from V1 to V2 [AgentCore]
参考文献
- The next generation AgentCore runtime is now the default(2026年11月12日): https://aws.amazon.com/about-aws/whats-new/2026/11/new-agentcore-runtime-default/
- The new AgentCore Runtime is now available in Amazon Bedrock AgentCore(2026年9月18日): https://aws.amazon.com/about-aws/whats-new/2026/09/new-agentcore-runtime-generally-available/
- The new AgentCore runtime: Elastic, optimized, and consistently fast starts(AWS Machine Learning Blog、2026年9月18日): https://aws.amazon.com/blogs/machine-learning/the-new-agentcore-runtime-elastic-optimized-and-consistently-fast-starts/
- Release notes for Amazon Bedrock AgentCore: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/release-notes.html
- I tried out the newly released Amazon Bedrock AgentCore Runtime V2(Classmethod、2026年9月19日): https://dev.classmethod.jp/en/articles/amazon-bedrock-agentcore-runtime-v2-tried/
- Amazon Bedrock AgentCore Runtime(開発者ガイド): https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html
- How AgentCore Runtime works(V1/V2、スナップショット、resourceConfigurations): https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-how-it-works.md
- Optimize for V2(スナップショットの注意): https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-v2-optimize.md
- Amazon Bedrock AgentCore pricing: https://aws.amazon.com/bedrock/agentcore/pricing/
- AWS::BedrockAgentCore::Runtime(CloudFormation): https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrockagentcore-runtime.html
- UpdateAgentRuntime(API): https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateAgentRuntime.html









