Lambda SnapStart 모범 사례
Lambda SnapStart 모범 사례 (Lambda SnapStart best practices)
Lambda SnapStart를 최대한 활용하려면 초기화 단계의 스냅샷을 캡처하고 복원하는 기능의 특성을 고려한 모범 사례를 따라야 해요. 이 페이지에서는 SnapStart를 사용하는 함수에 대한 모범 사례를 설명해요.
본문
SnapStart는 함수를 호출하기 전에 함수 코드와 런타임의 초기화 단계를 캡처하고, 저장된 스냅샷에서 실행 환경을 복원함으로써 콜드 스타트 지연 시간을 줄여요. SnapStart를 사용할 때 성능과 안정성을 극대화하려면 다음 모범 사례를 고려해요.
스냅샷 복원 고려 (Snapshot restore considerations)
- 복원 후 훅 – 복원 후 런타임 훅을 사용해 스냅샷이 복원될 때 함수별 사용자 정의 코드를 실행해요. 복원 후 훅은 복원 후 코드 실행을 제공해요.
- 체크포인트 이전 훅 – 체크포인트 이전 런타임 훅을 사용해 스냅샷이 캡처되기 직전에 연결을 닫거나 보안 자격 증명을 만료시키는 등 정리 작업을 수행해요.
연결 및 소켓 (Connections and sockets)
스냅샷이 캡처된 상태에서 열린 연결과 소켓을 복원하면 문제가 발생할 수 있어요. 체크포인트 이전 훅을 사용해 스냅샷을 만들기 전에 연결을 닫아 복원 시 새 연결을 만들도록 하는 것이 좋아요.
엔티티 및 임시 값 (Entities and temporary values)
스냅샷에 캡처된 프로세스 전역 상태는 여러 복원된 실행 환경에 복사돼요. 고유해야 하는 엔티티(예: 랜덤 시드, 타임스탬프, 보안 자격 증명)를 캡처하면 여러 함수 실행에 걸쳐 재사용될 수 있어요. 고유성 관련 사항은 Lambda SnapStart 고유성을 참고하세요.
자격 증명 (Credentials)
스냅샷에 캡처된 자격 증명과 암호는 복원된 각 실행 환경에 복사될 수 있어요. 체크포인트 이전 훅을 사용해 자격 증명을 만료시키고 복원 후 새로 얻도록 하는 것을 고려해요.
테스트 (Testing)
SnapStart의 동작을 완전히 이해하려면 프로덕션 워크로드를 배포하기 전에 스냅샷 복원, 복원 후 훅, 체크포인트 이전 훅을 테스트해요.