

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の Amazon Bedrock AgentCore ランタイム AWS Marketplace
<a name="bedrock-agentcore-runtime"></a>

このドキュメントでは、Amazon Bedrock AgentCore ランタイムにデプロイできる AI エージェントまたはツールを一覧表示したい AWS Marketplace 販売者向けの情報を提供します。ここでは、 AWS Marketplaceで Bedrock AgentCore Runtime がサポートするコンテナを準備するための技術要件、設定ガイドライン、ベストプラクティスの概要を説明します。

**Topics**
+ [概要:](#agentcore-runtime-overview)
+ [Bedrock AgentCore コンテナの技術要件](#agentcore-container-requirements)
+ [Bedrock AgentCore Runtime コンテナのテスト](#testing-agentcore-container)
+ [コンテナ設定のベストプラクティス](#container-best-practices)
+ [AWS Marketplace 送信の要件](#marketplace-submission-requirements)
+ [その他のリソース](#agentcore-additional-resources)
+ [での AgentCore ランタイムのサポート AWS Marketplace](#agentcore-support)

## 概要:
<a name="agentcore-runtime-overview"></a>

Amazon Bedrock AgentCore Runtime は、AI エージェントまたはツールをデプロイして実行するための、安全でサーバーレスな専用のホスティング環境を提供します。Bedrock AgentCore ランタイムコンテナを に一覧表示するときは AWS Marketplace、Bedrock AgentCore 環境内で適切に機能するための特定の要件を満たしていることを確認する必要があります。

**注記**  
詳細については、「[Getting started with Amazon Bedrock AgentCore Runtime](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-getting-started.html)」を参照してください。

## Bedrock AgentCore コンテナの技術要件
<a name="agentcore-container-requirements"></a>

Amazon Bedrock AgentCore ランタイムには、AI エージェント、MCP サーバー、A2A サーバーを一覧表示するためのさまざまな技術要件があります。
+ **エージェントの要件**
+ **MCP サーバーの要件**
+ **A2A サーバーの要件**

### エージェントの要件
<a name="agent-requirements"></a>

コンテナ化されたエージェントは、次のコア要件を満たしている必要があります。
+ **/ping** エンドポイント: ヘルスチェック用の GET エンドポイント
+ **/invocations** エンドポイント: エージェントインタラクションの POST エンドポイント
+ **Docker コンテナ**: ARM64 コンテナ化されたデプロイパッケージ
+ **ポート**: コンテナは HTTP ベースのエージェント通信用のポート `8080` を公開する必要があります

#### `/ping` - GET
<a name="ping-endpoint"></a>

このエンドポイントは、エージェントが動作しており、リクエストを処理する準備ができていることを確認します。

**レスポンスの例:**

```
{
  "status": "Healthy"
}
```

#### `/invocations` - POST
<a name="invocations-endpoint"></a>

これは、顧客が JSON 形式のペイロードを使用して InvokeAgentRuntime アクションでエージェントを呼び出すときの、主要なエージェントインタラクションエンドポイントです。InvokeAgentRuntime はストリーミングレスポンスをサポートしているため、お客様は利用可能になったときに部分的なレスポンスを受け取ることができます。

**リクエストの例:**

```
Content-Type: application/json
{
  "prompt": "What's the weather today?"
}
```

**レスポンスの例:**
+ JSON レスポンス (非ストリーミング):

  ```
  Content-Type: application/json
  {
    "response": "Your agent's response here",
    "status": "success"
  }
  ```
+ SSE レスポンス (ストリーミング)

  ```
  Content-Type: text/event-stream
  data: {"event": "partial response 1"}
  data: {"event": "partial response 2"}
  data: {"event": "final response"}
  ```

### MCP サーバーの要件
<a name="mcp-server-requirements"></a>

Amazon Bedrock AgentCore Runtime を使用すると、モデルコンテキストプロトコル (MCP) サーバーをデプロイして実行できます。MCP プロトコルを使用して Amazon Bedrock AgentCore Runtime を設定すると、サービスはパス `0.0.0.0:8000/mcp` で MCP サーバーコンテナを想定します。これは、最も公式な MCP サーバー SDK がサポートするデフォルトのパスです。

Amazon Bedrock AgentCore Runtime はデフォルトでセッション分離を提供するため、ステートレスストリーミング可能 HTTP サーバーが必要です。ランタイムは、リクエストを含まないリクエストの `Mcp-Session-Id` ヘッダーを自動的に追加します。これにより、MCP クライアントは同じ Amazon Bedrock AgentCore Runtime セッションへの接続継続性を維持できます。

`InvokeAgentRuntime` API はペイロードデータを直接渡すため、MCP などのプロトコルの RPC メッセージを簡単にプロキシできます。

要件:
+ **トランスポート** - ステートレス streamable-http のみを使用する必要があります
+ **セッション管理** - プラットフォームがセッション分離の `Mcp-Session-Id` ヘッダーを自動的に追加します
+ **ホスト** - コンテナは `0.0.0.0` でリッスンする必要があります
+ **ポート** - コンテナは MCP サーバー通信用のポート `8000` を公開する必要があります
+ **パス** - MCP RPC メッセージを受信するには、`/mcp` を POST エンドポイントとして公開する必要があります。`InvokeAgentRuntime` API は MCP サーバーのこのパスにリクエストを渡します。
+ **プロトコル** - MCP サーバーは、次のプロトコルメッセージを含めて、MCP プロトコルをサポートする必要があります。
  + `tools/list`
  + `tools/call` (FastMCP などの一般的なフレームワークでサポート)

MCP サーバーの要件の詳細については、「[AgentCore Runtime で MCP サーバーをデプロイする](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html)」を参照してください。

#### `/mcp` - POST
<a name="mcp-endpoint"></a>

これは、顧客が InvokeAgentRuntime を使用して MCP サーバーを呼び出すときの、プライマリエージェントインタラクションエンドポイントです。

**一覧表示リクエストの例:**

```
Content-Type: application/json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
}
```

**一覧表示レスポンスの例:**

JSON レスポンス (非ストリーミング):

```
Content-Type: application/json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "title": "Weather Information Provider",
        "description": "Get current weather information for a location",
        "inputSchema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "City name or zip code"
            }
          },
          "required": ["location"]
        }
      }
    ],
    "nextCursor": "next-page-cursor"
  }
}
```

**ツール呼び出しリクエストの例:**

```
Content-Type: application/json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {
      "location": "New York"
    }
  }
}
```

**ツール呼び出しレスポンスの例:**

JSON レスポンス (非ストリーミング):

```
Content-Type: application/json
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Current weather in New York:\nTemperature: 72°F\nConditions: Partly cloudy"
      }
    ],
    "isError": false
  }
}
```

### A2A サーバーの要件
<a name="a2a-server-requirements"></a>

Amazon Bedrock AgentCore Runtime では、AgentCore Runtime で Agent-to-Agent (A2A) AgentCore サーバーをデプロイして実行できます。Amazon Bedrock AgentCore の A2A プロトコルサポートにより、透過的なプロキシレイヤーとして機能し、A2A サーバーとのシームレスな統合が可能になります。A2A 用に設定されている場合、Amazon Bedrock AgentCore は、デフォルトの A2A サーバー設定と一致するルートパス (`0.0.0.0:9000/`) のポート`9000`でコンテナがステートレスでストリーミング可能な HTTP サーバーを実行することを期待します。 A2A 

このサービスは、プロトコルの透明性を維持しながらエンタープライズグレードのセッション分離を提供します。InvokeAgentRuntime API からの JSON-RPC ペイロードは、変更なしで A2A コンテナに直接渡されます。このアーキテクチャは、 のエージェントカードによる組み込みエージェント検出`/.well-known/agent-card.json`や JSON-RPC 通信などの標準の A2A プロトコル機能を保持し、エンタープライズ認証 (SigV4/OAuth 2.0) とスケーラビリティを追加します。

他のプロトコルとの主な違いは、ポート (HTTP の場合は 9000 対 8080)、マウントパス (`/` 対 `/invocations`)、標準化されたエージェント検出メカニズムです。Amazon Bedrock AgentCore は、本番環境の A2A エージェントに最適なデプロイプラットフォームです。

要件:
+ **ポート** - A2A サーバーはポート 9000 (HTTP の場合は 8080、MCP の場合は 8000) で実行されます。
+ **ホスト** - コンテナは `0.0.0.0` でリッスンする必要があります
+ **[Path]** (パス)
  + A2A サーバーは にマウントされます `/` (HTTP `/invocations`の場合は 、MCP `/mcp`の場合は )
  + GET `/ping`を使用した でのヘルスチェック
+ **エージェントカード** - A2A は、 のエージェントカードを通じて組み込みエージェント検出を提供します。 `/.well-known/agent-card.json`
+ **プロトコル** - agent-to-agent通信に JSON-RPC を使用します
+ **認証** - SigV4 認証スキームと OAuth 2.0 認証スキームの両方をサポート

A2A サーバーの要件の詳細については、[AgentCore ランタイムで A2A サーバーをデプロイする](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-a2a.html)」を参照してください。

#### `/` - POST
<a name="a2a-endpoint"></a>

これは、顧客が InvokeAgentRuntime を使用して A2A サーバーを呼び出すときの、主要なエージェントインタラクションエンドポイントです。

**エージェント呼び出しリクエストの例:**

```
Content-Type: application/json
{  
  "jsonrpc": "2.0",  
  "id": "req-001",  
  "method": "message/send",  
  "params": {  
    "message": {  
      "role": "user",  
      "parts": [  
        {  
          "kind": "text",  
          "text": "what is 101 * 11?"  
        }  
      ],  
      "messageId": "12345678-1234-1234-1234-123456789012"  
    }  
  } 
}
```

**エージェント呼び出しレスポンスの例:**

JSON レスポンス (非ストリーミング):

```
Content-Type: application/json
{
  "jsonrpc": "2.0",
  "id": "req-001",
  "result": {
    "artifacts": [
      {
        "parts": [
          {
            "kind": "text",
            "text": "101 * 11 is 1111"
          }
        ]
      }
    ]
  }
}
```

**エージェントカードの取得例:**

```
curl https://bedrock-agentcore.<REGION>.amazonaws.com/runtimes/{escaped_agent_arn}/invocations/.well-known/agent-card.json
```

#### `/ping` - GET
<a name="a2a-endpoint-ping"></a>

これは、ヘルスチェックを実行するためのエンドポイントです。

## Bedrock AgentCore Runtime コンテナのテスト
<a name="testing-agentcore-container"></a>

コンテナを に送信する前に AWS Marketplace、徹底的にテストします。

### ローカルエージェントのテスト
<a name="local-agent-testing"></a>

Docker を使用してエージェントをローカルでテストする

```
docker run -p 8080:8080 <your-container-image>

# Test ping endpoint
curl http://localhost:8080/ping

# Test agent invocation endpoint
curl -X POST http://localhost:8080/invocations \
     -H "Content-Type: application/json" \
     -d '{"prompt": "Hello world!"}'
```

### ローカル MCP サーバーテスト
<a name="local-mcp-testing"></a>

Docker を使用して MCP サーバーをローカルでテストする

```
docker run -p 8000:8000 <your-container-image>

# Test ping endpoint
curl http://localhost:8000/ping

# Test MCP endpoint with tools/list
curl -X POST http://localhost:8000/mcp \
     -H "Content-Type: application/json" \
     -d '{"jsonrpc": "2.0","id": 1,"method": "tools/list"}'

# Test MCP endpoint with tools/call
curl -X POST http://localhost:8000/mcp \
     -H "Content-Type: application/json" \
     -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "get_weather", "arguments": {"location": "New York"}}}'
```

### ローカル A2A サーバーテスト
<a name="local-a2a-testing"></a>

Docker を使用して A2A サーバーをローカルでテストする

```
docker run -p 9000:9000 <your-container-image>

# Test ping endpoint
curl http://localhost:9000/ping

# Retrieve agent card
curl http://localhost:9000/.well-known/agent-card.json

# Test A2A endpoint with message/send
curl -X POST http://localhost:9000/ \
     -H "Content-Type: application/json" \
     -d '{ "jsonrpc": "2.0", "id": "req-001", "method": "message/send", "params": { "message": {  "role": "user",  "parts": [  {  "kind": "text",  "text": "what is 101 * 11?"}],"messageId": "12345678-1234-1234-1234-123456789012" }}}'
```

### Bedrock AgentCore Runtime でのテスト
<a name="testing-on-agentcore"></a>

コンテナをローカルでテストした後、Amazon Elastic Container Registry (Amazon ECR) にアップロードし、Amazon Bedrock AgentCore Runtime にデプロイします。Amazon Bedrock AgentCore ランタイムコンソールまたは AWS Command Line Interface () を使用してデプロイできますAWS CLI。

## コンテナ設定のベストプラクティス
<a name="container-best-practices"></a>

### セキュリティに関する考慮事項
<a name="security-considerations"></a>
+ **分離** - 呼び出し間で機密データを保存しない
+ **認証** - すべての受信リクエストを検証する
+ **ログ記録** - 適切な情報を記録しますが、機密データを含めないでください
+ **依存関係** - セキュリティの脆弱性を防ぐために、すべての依存関係を最新の状態に保つ

### パフォーマンスの最適化
<a name="performance-optimization"></a>
+ **コールドスタート** - 高速コールドスタート用にコンテナを最適化する
+ **メモリ使用量** - メモリフットプリントを最小限に抑えてパフォーマンスを向上させる
+ **同時実行** - 同時リクエストを効率的に処理するようにエージェントを設計する
+ **タイムアウト** - 適切なタイムアウト処理を実装する

### エラー処理
<a name="error-handling"></a>
+ **グレースフルデグレード** - サービスが利用できない場合のフォールバックメカニズムを実装する
+ **構造化エラー** - 適切な HTTP ステータスコードを使用して構造化されたエラーレスポンスを返す
+ **再試行ロジック** - 一時的な障害に対して適切な再試行ロジックを実装する

## AWS Marketplace 送信の要件
<a name="marketplace-submission-requirements"></a>

AgentCore ランタイムコンテナを に送信するときは AWS Marketplace、以下を含めます。
+ **コンテナイメージ** – Amazon ECR にプッシュされたコンテナイメージ
+ **ドキュメント** – エージェントまたは MCP サーバーの使用方法に関する包括的なドキュメント
+ **使用例** – エージェントまたは MCP サーバーを呼び出す方法の明確な例
+ **サポート情報** – サポートの連絡先情報
+ **料金情報** – エージェントまたは MCP サーバーの明確な料金構造

## その他のリソース
<a name="agentcore-additional-resources"></a>

詳細については次を参照してください:
+ [Amazon Bedrock AgentCore とは](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html)
+ [とは AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/what-is-marketplace.html)
+ [コンテナ製品の開始方法](container-product-getting-started.md)

## での AgentCore ランタイムのサポート AWS Marketplace
<a name="agentcore-support"></a>

AgentCore Runtime コンテナの への一覧表示に関する質問については AWS Marketplace、[「サポートの取得 AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-support.html)」を参照してください。

AgentCore ランタイムに関する技術的な質問については、[AWS サポート 「」および「カスタマーサービス](https://console.aws.amazon.com/support/home#/case/create?issueType=technical)」を参照してください。