이 페이지에서는 스냅샷 생성 오류, 시간 초과 오류, 내부 서비스 오류 등 Lambda SnapStart를 사용할 때 발생하는 일반적인 문제에 대해 설명합니다.
SnapStartNotReadyException
오류: 간접 호출 20150331 작업을 직접적으로 간접 호출할 때 오류 발생(SnapStartNotReadyException): Lambda가 함수를 초기화하는 중입니다. 함수 상태가 ACTIVE가 되면 간접적으로 간접 호출할 준비가 된 것입니다.
일반적인 원인
이 오류는 Inactive
상태인 함수 버전을 간접적으로 간접 호출하려고 할 때 발생합니다. 함수 버전이 14일 동안 간접 호출되지 않았거나 Lambda가 주기적으로 실행 환경을 재활용하는 경우 Inactive
상태가 됩니다.
해결 방법
함수 버전이 Active
상태에 도달할 때까지 기다린 후 다시 간접 호출하세요.
SnapStartTimeoutException
문제: SnapStart 함수 버전을 간접적으로 간접 호출하려고 하면 SnapStartTimeoutException
이 발생합니다.
일반적인 원인
복원 단계에서 Lambda는 Java 런타임을 복원하고 복원 후 런타임 후크를 실행합니다. 복원 후 런타임 후크가 10초 넘게 실행되면 Restore
단계의 제한 시간이 초과되고 함수를 간접 호출하려고 할 때 오류가 발생합니다. 네트워크 연결 및 자격 증명 문제로 인해 Restore
단계가 시간 초과될 수도 있습니다.
해결 방법
함수의 CloudWatch 로그에서 복원 단계 중에 발생한 시간 초과 오류가 있는지 확인하세요. 모든 복원 후 런타임 후크가 10초 이내에 완료되어야 합니다.
예 CloudWatch 로그
{ "cause": "Lambda couldn't restore the snapshot within the timeout limit. (Service: Lambda, Status Code: 408, Request ID: 11a222c3-410f-427c-ab22-931d6bcbf4f2)", "error": "Lambda.SnapStartTimeoutException"}
500 내부 서비스 오류
오류: 동시 스냅샷 생성 한도에 도달하여 Lambda에서 새 스냅샷을 생성할 수 없습니다.
일반적인 원인
500 오류는 함수나 코드에 문제가 있는 것이 아니라 Lambda 서비스 자체의 내부 오류입니다. 이러한 오류는 종종 간헐적으로 발생합니다.
해결 방법
함수 버전을 다시 게시해 보세요.
401 권한이 없음
오류: 잘못된 세션 토큰 또는 헤더 키
일반적인 원인
이 오류는 Lambda SnapStart와 함께 AWS Systems Manager Parameter Store 및 AWS Secrets Manager 확장을 사용할 때 발생합니다.
해결 방법
AWS Systems Manager Parameter Store와 AWS Secrets Manager 확장은 SnapStart와 호환되지 않습니다. 이 확장은 함수 초기화 중 AWS Secrets Manager와 통신하기 위한 자격 증명을 생성하므로 SnapStart와 함께 사용하면 만료된 자격 증명 오류가 발생합니다.
UnknownHostException(Java)
오류: HTTP 요청을 실행할 수 없음: abc.us-east-1.amazonaws.com
에 대한 인증서가 주체 대체 이름 중 어느 것과도 일치하지 않습니다.
일반적인 원인
Lambda 함수는 이미 DNS 응답을 캐싱하고 있습니다. SnapStart에 다른 DNS 캐시를 사용하는 경우 스냅샷에서 함수를 재개할 때 연결 시간 초과가 발생할 수 있습니다.
해결 방법
Java 11 런타임에서 UnknownHostException
오류를 방지하려면 networkaddress.cache.negative.ttl
을 0으로 설정하는 것이 좋습니다. Java 17 이상 런타임에서는 이 단계가 필요하지 않습니다. AWS_LAMBDA_JAVA_NETWORKADDRESS_CACHE_NEGATIVE_TTL=0
환경 변수를 사용하여 Lambda 함수에 대해 이 속성을 설정할 수 있습니다.
스냅샷 생성 실패
오류: AWS Lambda가 SnapStart 함수를 간접적으로 간접 호출할 수 없습니다. 이 오류가 지속되면 함수의 CloudWatch 로그에서 초기화 오류가 있는지 확인하세요.
해결 방법
함수의 Amazon CloudWatch Logs에서 체크포인트 전 런타임 후크 제한 시간 초과가 발생하는지 검토합니다. 새 함수 버전을 게시하여 문제를 해결할 수도 있습니다.
스냅샷 생성 지연
문제: 새로운 함수 버전을 게시하면 해당 함수는 오랫동안 Pending
상태로 유지됩니다.
일반적인 원인
Lambda가 스냅샷을 생성할 때 초기화 코드를 최대 15분 동안 실행할 수 있습니다. 시간 제한은 130초 또는 구성된 함수 제한 시간(최대 900초) 중 더 높은 값입니다.
함수가 VPC에 연결된 경우 Lambda는 함수가 Active
상태가 되기 전에 네트워크 인터페이스를 생성해야 할 수도 있습니다. 함수가 Pending
상태인 동안 함수 버전을 간접적으로 간접 호출하려고 하면 409 ResourceConflictException
이 발생할 수 있습니다. 함수가 Amazon API Gateway 엔드포인트를 사용하여 간접적으로 간접 호출되는 경우 API Gateway에서 500 오류가 발생할 수 있습니다.
해결 방법
함수 버전이 초기화될 때까지 15분 이상 기다렸다가 간접적으로 호출하세요.