AgentCore Gateway の使用を開始する
このクイックスタートガイドでは、 AgentCore CLI を使用してゲートウェイをセットアップし、エージェントに統合する方法について説明します。より包括的なガイドと例については、Amazon Bedrock AgentCore Gateway GitHub リポジトリ
注記
AgentCore CLI には、AgentCore Gateway リソースを管理するためのコマンドとインタラクティブ TUI ウィザードの両方が用意されています。 AWS SDK API の完全なリファレンスについては、AgentCore コントロールプレーンオペレーション
トピック
前提条件
開始する前に、以下があることを確認してください。
-
AWS 認証情報が設定されたアカウント。認証情報を設定するには、「 AWS CLI の開始方法」の手順に従って AWS コマンドラインインターフェイスをインストールして使用できます。
-
Node.js 18+ がインストールされている (AgentCore CLI の場合)。
-
Python 3.10 以降がインストールされている (エージェントスクリプト用)。
-
ロール、Lambda 関数を作成し、Amazon Bedrock AgentCore を使用するための IAM アクセス許可。
-
モデルアクセス – Amazon Bedrock コンソール (またはデモエージェントの別のモデル) で Anthropic の Claude Sonnet 3.7 を有効にする
ステップ 1: のセットアップとインストール
AgentCore CLI をグローバルにインストールします。
npm install -g @aws/agentcore
エージェントとゲートウェイを使用して新しい AgentCore プロジェクトを作成します。
例
ステップ 2: ゲートウェイを作成する
AgentCore CLI を使用して、プロジェクトにゲートウェイとターゲットを追加します。
例
代わりに JWT ベースの認可を使用するには、OAuth 検出 URL --authorizer-type CUSTOM_JWTで を指定します。
例
ステップ 3: セットアップを実行する
プロジェクトを次の場所にデプロイします AWS。
agentcore deploy
CLI は AWS CDK スタックを合成し、ゲートウェイ、ターゲット、エージェントを Amazon Bedrock AgentCore にデプロイします。これには約 2~3 分かかります。
ステップ 4: エージェントでゲートウェイを使用する
AgentCore CLI を使用してゲートウェイ URL を取得します。
agentcore status
という名前の新しいファイルを作成しrun_agent.py、次のコードを挿入します。最初に Python 依存関係をインストールします。
pip install strands-agents mcp
""" Agent script to test the Gateway Run this after setup: python run_agent.py """ from strands import Agent from strands.models import BedrockModel from strands.tools.mcp.mcp_client import MCPClient from mcp.client.streamable_http import streamablehttp_client import json import sys def create_streamable_http_transport(mcp_url: str): return streamablehttp_client(mcp_url) def get_full_tools_list(client): """Get all tools with pagination support""" more_tools = True tools = [] pagination_token = None while more_tools: tmp_tools = client.list_tools_sync(pagination_token=pagination_token) tools.extend(tmp_tools) if tmp_tools.pagination_token is None: more_tools = False else: more_tools = True pagination_token = tmp_tools.pagination_token return tools def run_agent(): # Get the gateway URL from agentcore status gateway_url = "<YOUR_GATEWAY_URL>" # Replace with URL from 'agentcore status' # Model configuration - change if needed model_id = "anthropic.claude-3-7-sonnet-20250219-v1:0" print("Starting AgentCore Gateway Test Agent") print(f"Gateway URL: {gateway_url}") print(f"Model: {model_id}") print("-" * 60) # Setup Bedrock model bedrockmodel = BedrockModel( model_id=model_id, streaming=True, ) # Setup MCP client (no auth token needed for NONE authorizer) mcp_client = MCPClient(lambda: create_streamable_http_transport(gateway_url)) with mcp_client: # List available tools tools = get_full_tools_list(mcp_client) print(f"\nAvailable tools: {[tool.tool_name for tool in tools]}") print("-" * 60) # Create agent agent = Agent(model=bedrockmodel, tools=tools) # Interactive loop print("\nInteractive Agent Ready!") print("Try asking: 'What's the weather in Seattle?'") print("Type 'exit', 'quit', or 'bye' to end.\n") while True: user_input = input("You: ") if user_input.lower() in ["exit", "quit", "bye"]: print("Goodbye!") break print("\nThinking...\n") response = agent(user_input) print(f"\nAgent: {response.message.get('content', response)}\n") if __name__ == "__main__": run_agent()
エージェントを実行する
エージェントを実行し、ツールを操作してゲートウェイをテストします。
python run_agent.py
そのとおりです。エージェントが開始され、次のような質問をすることができます。
-
「シアトルの天気は?」
-
「ニューヨークは何時ですか?」
構築したもの
この入門チュートリアルでは、次のリソースを作成しました。
-
MCP サーバー (ゲートウェイ) : のマネージドエンドポイント
https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp -
Lambda ツール: テストデータを返すモック関数 (天候: "72°F, Sunny"、時間: "2:30 PM")
-
AI エージェント: ツールを検出して使用できる Claude を活用したアシスタント
トラブルシューティング
次の表は、考えられる問題とその解決策を示しています。
| 問題 | ソリューション |
|---|---|
|
「「strands」という名前のモジュールはありません」 |
実行: |
|
「モデルが有効ではありません」 |
Bedrock コンソールで Claude Sonnet 3.7 を有効にする → モデルアクセス |
|
「AccessDeniedException」 |
bedrock-agentcore の IAM アクセス許可を確認する:* |
|
ゲートウェイが応答しない |
DNS 伝達の作成後 30~60 秒待ちます |
クイック検証
ターミナルで次のコマンドを実行して、ゲートウェイが動作していることを確認します。
# Check your Gateway is working curl -X POST YOUR_GATEWAY_URL \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # Watch live logs aws logs tail /aws/bedrock-agentcore/gateways/YOUR_GATEWAY_ID --follow
クリーンアップ
ゲートウェイとそのターゲットをプロジェクトから削除するには:
agentcore remove gateway --name TestGateway
すべてのリソースを削除して再デプロイするには:
agentcore remove all agentcore deploy
次の手順
-
カスタム Lambda ツール : ビジネスロジックを使用して Lambda 関数を作成する
-
独自の APIs の追加: 実際のサービスの OpenAPI 仕様を使用してゲートウェイを拡張する
-
本番セットアップ: VPC エンドポイント、カスタムドメイン、モニタリングを設定する