CPN 한국어 자습서 · 외부 문서 한국어 미러
UV 문서 · Guides
Using uv with AWS Lambda · 원문: docs.astral.sh/uv/guides/integration/aws-lambda/
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. uv를 사용하여 Python 의존성을 관리하고, 배포 패키지를 구성하며, Lambda 함수를 배포할 수 있습니다.
두 가지 주요 배포 방식을 제공합니다:
이 방법은 멀티 스테이지 Dockerfile을 사용하여 이미지 크기를 최소화하고 레이어 캐싱을 극대화합니다. 첫 번째 스테이지는 uv를 사용하여 의존성을 설치하고, 두 번째 스테이지는 최종 이미지에 필요한 파일만 복사합니다.
주요 장점: - 최소한의 이미지 크기(최종 이미지에서 uv 바이너리 제외) - 의존성이 변경될 때만 무효화되는 효율적인 Docker 레이어 캐싱 - 애플리케이션 코드 수정 시 밀리초 수준의 재빌드 시간
빌드를 최적화하는 환경변수:
- UV_COMPILE_BYTECODE=1 — 콜드 스타트 성능 향상
- UV_NO_INSTALLER_METADATA=1 — 결정론적 레이어 생성
- UV_LINK_MODE=copy — 바인드 마운트 캐싱 활성화
Dockerfile은 uv export로 요구사항을 생성하고 uv pip install --target으로 의존성을 Lambda 태스크 루트에 번들링하는 명령을 사용합니다.
워크스페이스 지원: 워크스페이스 디렉터리를 마운트하고 별도의 설치 단계를 실행하여 로컬 의존성을 포함할 수 있으며, 서드파티 의존성은 독립적으로 캐시됩니다.
250 MB 미만의 간단한 애플리케이션의 경우 zip 배포가 더 간단한 대안을 제공합니다. 과정은 다음과 같습니다:
uv export로 의존성 내보내기Lambda 레이어: 의존성을 Lambda 레이어(한 번 업로드, 여러 배포에서 재사용)로 분리하여 애플리케이션 코드만 업데이트할 때의 콜드 스타트 시간을 단축할 수 있습니다.
uv export --frozen --no-dev --no-editable — 요구사항 파일 생성uv pip install --target packages — Lambda용 의존성 번들링원문(영어): https://docs.astral.sh/uv/guides/integration/aws-lambda/ · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Astral)에게 있습니다.
원문(영어): https://docs.astral.sh/uv/guides/integration/aws-lambda/