중복된 Lambda 함수 호출을 방지하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 11월 18일

AWS Lambda 함수는 단일 이벤트에 대해 하나 이상의 호출 요청을 계속 수신합니다. Lambda 함수가 동일한 이벤트에서 여러 번 호출되지 않도록 하려면 어떻게 해야 합니까?

간략한 설명

중복된 Lambda 함수 호출을 방지하려면 사용 중인 호출 유형에 따라 다음을 수행합니다.

참고:동기식 호출의 경우 Lambda 함수를 호출하는 클라이언트 및 AWS 서비스가 재시도를 수행합니다. 비동기 호출의 경우 Lambda는 오류 발생 시 자동으로 재시도하며 재시도 간에 지연이 발생합니다.

해결 방법

비동기 호출의 경우

Lambda 함수의 Amazon CloudWatch Logs를 검토하여 다음을 확인합니다.

  • 중복 호출의 요청 ID가 같은지 아닌지 여부
  • 중복 호출에서 오류가 반환되거나 시간이 초과된 경우

그런 다음, 사용 사례에 따라 다음 중 하나를 수행합니다.

오류를 반환했거나 시간이 초과되었으며 요청 ID가 동일한 중복 호출의 경우

참고: 오류 또는 시간 초과를 반환하거나 요청 ID가 동일한 중복 호출은 Lambda 서비스가 함수를 다시 시도했음을 나타냅니다.

비동기 호출에 대한 오류 처리를 구성하여 Lambda 함수 재시도가 비동기 호출 요청에 실패한 횟수를 줄입니다.

자세한 내용은 AWS Lambda에서의 오류 처리 및 자동 재시도 단원을 참조하세요.

오류 또는 시간 초과를 반환하지 않은 중복 호출의 경우

참고: 오류나 시간 초과를 반환하지 않는 중복 호출은 클라이언트측 재시도를 나타냅니다.

동기식 호출의 경우

참고: 동기식 호출 재시도 동작은 각 서비스의 이벤트 소스 매핑에 따라 AWS 서비스마다 다릅니다. 자세한 내용은 이벤트 기반 호출 단원을 참조하세요.