1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock AgentCore Runtime で zip ファイルを直接アップロードしてデプロイに対応(Direct Code Deployment))

Posted at

内容

従来はコンテナイメージを ECR に push して Amazon Bedrock AgentCore Runtime が pull してデプロイしたいたものを、zip ファイルを直接アップロードしてデプロイできるようになったとのこと。

ただし、bedrock-agentcore-starter-toolkit を利用すれば簡単にコンテナのデプロイはできるので使い道としては「まず直接アップロードで試して、うまくいったらコンテナ化して本番環境へといったところでしょうか。

bedrock-agentcore-starter-toolkit を使ってのデプロイは過去に以下の記事で書いていますのでよければ参考までに。

実際に動かしてみてメリットを見つけたてみたいと思います。

動かしてみる

S3 configuration は、以下の 3 つから選択可能なようです。

  • Start with a template: 事前構築済みのサンプルコード
  • Upload to S3: エージェントの zip ファイルをローカルから S3 バケットに直接アップロード
  • Choose from an existing S3 bucket
    : S3 バケットに既に保存されているエージェントの zip ファイルを選択

Select a template は、以下の 3 つから選択可能なようです。

  • Strands Agent
  • Otel Agent
  • Streaming Agent

今回は、
「Start with a template」
「Strands Agent」
を選択し、作成し、後はデフォルトでデプロイします。
※ちなみに、AWS コンソール上だけの話かもしれませんが、Source Type で 「S3 Source」が左にきているので、個人的に S3 が推奨な気がしました。
スクリーンショット 2025-11-07 18.02.28.png

コードは至ってシンプルなものです。
スクリーンショット 2025-11-07 18.10.19.png

クライアントからエージェントを呼び出してみます。

client.py
import boto3
import json

client = boto3.client('bedrock-agentcore', region_name='us-west-2')
payload = json.dumps({"prompt": "こんにちは、世界!"}).encode('utf-8')

response = client.invoke_agent_runtime(
    agentRuntimeArn='arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/hosted_agent_3o9tx-ZLxifwC19N',
    runtimeSessionId='dfmeoagmreaklgmrkleafremoigrmtesogmtrskhmtkrlshmt',  # Must be 33+ chars
    payload=payload,
    qualifier="DEFAULT" # Optional
)
response_body = response['response'].read()
response_data = json.loads(response_body)
print("Agent Response:", response_data)

無事呼び出しできているみたいですね。
スクリーンショット 2025-11-07 18.24.52.png

次に編集したコードをアップロードして呼び出してみたいと思います。

今回の template は S3 にあるので S3 からダウンロードして開き少し修正後、zip 化し再度 S3 にアップロードしておきます。
スクリーンショット 2025-11-07 18.32.02.png

Amazon Bedrock AgentCore Runtime の画面へいき「ホスティングをアップデート」をクリック。
スクリーンショット 2025-11-07 18.42.38.png

「Choose from an existing S3 bucket」が選択されているので、そのままデプロイします。
スクリーンショット 2025-11-07 18.44.34.png

再度先程と同じ、client.py でエージェントを呼び出してみます。
スクリーンショット 2025-11-07 19.06.57.png

結論

動かしていたら AWS ブログが出ていた。

Direct Code Deployment でも、starter toolkit によるデプロイは可能なようですね。

ざっくりと読んでいくと、Python で標準的な依存関係のエージェントなら、Direct Code Deployment(ZIP + S3)が推奨で、開発者の生産性向上とデプロイ時間の大幅短縮を実現し、複雑な要件や大規模パッケージの場合のみ、Container-based 方式を選択する形といったところに見受けられます。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?