AWS Bedrock AgentCore ワークショップ「基本から高度なエージェント開発まで」をやってみた
aa
はじめに
AWS Bedrock AgentCore を学ぶため、公式ワークショップ「基本から高度なエージェント開発まで」をやってみました。ワークショップを始める前に知っておきたかったことと、演習中に発生したエラーと対処方法を中心にまとめます。
ワークショップを実施する前に
ワークショップで紹介されている範囲の AgentCore の機能をひととおり実行するだけなら、準備から実行の待ち時間を含めても 1 時間半あれば大丈夫です。サンプルコードは問題なく動作するため、コピペだけで完走できます。
ただ、コードを読まずに進めても AgentCore の一部の機能をそれとなく使ってみたで終わります。深く学びたい場合はもう 1、2 時間を取ってコードを読みながら進めることを推奨します。
一気にやりきることを推奨
このワークショップはブラウザ上の Web エディターで演習します。実行環境は EC2 インスタンス上にあり、CloudFront 経由でアクセスする構成です。

修正は手間なのことと、2 時間前後で終わるワークショップなこともあり、そこに時間を使うのは本末転倒なので一度にやりきることを推奨します。たぶんその方が集中できて良いです(経験談)
実行待ちの間のお供に
AI エージェントの実行待ち時間がちょいちょい発生します。待ち時間に余裕があれば以下の記事を読んで AgentCore の全体像を掴んでおくのが良かったです。
費用感
ワークショップ実施にかかった費用は以下の通りです。
Claude Sonnet 4 の利用費
Claude Sonnet 4 の利用費が想定より高く約 $20 でした。思い当たる節としては勉強のため同じスクリプトを複数回実行して試行錯誤していたためです。ワークショップの内容通り 1 回ずつ実行すればここまでの費用は発生しません。

言うほど試行錯誤してたわけではないので、ずいぶんとかかったなぁという感じではあります。
EC2 インスタンスの費用
Web エディター用の EC2 は 20 時間起動しましたが $1 未満でした。安価なインスタンスタイプなので安心です。

AgentCore の費用
AgentCore も $1 未満でした。その裏側で呼び出す LLM(今回は Sonnet 4)のコストの方が圧倒的に高いです。

ワークショップの概要
6 つの Lab で構成されており、このワークショップで学べる AgentCore の機能は Lab のタイトルの通りです。私は「名前は聞いたことあるけど触ったことないからイマイチわからんな」という状態からはじめました。
- Lab 1: Code Interpreter - 計算するエージェント
- Lab 2: AgentCore Runtime - クラウドへのデプロイ
- Lab 3: Identity - AI エージェントのための認証認可
- Lab 4: Gateway - 外部サービスを MCP に変換し接続する
- Lab 5: Observability - モニタリングとデバッグ
- Lab 6: Memory - AgentCore Memory を使用したコスト見積もりエージェント
演習環境は Visual Studio Code Server を利用した Web エディターを使って演習するワークショップです。ローカル環境を汚さなくて済みます。

各 Lab の実施内容とエラー対処
ハマったところを中心に書き出しておきました。
Lab 1: Code Interpreter - 計算するエージェント
Code Interpreter を使用して、ローカル環境内で独立した環境を作成し AI エージェントを実行します。
リージョン未指定エラー
Lab 1 の実行時、リージョンが指定されていないためエラーが発生しました。こちらについてはワークショップの「よくある問題と解決方法」にも記載されています。
以下のコマンドでリージョンを us-west-2 に設定してください。
aws configure set region us-west-2
私は都合 2 回、ワークショップ環境をデプロイしているのですが 2 回とも再現しています。
Lab 2: AgentCore Runtime - クラウドへのデプロイ
Lab1 はローカル環境での実行でしたが、今度は AWS 上にデプロイして実行する方法を学習します。この Lab では 3 つのエラーが発生しました。
S3 バケットライフサイクル設定のアクセス拒否
IAM ロールに S3 ライフサイクル設定の権限が不足していました。IAM コンソールで該当ロールに s3:PutLifecycleConfiguration 権限を追加してください。

$ uv run agentcore launch
❌ Launch failed: An error occurred (AccessDenied) when
calling the PutBucketLifecycleConfiguration operation: User:
arn:aws:sts::123456789012:assumed-role/BedrockAgentCoreCodeEdi
to-CodeEditorInstanceBootstr-7aytP7IWDlSi/i-0570ff6dfd712c510
is not authorized to perform: s3:PutLifecycleConfiguration on
resource:
"arn:aws:s3:::bedrock-agentcore-codebuild-sources-123456789012
-us-west-2" because no identity-based policy allows the
s3:PutLifecycleConfiguration action
CodeBuild プロジェクト作成のアクセス拒否
エラー1 を解決後、IAM ロールに CodeBuild プロジェクト作成の権限も不足していました。IAM コンソールで該当ロールに AWS マネージドポリシー AWSCodeBuildAdminAccess を追加しました。

私はこの調子で修正が続くのかと思い対応がめんどくさくなったのですが、最小権限の原則に従う場合は、codebuild:CreateProject の必要な権限のみを個別に追加することを推奨します。
❌ Launch failed: An error occurred (AccessDeniedException)
when calling the CreateProject operation: User:
arn:aws:sts::123456789012:assumed-role/BedrockAgentCoreCodeEdi
to-CodeEditorInstanceBootstr-7aytP7IWDlSi/i-0570ff6dfd712c510
is not authorized to perform: codebuild:CreateProject on
resource:
arn:aws:codebuild:us-west-2:123456789012:project/bedrock-agent
core-cost_estimator_agent-builder because no identity-based
policy allows the codebuild:CreateProject action
トークン上限到達エラー
エージェントの処理中にトークン上限へ到達しました。コマンドを再実行すれば解決しました。
$ uv run agentcore invoke '{"prompt": "小規模なEC2インスタンスでSSH接続用の環境を準備したい。コストはいくらですか?"}'
strands.types.exceptions.MaxTokensReachedException: Agent has reached an unrecoverable state
due to max_tokens limit. For more information see:
https://strandsagents.com/latest/user-guide/concepts/agents/agent-loop/#maxtokensreachedexception
Lab 3: Identity - AI エージェントのための認証認可
AgentCore identity を使い認証・認可機能を追加します。この Lab ではエラーは発生しませんでした。
Lab 4: Gateway - 外部サービスを MCP に変換し接続する
AgentCore Gateway を使い外部サービスを MCP (Model Context Protocol) に経由でアクセスします。最終的に SES からメールを送信して、メールを受信します。
テストメールが迷惑メールフォルダーに届く場合があります。受信トレイに届かない場合は、迷惑メールフォルダーを確認してください。私はまた何かのエラーかと切り分けしていたら、迷惑メールに振り分けられていたオチでした。
Lab 5: Observability - モニタリングとデバッグ
AgentCore のモニタリングとデバッグ方法を学習します。CloudWatch でエージェントのログを確認できます。この Lab ではエラーは発生しませんでした。
セッションごとのトークン数などなど確認できて便利でした。私の場合は Sonnet 4 の利用費高くなったわけですが、ここから確認するとトークン数消費したセッションを確認できます。ずいぶんトークン数消費しているセッションがあることがわかりますね。

Lab 6: Memory - AgentCore Memory を使用したコスト見積もりエージェント
AgentCore の Memory 機能を使用します。個人的に興味のあった機能けど触ったことなかったので良い機会でした。この Lab ではエラーは発生しませんでした。
まとめ
AWS Bedrock AgentCore ワークショップを始める前に知っておきたかったことと、発生したエラーと対処方法を紹介しました。
とくに注意すべきポイントは以下の通りです。
- Web エディター用の EC2 の停止・開始は避け、一度にやりきる
- Lab 1 ではリージョン未指定エラーが発生する
- Lab 2 では IAM 権限エラーが複数発生した
s3:PutLifecycleConfiguration権限を追加AWSCodeBuildAdminAccessマネージドポリシーを追加
費用は Claude Sonnet 4 が約 $20 で、EC2 と AgentCore は $1 未満でした。
おわりに
コードの解説も書いているのですが、ちゃんとコードを読みながら進めないといけないなと思ったワークショップでした。全機能は網羅できないものの主要な機能は触ることができるのでキャッチアップしたい人は休日など時間取れるタイミングでやってみると良いと思います。
最後に AI エージェントの実行待ち時間に読んでいた記事を紹介します。最近は pip ではなく uv 使うことが多くなりました。こちらのワークショップも uv を使っているのですが、なんで uv がここまで普及したのか気になって調べて、そうだったんだとなった記事です。









