Lambda 확장 동작
Lambda 확장 동작 (Lambda scaling behavior)
함수가 더 많은 요청을 받으면 계정이 동시성(concurrency) 할당량에 도달할 때까지 Lambda는 이 요청을 처리하기 위해 실행 환경 수를 자동으로 확장합니다. 그러나 갑작스러운 트래픽 급증에 대응한 과도한 확장을 방지하기 위해 Lambda는 함수가 확장할 수 있는 속도를 제한합니다. 이 동시성 확장 속도(concurrency scaling rate)는 계정의 함수가 증가한 요청에 대응해 확장할 수 있는 최대 속도입니다(즉, Lambda가 새 실행 환경을 얼마나 빨리 만들 수 있는지). 동시성 확장 속도는 계정 수준의 동시성 한도와는 다릅니다. 계정 수준 동시성 한도는 함수에 사용 가능한 동시성의 총량을 의미합니다.
본문
동시성 확장 속도
각 AWS 리전에서 그리고 각 함수에 대해 동시성 확장 속도는 10초마다 1,000개의 실행 환경 인스턴스입니다(즉, 10초마다 초당 10,000개의 요청). 다시 말해, Lambda는 10초마다 각 함수에 최대 1,000개의 추가 실행 환경 인스턴스를 할당하거나 초당 10,000개의 추가 요청을 수용할 수 있습니다.
보통은 이 제한에 대해 걱정할 필요가 없습니다. Lambda의 확장 속도는 대부분의 사용 사례에 충분합니다.
중요한 점은 동시성 확장 속도가 함수 수준의 제한이라는 것입니다. 즉 계정의 각 함수는 다른 함수와 독립적으로 확장할 수 있습니다.
참고
실제로 Lambda는 10초마다 한 번에 1,000개 단위로 채우기보다는 시간에 걸쳐 동시성 확장 속도를 지속적으로 다시 채우려고 최선을 다합니다.
Lambda는 사용하지 않은 동시성 확장 속도의 일부를 누적하지 않습니다. 즉 어느 순간에도 확장 속도는 최대 1,000개의 동시성 단위입니다. 예를 들어 10초 구간에서 사용 가능한 1,000개의 동시성 단위를 전혀 사용하지 않더라도 다음 10초 구간에서 1,000개의 추가 단위가 누적되지 않습니다. 다음 10초 구간에서도 동시성 확장 속도는 여전히 1,000입니다.
함수가 계속 증가하는 요청 수를 받고 있다면 Lambda는 계정의 동시성 한도까지 사용 가능한 가장 빠른 속도로 확장합니다. 예약된 동시성(reserved concurrency)을 구성해 개별 함수가 사용할 수 있는 동시성 양을 제한할 수 있습니다. 요청이 함수가 확장할 수 있는 속도보다 빨리 들어오거나 함수가 최대 동시성에 도달하면 추가 요청은 제한 오류(429 상태 코드)로 실패합니다.
더 알아보기 (Learn more)
- Lambda 동시성 및 확장
- 예약된 동시성 구성
- Lambda 제한(Throttling) 동작