Home / Strands 프로덕션 / 프로덕션 배포
Note

프로덕션 배포

Lambda/Fargate/AgentCore Runtime 배포 타겟 선택 가이드

⏱ 30분 99 / 189

프로덕션 배포

Lambda/Fargate/AgentCore Runtime 배포 타겟 선택 가이드

에이전트를 프로덕션에 올린다

프롬프트 캐싱·스트리밍·배포 타겟 — 비용과 속도 최적화

배포 타겟 선택

Lambda vs Fargate vs AgentCore Runtime

PART 4 · 배포 타겟 선택

배포 타겟

워크로드 특성에 맞춘 세 가지 컴퓨팅 타겟의 선택 기준

Lambda · Fargate · AgentCore Runtime

콜드스타트·비용·확장성 균형점을 찾아 워크로드별 최적 타겟을 선택합니다.

  • Lambda — 이벤트 기반 단발 호출, 제로 유휴 비용
  • Fargate — 장시간 세션 · 멀티턴, 타임아웃 무제한
  • AgentCore Runtime — 관리형 오토스케일 · 내장 관측성
  • agentcore create → deploy — CLI 배포 워크플로우
takeaway

만능 타겟은 없습니다 — 콜드스타트 · 비용 모델 · 확장성 3축으로 워크로드마다 판단합니다.

PART 4 · 배포 타겟 선택

배포 옵션 3종

Lambda는 경량 단발, Fargate는 장시간 세션, AgentCore Runtime은 관리형 — 강점과 제약의 대비

AWS Lambda

이벤트 기반 단발 호출에 최적. 15분 타임아웃 이내의 경량 에이전트에 적합.

  • ✓ 제로 유휴 비용 — 호출 시에만 과금
  • ✓ 자동 스케일링 — 동시성 수천 즉시 확장
  • ✓ Function URL로 SSE 스트리밍 지원
  • ✗ 콜드스타트 — 보통 1초 미만이지만 무거운 의존성 시 수 초
  • ✗ 15분 타임아웃 — 장시간 에이전틱 루프 불가
  • ✗ 메모리 10GB 제한 — 대형 컨텍스트 처리 한계

언제 — 비동기 이벤트 처리, 짧은 단일 턴 에이전트, API Gateway 뒤 경량 추론

AWS Fargate

장시간 세션과 멀티턴 대화에 적합. 컨테이너 기반으로 환경 완전 제어.

  • ✓ 타임아웃 무제한 — 수 시간 에이전틱 루프 가능
  • ✓ 컨테이너 환경 완전 제어 — GPU 접근 가능
  • ✓ ALB/NLB 연동으로 WebSocket 안정 지원
  • ✗ 최소 1 태스크 상시 과금 (유휴 비용 발생)
  • ✗ 스케일아웃 수십 초 소요 — 급격한 트래픽 스파이크 대응 지연
  • ✗ ECS 태스크 정의·서비스 설정 관리 필요

언제 — 멀티턴 대화형 에이전트, 장시간 코드 생성, GPU 필요 워크로드

AgentCore Runtime

프레임워크 불문 관리형 런타임. 배포·스케일·모니터링을 원스톱 제공.

  • ✓ 에이전트 특화 오토스케일 — 동시 세션 기반 확장
  • ✓ 내장 관측성 — 트레이스·메트릭·로그 자동 수집
  • ✓ 버전·엔드포인트 관리로 안전한 롤아웃
  • ✗ AgentCore 종속 — 타 클라우드 이식 불가
  • ✗ 런타임 제약 — Python 3.12+/Node 22, ARM64, 컨테이너 이미지 2GB
  • ✗ 신규 서비스 — 리전 가용성 제한적

언제 — 프로덕션 에이전트 전용 인프라, 운영 부담 최소화, Strands 네이티브 배포

takeaway

갈림길은 실행 시간 한도 · 유휴 비용 · 운영 부담입니다 — 짧은 단발이면 Lambda, 장시간 세션이면 Fargate, 운영 최소화면 AgentCore Runtime을 선택합니다.

PART 4 · 배포 타겟 선택

배포 타겟 비교표

콜드스타트·비용 모델·확장성·운영 부담 4축 정량 비교

항목LambdaFargateAgentCore Runtime
콜드스타트100ms~1초+ (호출의 1% 미만, 의존성 크기에 좌우)태스크 프로비저닝 약 30초웜 풀 유지로 콜드스타트 최소화
최대 실행 시간15분무제한세션 최대 8시간
비용 모델호출당 과금 (유휴 무료)태스크 시간당 과금소비 기반 — 활성 처리 CPU + 메모리(GB-h), 요청당 과금 없음
스케일 단위동시 실행 1,000 (기본 쿼터, 상향 가능)태스크 수 (분 단위)에이전트 인스턴스 (초 단위)
운영 부담낮음 (서버리스)중간 (ECS 설정)낮음 (관리형)
스트리밍Function URL SSEALB + WebSocket네이티브 SSE/WS
관측성CloudWatch + X-Ray 수동Container Insights내장 트레이스·메트릭
takeaway

Lambda의 15분 한도와 Fargate의 유휴 과금이 각자의 약점입니다 — AgentCore Runtime은 소비 기반 과금과 세션 최대 8시간으로 그 사이를 메웁니다.

PART 4 · 배포 타겟 선택

AgentCore Runtime 배포 예시

Strands 에이전트를 AgentCore에 배포하는 최소 설정과 CLI 워크플로우

python
# app/MyProdAgent/main.py — agentcore create가 생성한 스캐폴드를 아래처럼 수정
from strands import Agent
from strands.models import BedrockModel
from bedrock_agentcore import BedrockAgentCoreApp

app = BedrockAgentCoreApp()

agent = Agent(
    model=BedrockModel(
        model_id="us.anthropic.claude-sonnet-4-6",
        cache_tools="default",
        streaming=True,
    ),
    system_prompt="You are a production assistant.",
    tools=[search_docs, query_db, send_notification],
)

# @app.entrypoint — AgentCore Runtime이 호출하는 진입점
@app.entrypoint
def handler(payload):
    result = agent(payload.get("prompt"))
    return {"result": str(result)}
# ─── CLI 배포 워크플로우 ───
# 1. agentcore create --name MyProdAgent — 스캐폴드 생성(main.py + pyproject.toml)
# 2. 생성된 app/MyProdAgent/main.py를 위 내용으로 수정
# 3. agentcore deploy — 코드 패키징 + 배포(버전·엔드포인트는 Runtime이 관리)
좋은 에이전트는 빠르고 저렴해야 합니다.

캐싱 · 스트리밍 · 배포 — 프로덕션 에이전트의 3대 요소