EKS에서 에이전트 구축 및 배포
이 가이드는 Agents on EKS 환경을 사용하여 개발한 에이전트를 프로덕션에서 실행하는 방법을 안내합니다. 소스 제어에 코드 푸시, CI/CD를 통한 컨테이너 이미지 빌드, Kubernetes 배포, AWS 서비스 액세스 구성까지의 전체 워크플로우를 다룹니다.
사전 요구 사항
시작하기 전에 다음을 준비하세요:
- Agents on EKS 인프라가 배포되어 있어야 합니다
- 로컬에서 실행 가능한 에이전트 (에이전트 코드 구조화에 대한 에이전트 개발 모범 사례와 Strands Agents SDK 참조)
- EKS 클러스터에 액세스할 수 있도록
kubectl이 구성되어 있어야 합니다 - Docker Desktop 또는 Podman이 로컬에 설치되어 있어야 합니다
노트
환경의 공개 인터넷 노출 면적을 최소화하기 위해 가능한 한 포트 포워딩을 사용합니다. 이것이 로드 밸런서에서 허용하는 인바운드 CIDR 범위로 IP 주소를 설정하도록 안내하는 이유이기도 합니다. IP 제한을 제거하거나 환경의 더 많은 부분을 공개 인터넷에 노출하는 것도 가능합니다 (예: LangFuse 또는 에이전트). 이를 위해서는 직접 인그레스를 생성해야 합니다.
에이전트 컨테이너화
에이전트가 환경에서 실행되려면 컨테이너 이미지로 패키징해야 합니다. 의존성을 위한 requirements.txt를 유지해왔다면 Dockerfile만 있으면 됩니다:
FROM python:3.13-slim
WORKDIR /app
COPY requirements.txt /app
RUN pip install -r requirements.txt
COPY * /app
CMD python entrypoint.py
팁
로컬에서 python -V 출력을 확인하고 FROM 줄의 버전을 일치시켜 로컬 환경과 컨테이너 간의 호환성 문제를 방지하세요.
로컬에서 빌드 및 테스트:
docker build -t strands-agent .
docker run --rm -p 8000:8000 \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
-e AWS_REGION \
strands-agent
다음 단계로 넘어가기 전에 에이전트가 올바르게 응답하는지 확인하세요. 컨테이너에서 로컬로 작동하면 환경에서도 동일하게 작동합니다.