

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# MCP 서버 Docker 이미지 빌드 단계
<a name="steps-to-build-mcp-server-docker-image"></a>

AWS에서 생성형 AI Application Builder와 함께 MCP(모델 컨텍스트 프로토콜) 서버를 사용하려면 첫 번째 단계로 프라이빗 Amazon ECR 리포지토리에 빌드되고 저장된 Docker 이미지가 필요합니다.

**참고**  
현재 Amazon Bedrock AgentCore 런타임에 배포된 기존 MCP 서버는 GAAB로 내보낼 수 없습니다. MCP 서버를 GAAB를 통해 생성된 에이전트에 연결하려면 GAAB를 통해 생성해야 합니다.

## 1단계: MCP 서버 생성
<a name="step-1-create-your-mcp-server"></a>

먼저 MCP 서버 구현을 준비해야 합니다. MCP 서버 생성에 대한 자세한 지침은 [Amazon Bedrock AgentCore 개발자 안내서 - MCP 서버 생성을 참조하세요](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-create-server).

다음과 같은 프로젝트 구조를 권장합니다.

```
.
├── __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 서버 테스트
<a name="step-2-test-your-mcp-server-locally"></a>

AWS에 배포하기 전에 MCP 서버를 로컬에서 테스트하여 예상대로 작동하는지 확인하는 것이 중요합니다. 로컬 테스트에 대한 자세한 지침은 [Amazon Bedrock AgentCore 개발자 안내서 - 로컬에서 MCP 서버 테스트를 참조하세요](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-test-locally).

## 3단계: Amazon ECR에 배포
<a name="step-3-deploy-to-amazon-ecr"></a>

MCP 서버가 로컬에서 생성 및 테스트되면 다음 단계에 따라 Amazon ECR에 배포합니다.

1. 최신 버전의 AWS CLI 및 Docker가 설치되어 있는지 확인합니다. 자세한 내용은 [Amazon ECR 시작하기를 참조하세요](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html).

1. 인증 토큰을 검색하고 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
   ```

1. 다음 명령을 사용하여 Docker 이미지를 빌드합니다. Docker 파일을 처음부터 빌드하는 방법에 대한 자세한 내용은 [Docker 설명서를](https://docs.docker.com/engine/reference/builder/) 참조하세요. 이미지가 이미 빌드된 경우이 단계를 건너뛸 수 있습니다.

   ```
   docker build -t <repository-name> .
   ```

1. 빌드가 완료되면 이미지를이 리포지토리로 푸시할 수 있도록 이미지에 태그를 지정합니다.

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

1. 다음 명령을 실행하여이 이미지를 새로 생성된 AWS 리포지토리로 푸시합니다.

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

전체 배포 지침은 [Amazon Bedrock AgentCore 개발자 안내서 - AWS에 MCP 서버 배포를 참조하세요](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-deploy-aws).

## 4단계: GAAB에서 ECR URI 사용
<a name="step-4-use-the-ecr-uri-in-gaab"></a>

Docker 이미지를 Amazon ECR에 성공적으로 푸시한 후 ECR 콘솔에서 이미지 URI를 복사합니다. AWS의 생성형 AI Application Builder 배포 마법사를 통해 MCP 서버를 배포할 때이 URI를 사용합니다.