View a markdown version of this page

AgentCore Gateway の使用を開始する - Amazon Bedrock AgentCore

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 プロジェクトを作成します。

AgentCore CLI
  1. agentcore create --name MyGatewayAgent --defaults

    --defaults フラグは、デフォルトの Python Strands エージェントを使用してプロジェクトを作成します。または、 --defaultsと を省略--nameして、インタラクティブウィザードを使用して任意のフレームワークを選択します。

Interactive
  1. フラグagentcore createなしで を実行して、インタラクティブウィザードを使用することもできます。このウィザードでは、プロジェクト名、エージェントフレームワーク、モデルプロバイダー、その他のオプションを選択する手順を説明します。

ステップ 2: ゲートウェイを作成する

AgentCore CLI を使用して、プロジェクトにゲートウェイとターゲットを追加します。

AgentCore CLI
  1. # Add a gateway with no inbound auth (simplest for getting started) agentcore add gateway --name TestGateway --authorizer-type NONE --runtimes MyGatewayAgent # Add a Lambda function target agentcore add gateway-target --name TestLambdaTarget --type lambda-function-arn \ --lambda-arn <YOUR_LAMBDA_ARN> \ --tool-schema-file tools.json \ --gateway TestGateway
Interactive
  1. agentcore を実行して TUI を開き、追加を選択してゲートウェイ を選択します。

  2. ゲートウェイ名を入力します。

    ゲートウェイウィザード: 名前を入力する
  3. オーソライザータイプを選択します。このクイックスタートでは、NONE を選択します。

    ゲートウェイウィザード: NONE オーソライザーを選択する
  4. 詳細オプションを設定するか、デフォルトを受け入れます。

    ゲートウェイウィザード: 詳細設定
  5. 設定を確認し、Enter キーを押して以下を確認します。

    ゲートウェイウィザード: 設定の確認

    次に、もう一度追加を選択し、ゲートウェイターゲットを選択して Lambda 関数ターゲットを追加します。

  6. ターゲット名を入力します。

  7. ターゲットタイプとして Lambda 関数を選択します。

    ゲートウェイターゲットウィザード: Lambda 関数を選択する
  8. Lambda ARN とツールスキーマファイルパスを入力し、確認します。

代わりに JWT ベースの認可を使用するには、OAuth 検出 URL --authorizer-type CUSTOM_JWTで を指定します。

AgentCore CLI
  1. agentcore add gateway --name TestGateway \ --authorizer-type CUSTOM_JWT \ --discovery-url https://cognito-idp.us-east-1.amazonaws.com/<POOL_ID>/.well-known/openid-configuration \ --allowed-audience <CLIENT_ID> \ --runtimes MyGatewayAgent
Interactive
  1. agentcore を実行して TUI を開き、追加 を選択し、ゲートウェイ を選択します。オーソライザータイプの入力を求められたら、カスタム JWT を選択します。

  2. ゲートウェイ名を入力します。

    ゲートウェイウィザード: 名前を入力する
  3. オーソライザータイプとしてカスタム JWT を選択します。

    ゲートウェイウィザード: カスタム JWT オーソライザーを選択する
  4. プロンプトが表示されたら、OAuth 検出 URL と許可された対象者を入力します。

  5. 詳細オプションを設定するか、デフォルトを受け入れます。

    ゲートウェイウィザード: 詳細設定
  6. 設定を確認し、Enter キーを押して以下を確認します。

    ゲートウェイウィザード: 設定の確認

ステップ 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」という名前のモジュールはありません」

実行: pip install strands-agents

「モデルが有効ではありません」

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 エンドポイント、カスタムドメイン、モニタリングを設定する