HTTP パススルーターゲット
HTTP パススルーターゲットを追加して、ゲートウェイ経由で任意の HTTP エンドポイントにトラフィックをルーティングできます。ゲートウェイは、プロトコル変換なしでターゲットエンドポイントにリクエストを転送し、安全なプロキシレイヤーとして機能します。これにより、パススルーターゲットは、ゲートウェイの一元的な認証、ポリシーの適用、オブザーバビリティを通じてアクセスするエージェント URLs、外部 APIs、または HTTP サービスのフロンティングに最適です。
ゲートウェイに HTTP パススルーターゲットを追加すると、次の場合に便利です。
-
統合されたアクセスコントロールを備えた単一のゲートウェイエンドポイントの背後にあるフロントエージェントサービス (A2A エージェント、外部 MCP サーバー、カスタム推論エンドポイントなど)。
-
ゲートウェイがインバウンド認証とアウトバウンド認証情報インジェクションを管理している間に、トラフィックを外部サービスにルーティングします。
-
ガードレールやアクセスコントロールなどのゲートウェイポリシーを、外部エンドポイント宛てのリクエストに適用します。
-
パスベースのルーティング (
/{targetName}/{path}) を使用して、単一のゲートウェイを介して複数の外部サービスに到達します。
ターゲット設定
HTTP パススルーターゲットを作成するときは、ターゲットエンドポイント URL と、ターゲットが実装するアプリケーションプロトコルを示すプロトコルタイプを指定します。ゲートウェイは、オブザーバビリティとポリシーの評価にプロトコルタイプを使用しますが、プロトコル変換は実行しません。
HTTP パススルーターゲットのターゲット設定では、次の構造を使用します。
{ "http": { "passthrough": { "endpoint": "https://partner-agent.example.com", "protocolType": "A2A" } } }
次の例は、カスタムプロトコルと明示的な API スキーマを持つパススルーターゲットを示しています。
{ "http": { "passthrough": { "endpoint": "https://my-service.example.com", "protocolType": "CUSTOM", "schema": { "source": { "s3": { "uri": "s3://DOC-EXAMPLE-BUCKET/service-schema.yaml" } } } } } }
-
endpoint (必須) – ターゲットサービスの HTTPS URL。ゲートウェイはこのエンドポイントにリクエストを転送します。
-
protocolType (必須) – ターゲットが実装するアプリケーションプロトコル。有効な値:
-
MCP– ターゲットは MCP サーバーです。これは、直接アクセスする (他の MCP ターゲットと集約しない) 単一の MCP サーバーにルーティングする場合に使用します。 -
A2A– ターゲットは Agent-to-Agent (A2A) プロトコルを実装します。 -
INFERENCE– ターゲットは推論エンドポイントです。 -
CUSTOM– ターゲットはカスタムプロトコルまたは独自のプロトコルを実装します。
-
-
スキーマ (オプション) – パススルーターゲットのリクエストとレスポンスの構造を記述する API スキーマ。ゲートウェイはこのスキーマを使用して、ガードレールなどのポリシーエンジン機能を有効にします。スキーマ形式は OpenAPI または Smithy として自動検出されます。
スキーマの要件は、プロトコルタイプによって異なります。
-
MCPおよびA2Aプロトコルタイプでは、デフォルトのスキーマが自動的に適用されます。デフォルトを上書きしない限り、スキーマを指定する必要はありません。 -
よく知られているプロバイダー (OpenAI、Anthropic、または Amazon Bedrock) を持つ
INFERENCEプロトコルタイプでは、エンドポイントドメインに基づいてデフォルトのスキーマが適用されます。 -
CUSTOMプロトコルタイプでは、ガードレールを使用するためのスキーマを指定する必要があります。schemaオブジェクトには、スキーマコンテンツの場所sourceを指定する が含まれています。 -
s3 – スキーマファイルを指す S3 URI (例:
s3://DOC-EXAMPLE-BUCKET/service-schema.yaml)。 -
inlinePayload – 文字列として直接提供されるスキーマコンテンツ。
-
HTTP パススルーターゲットの作成
次の例では、A2A エージェント、外部 MCP サーバー、IAM 認証の内部サービス、API キーで認証された外部 API など、さまざまなタイプのエンドポイントにルーティングするパススルーターゲットを作成します。
例
HTTP パススルーターゲットの呼び出し
ゲートウェイを介して HTTP パススルーターゲットを呼び出すには、パスベースのルーティングを使用してターゲットにリクエストを送信します。URL 形式は次のとおりです。
https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/{targetName}/{path}
ゲートウェイは、ターゲット{endpoint}/{path}の にリクエストを転送します。をゲートウェイ ID {gatewayId}に、 {region} を AWS リージョンに、 {targetName} をターゲット名に、 を転送先のパス{path}に置き換えます。
次の の例では、ゲートウェイを介してパートナーエージェントに A2A メッセージを送信します。
curl -X POST https://gateway-id.gateway.bedrock-agentcore.us-west-2.amazonaws.com/partner-agent/invocations \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{ "jsonrpc": "2.0", "id": "req-001", "method": "message/send", "params": { "message": { "role": "user", "parts": [{"kind": "text", "text": "What is the stock price of AMZN?"}], "messageId": "msg-001" } } }'
次の例では、ゲートウェイを介して MCP サーバーを呼び出します。
curl -X POST https://gateway-id.gateway.bedrock-agentcore.us-west-2.amazonaws.com/slack-mcp/mcp \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
アウトバウンド認可
HTTP パススルーターゲットは、次のアウトバウンド認可タイプをサポートしています。
-
IAM (SigV4) (
GATEWAY_IAM_ROLE) – ゲートウェイはゲートウェイサービスロールを引き受けて、ターゲットへのリクエストに署名します。 -
OAuth (
OAUTH) – ゲートウェイは、Amazon Bedrock AgentCore ID サービスを介してターゲットで設定された認証情報プロバイダーから OAuth トークンを取得します。 -
発信者 IAM 認証情報 (
CALLER_IAM_CREDENTIALS) – ゲートウェイは、発信者の IAM ID とアクセス許可を使用して、SigV4 を使用してターゲットへのリクエストに署名します。AWS_IAMまたはAUTHENTICATE_ONLYオーソライザータイプのゲートウェイでのみ使用できます。 -
トークンパススルー (
JWT_PASSTHROUGH) – ゲートウェイはインバウンドトークンを検証し、変更せずにターゲットに渡します。 -
API キー (
API_KEY) – ゲートウェイは、トークンボールトで設定された認証情報プロバイダーから API キーを取得し、指定されたリクエストヘッダーとしてアウトバウンドリクエストに挿入します。