본문으로 건너뛰기

Version

1 AWS Lambda Versions

  • AWS Lambda는 서버리스 컴퓨팅의 핵심 서비스로, 효율적인 버전 관리 기능을 제공합니다.

1.1 Lambda Versions의 주요 특징

  • $LATEST: 개발 중인 Lambda 함수의 최신 버전을 나타냅니다.
  • 불변성: 게시된 버전은 변경할 수 없습니다(immutable).
  • 버전 번호: 순차적으로 증가하는 버전 번호를 가집니다.
  • 고유 ARN: 각 버전은 고유한 Amazon Resource Name (ARN)을 가집니다.
  • 코드와 구성의 스냅샷: 버전은 코드와 구성의 스냅샷으로, 변경할 수 없습니다.
  • 접근성: 각 버전의 Lambda 함수에 개별적으로 접근할 수 있습니다.

1.2 Lambda Versions 사용 방법

Pasted image 20240815154529.png

  • 개발 시에는 $LATEST 버전에서 작업합니다.
  • 함수를 배포할 준비가 되면, 현재 $LATEST의 스냅샷을 새 버전으로 게시합니다.
  • 게시된 버전은 변경할 수 없으므로, 안정성과 일관성을 보장합니다.

1.3 버전 관리의 이점

  • 코드 일관성: 특정 버전의 코드는 항상 동일하게 유지됩니다.
  • 롤백 용이성: 문제 발생 시 이전 버전으로 쉽게 롤백할 수 있습니다.
  • 테스트 및 배포 전략: 다양한 버전을 사용하여 A/B 테스트나 블루/그린 배포를 구현할 수 있습니다.
  • 버전별 모니터링: 각 버전의 성능을 개별적으로 모니터링할 수 있습니다.

1.4 버전 관리 모범 사례

  • 의미 있는 설명: 각 버전을 게시할 때 변경 사항을 명확히 설명합니다.
  • 테스트 자동화: 새 버전을 게시하기 전에 자동화된 테스트를 실행합니다.
  • 점진적 롤아웃: 새 버전을 단계적으로 배포하여 리스크를 최소화합니다.
  • 버전 정리: 더 이상 사용하지 않는 오래된 버전은 주기적으로 정리합니다.

1.5 버전과 알리아스의 통합

  • 알리아스 활용: 알리아스를 사용하여 특정 버전을 가리키도록 설정할 수 있습니다.
  • 트래픽 분배: 알리아스를 통해 여러 버전 간에 트래픽을 분배할 수 있습니다.
  • 환경별 관리: 개발, 스테이징, 프로덕션 등 각 환경에 맞는 버전을 알리아스로 지정할 수 있습니다.

1.6 버전 관리의 한계와 주의사항

  • 스토리지 제한: Lambda 함수의 모든 버전과 게시되지 않은 버전($LATEST)의 총 크기는 75GB를 초과할 수 없습니다.
  • 버전 수 제한: 함수당 최대 버전 수에 대한 제한은 없지만, 과도한 버전 생성은 관리의 복잡성을 증가시킬 수 있습니다.
  • $LATEST 주의사항: $LATEST 버전은 가변적이므로 프로덕션 환경에서는 사용을 피하는 것이 좋습니다.