Amazon Bedrock AgentCore Runtimeで zip ファイルを直接アップロードでデプロイしてみた
はじめに
Fusicのレオナです。本ブログは2025年11月にAmazon Bedrock AgentCoreに追加された機能である、zipファイルを直接アップロードしてAIエージェントをデプロイできるようになったので試してみました。
概要
従来はコンテナイメージを Amazon ECRにPush後、Amazon Bedrock AgentCore RuntimeでデプロイしてAIエージェントが動作していましたが、今回のアップデートからAmazon ECRの代わりにAmazon S3バケットにアップロードして動作することも可能になりました。Amazon S3を介してデプロイする場合、3つの選択肢から選ぶことができます。
-
Start with a template- Strands Agentsをベースにしたコードテンプレートを選択できます。また、事前に作成したAmazon S3バケットを指定することで、選択したテンプレートのコードを自動的にS3にアップロードして保存できます。
-
Upload to S3- zip化したソースコードをAmazon S3バケットにアップロードして、Amazon Bedrock AgentCore Runtimeにデプロイできます。デプロイ時には「Agent entry point」でAIエージェントのエントリーポイントとなるファイルを指定することで、AIエージェントを起動できます。また、AWSマネジメントコンソール上から、zip化したソースコードを直接アップロードすることができます。
-
Choose from an existing S3 bucket- 事前にzipファイルをアップロード済みのAmazon S3バケットを選択し、該当するS3 URIを指定することで、Amazon Bedrock AgentCore Runtimeにデプロイできます。デプロイ時には「Agent entry point」でAIエージェントのエントリーポイントとなるファイルを指定することで、AIエージェントを起動できます。
今回はUpload to S3を試してみます。
実装
今回作成するものはStrands Agentsを使って質問をAIエージェントが答えるシンプルなものになります。
Strands Agentsとは
Strands Agentsは、AWSが2025年5月に公開したオープンソースのAIエージェント構築SDKで、2025年7月にバージョン1.0がリリースされました。数行のPythonコードでAIエージェントを作成できるモデル駆動型のフレームワークです。
ベータ版のStrands Agentsについて執筆した以下のブログも参考にしてください。
準備
uvを使って実装を進めていきます。Pythonのバージョンは3.13になります。
1. デプロイメントパッケージを作成
任意のディレクトリで以下のコマンドを実行します。Amazon Bedrock AgentCore RuntimeはARM64アーキテクチャで動作するため、ライブラリ等の依存関係をARM64向けにビルドする必要があります。
uv pip install \
--python-platform aarch64-manylinux2014 \
--python-version 3.13 \
--target=deployment_pkg \
--only-binary=:all: \
bedrock-agentcore \
strands-agents
deployment_pkgが作られます。
2. Strands Agentsの実装 (main.py)
作成されたdeployment_pkgディレクトリ内でStrands Agentsが動作するmain.pyを実装します。
from bedrock_agentcore import BedrockAgentCoreApp
from strands import Agent
app = BedrockAgentCoreApp()
agent = Agent()
@app.entrypoint
def invoke(payload):
return {"result": agent(payload.get("prompt", "")).message}
if __name__ == "__main__":
app.run()
3. zip化する
main.pyが作成できたら、deployment_pkgディレクトリにある全てのフォルダー等まとてをzip化します。
zip -r deployment_pkg.zip .
zipファイルアップロード
- AWSマネジメントコンソールでAmazon Bedrock AgentCoreを開く
- ページの左サイドバーから
エージェントランタイムを選択する
-
ホストエージェントボタンをクリックする
- Agent Sourceのセクションから
Choose fileをクリックし、zip化したdeployment_pkgをアップロード
-
Agent entry pointセクションでmain.pyを入力する ※入力しないとエラーがでます。

- 今回はPython 3.13で作成したので
Python runtime versionのセクションでPython 3.13を選択する
-
新しいサービスロールを作成して使用を選択する
- ページ下部の
ホストエージェントボタンをクリックしてデプロイ
- デプロイが成功すると準備完了と表示される
実行例
今回はサンドボックス上でデプロイしたAIエージェントの動作確認を行います。
- 作成したエンドポイントを選択、
テストエンドポイントボタンをクリック
- 入力のセクションにユーザークエリを入力
{"prompt": "こんにちは"}
-
実行ボタンをクリック
- 出力のセクションに結果が表示される
最後に
今回はAmazon Bedrock AgentCore RuntimeにS3を介してAIエージェントをデプロイする方法を試してみました。 AWS Lambdaと同様にzipファイルとしてアップロードすることができるようになりました。今回の機能追加でAIエージェントの検証サイクルを回しやすくなったと感じます。
Discussion