Lambda SnapStart 모범 사례

Lambda SnapStart 모범 사례 (Lambda SnapStart best practices)

Lambda SnapStart를 최대한 활용하려면 초기화 단계의 스냅샷을 캡처하고 복원하는 기능의 특성을 고려한 모범 사례를 따라야 해요. 이 페이지에서는 SnapStart를 사용하는 함수에 대한 모범 사례를 설명해요.

출처: AWS Lambda 개발자 안내서

본문

SnapStart는 함수를 호출하기 전에 함수 코드와 런타임의 초기화 단계를 캡처하고, 저장된 스냅샷에서 실행 환경을 복원함으로써 콜드 스타트 지연 시간을 줄여요. SnapStart를 사용할 때 성능과 안정성을 극대화하려면 다음 모범 사례를 고려해요.

스냅샷 복원 고려 (Snapshot restore considerations)

  • 복원 후 훅 – 복원 후 런타임 훅을 사용해 스냅샷이 복원될 때 함수별 사용자 정의 코드를 실행해요. 복원 후 훅은 복원 후 코드 실행을 제공해요.
  • 체크포인트 이전 훅 – 체크포인트 이전 런타임 훅을 사용해 스냅샷이 캡처되기 직전에 연결을 닫거나 보안 자격 증명을 만료시키는 등 정리 작업을 수행해요.

연결 및 소켓 (Connections and sockets)

스냅샷이 캡처된 상태에서 열린 연결과 소켓을 복원하면 문제가 발생할 수 있어요. 체크포인트 이전 훅을 사용해 스냅샷을 만들기 전에 연결을 닫아 복원 시 새 연결을 만들도록 하는 것이 좋아요.

엔티티 및 임시 값 (Entities and temporary values)

스냅샷에 캡처된 프로세스 전역 상태는 여러 복원된 실행 환경에 복사돼요. 고유해야 하는 엔티티(예: 랜덤 시드, 타임스탬프, 보안 자격 증명)를 캡처하면 여러 함수 실행에 걸쳐 재사용될 수 있어요. 고유성 관련 사항은 Lambda SnapStart 고유성을 참고하세요.

자격 증명 (Credentials)

스냅샷에 캡처된 자격 증명과 암호는 복원된 각 실행 환경에 복사될 수 있어요. 체크포인트 이전 훅을 사용해 자격 증명을 만료시키고 복원 후 새로 얻도록 하는 것을 고려해요.

테스트 (Testing)

SnapStart의 동작을 완전히 이해하려면 프로덕션 워크로드를 배포하기 전에 스냅샷 복원, 복원 후 훅, 체크포인트 이전 훅을 테스트해요.

더 알아보기 (Learn more)