View a markdown version of this page

MCP サーバーの Docker イメージを構築するステップ - AWS での生成 AI アプリケーションビルダー

MCP サーバーの Docker イメージを構築するステップ

AWS での生成 AI アプリケーションビルダーで MCP (モデルコンテキストプロトコル) サーバーを使用するには、最初のステップとしてプライベート Amazon ECR リポジトリに構築され保存された Docker イメージが必要です。

注記

現時点では、Amazon Bedrock AgentCore Runtime にデプロイされた既存の MCP サーバーを GAAB にエクスポートすることはできません。GAAB で作成されたエージェントに MCP サーバーをアタッチするには、そのエージェントを GAAB で作成する必要があります。

ステップ 1: MCP サーバーを作成する

まず、MCP サーバーの実装を準備する必要があります。MCP サーバーを作成する詳細な手順については、「Amazon Bedrock AgentCore デベロッパーガイド - MCP サーバーの作成」を参照してください。

次のようなプロジェクト構造をお勧めします。

.
├── __init__.py
├── extras/
│   ├── extra_dependencies.py
│   ├── Dockerfile
├── requirements.txt
└── server.py <-- Server Entry point

Dockerfile の構造については、次の例のような形式を使用することをお勧めします。

FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim WORKDIR /app # All environment variables in one layer ENV UV_SYSTEM_PYTHON=1 \ UV_COMPILE_BYTECODE=1 \ UV_NO_PROGRESS=1 \ PYTHONUNBUFFERED=1 \ DOCKER_CONTAINER=1 \ AWS_REGION=us-east-1 \ AWS_DEFAULT_REGION=us-east-1 COPY requirements.txt requirements.txt # Install from requirements file RUN uv pip install -r requirements.txt RUN uv pip install aws-opentelemetry-distro>=0.10.1 # Signal that this is running in Docker for host binding logic ENV DOCKER_CONTAINER=1 # Create non-root user RUN useradd -m -u 1000 bedrock_agentcore USER bedrock_agentcore EXPOSE 9000 EXPOSE 8000 EXPOSE 8080 # Copy entire project (respecting .dockerignore) COPY . . # Use the full module path CMD ["opentelemetry-instrument", "python", "-m", "server"]

ステップ 2: MCP サーバーをローカルでテストする

AWS にデプロイする前に、ローカルで MCP サーバーをテストして、期待どおりに動作することを確認することが重要です。ローカルテストの詳細については、「Amazon Bedrock AgentCore デベロッパーガイド - MCP サーバーをローカルでテストする」を参照してください。

ステップ 3: Amazon ECR にデプロイする

MCP サーバーを作成してローカルでテストしたら、以下の手順に従って Amazon ECR にデプロイします。

  1. 最新バージョンの AWS CLI と Docker がインストールされていることを確認してください。詳細については、「Amazon ECR を使い始める」を参照してください。

  2. 認証トークンを取得し、Docker クライアントをレジストリに認証します。AWS CLI を使用する:

    aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
  3. 以下のコマンドを使用して、Docker イメージを構築します。Docker ファイルをゼロから構築する方法については、「Docker のドキュメント」を参照してください。イメージが既に構築されている場合は、このステップをスキップできます。

    docker build -t <repository-name> .
  4. ビルドが完了したら、イメージにタグを付けて、イメージをこのリポジトリにプッシュできるようにします。

    docker tag <repository-name>:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest
  5. 次のコマンドを実行して、このイメージを新しく作成した AWS リポジトリにプッシュします。

    docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest

完全なデプロイ手順については、「Amazon Bedrock AgentCore デベロッパーガイド - MCP サーバーを AWS にデプロイする」を参照してください。

ステップ 4: GAAB で ECR URI を使用する

Docker イメージを Amazon ECR に正常にプッシュしたら、ECR コンソールからイメージ URI をコピーします。この URI は、AWS での生成 AI アプリケーションビルダーデプロイウィザードを使用して MCP サーバーをデプロイするときに使用します。