Lambda 할당량
AWS Lambda는 수요에 맞춰 빠르게 규모를 조정할 수 있도록 설계되어 애플리케이션의 트래픽을 처리하기 위해 함수를 스케일 업할 수 있습니다. Lambda는 간접 호출 간에 상태를 유지하거나 이에 의존하지 않는 단기 컴퓨팅 작업을 위해 설계되었습니다. 코드는 단일 간접 호출에서 최대 15분 동안 실행될 수 있으며 단일 함수는 최대 10,240MB의 메모리를 사용할 수 있습니다.
계정과 다른 고객의 워크로드를 보호하도록 마련된 가드레일을 이해하는 것이 중요합니다. 서비스 할당량은 모든 AWS 서비스에 존재하며 변경할 수 없는 하드 한도와 증가를 요청할 수 있는 소프트 한도로 구성됩니다. 기본적으로 모든 새 계정에는 AWS 서비스를 탐색할 수 있는 할당량 프로파일이 할당됩니다.
계정에 적용되는 할당량을 보려면 Service Quotas 대시보드
![애플리케이션 설계 그림 1](images/application-design-figure-1.png)
중요
새 AWS 계정에서는 동시성 및 메모리 할당량이 감소했습니다. AWS에서는 사용량에 따라 이런 할당량을 자동으로 늘립니다.
다음 섹션에서는 Lambda의 기본 할당량 및 한도를 범주별로 나열합니다.
컴퓨팅 및 스토리지
Lambda는 함수를 실행하고 저장하는 데 사용할 수 있는 컴퓨팅 및 스토리지 리소스 양의 할당량을 설정합니다. 동시 실행 및 스토리지에 대한 할당량은 AWS 리전에 따라 적용됩니다. 탄력적 네트워크 인터페이스(ENI) 할당량은 지역에 관계없이 Virtual Private Cloud(VPC) 별로 적용됩니다. 다음 할당량은 기본값에서 늘릴 수 있습니다. 자세한 내용은 Service Quotas 사용 설명서의 할당량 증가 요청을 참조하세요.
리소스 | 기본 할당량 | 최대 한도 증가 |
---|---|---|
동시 실행 |
1,000 |
수십만 |
업로드된 함수(.zip 파일 아카이브) 및 계층을 위한 스토리지. 각 함수 버전 및 계층 버전은 스토리지를 사용합니다. 코드 스토리지 관리 모범 사례는 Serverless Land의 Monitoring Lambda code storage |
75GB |
TB |
컨테이너 이미지로 정의된 함수에 대한 스토리지. 이 이미지는 Amazon ECR에 저장됩니다. |
Amazon ECR 서비스 할당량을 참조하세요. |
|
Virtual Private Cloud(VPC)별 탄력적 네트워크 인터페이스 참고이 할당량은 Amazon Elastic File System(Amazon EFS)과 같은 다른 서비스와 공유됩니다. Amazon VPC 할당량을 참조하세요. |
500 |
천 단위 |
Lambda가 트래픽에 대한 응답으로 함수 동시성을 확장하는 방법과 동시성에 대한 자세한 내용은 Lambda 함수 규모 조정 이행 단원을 참조하세요.
함수 구성, 배포 및 실행
함수 구성, 배포 및 실행에는 다음 할당량이 적용됩니다. 미리 설명된 경우를 제외하고는 변경할 수 없습니다.
참고
Lambda 문서, 로그 메시지 및 콘솔은 약어 MB(MiB 대신)를 사용하여 1,024KB를 나타냅니다.
리소스 | Quota |
---|---|
함수 메모리 할당 |
128MB~10,240MB, 1MB 단위 참고: Lambda는 구성된 메모리 크기에 비례하여 CPU 용량을 할당합니다. 메모리(MB) 설정을 사용하면 함수에 할당된 메모리 및 CPU 처리능력을 늘리거나 줄일 수 있습니다. 1,769MB에서, 함수는 하나의 vCPU와 동등한 값을 가집니다. |
함수 제한 시간 |
900초(15분) |
함수 환경 변수 |
4KB, 함수와 관련된 모든 환경 변수에 대한 합계 |
함수 리소스 기반 정책 |
20KB |
함수 계층 |
5개 계층 |
함수 동시성 스케일링 제한 |
각 함수에 대해 10초 당 1,000개의 실행 환경 |
호출 페이로드(요청 및 응답) |
요청 및 응답당 각각 6MB(동기식) 각 스트리밍된 응답에 대해 20MB(동기식. 스트리밍된 응답의 페이로드 크기는 기본값에서 늘릴 수 있습니다. 자세한 내용은 지원에 문의하세요.) 256KB(비동기식) 요청 라인과 헤더 값의 총 합산 크기 1MB |
스트리밍되는 응답의 대역폭 |
함수 응답의 처음 6MB에 대해 제한 없음 6MB보다 큰 응답의 경우 응답의 나머지 부분에 대해 2MBps |
50MB(Lambda API나 SDK를 통해 업로드하는 경우 압축됨) Amazon S3로 더 큰 파일을 업로드합니다. 50MB(Lambda 콘솔을 통해 업로드하는 경우) 250MB 계층 및 사용자 지정 런타임을 포함한 배포 패키지 콘텐츠의 최대 크기(압축 해제됨) |
|
컨테이너 이미지 설정 크기 |
16KB |
컨테이너 이미지 코드 패키지 크기 |
10GB(모든 레이어를 포함한 최대 비압축 이미지 크기) |
테스트 이벤트(콘솔 편집기) |
10 |
|
512MB에서 10,240MB 사이, 1MB 단위로 증가 |
파일 설명자 |
1,024 |
실행 프로세스/스레드 |
1,024 |
Lambda API 요청
다음 할당량은 Lambda API 요청과 연관되어 있습니다.
리소스 | 할당량 |
---|---|
리전별 함수당 호출 요청(동기) |
실행 환경의 각 인스턴스가 초당 최대 10개의 요청을 처리할 수 있습니다. 즉, 총 호출 한도는 동시성 한도의 10배입니다. Lambda 함수 규모 조정 이행 섹션을 참조하세요. |
리전별 함수당 호출 요청(비동기) |
실행 환경의 각 인스턴스가 요청을 무제한으로 처리할 수 있습니다. 즉, 총 호출 한도는 함수에서 사용할 수 있는 동시성만을 기준으로 합니다. Lambda 함수 규모 조정 이행 섹션을 참조하세요. |
함수 버전 또는 별칭당 호출 요청(초당 요청 수) |
10배 할당된 프로비저닝된 동시성 참고이 할당량은 프로비저닝된 동시성을 사용하는 함수에만 적용됩니다. |
GetFunction API 요청 |
초당 요청 100개입니다. 늘릴 수 없습니다. |
GetPolicy API 요청 |
초당 요청 15개입니다. 늘릴 수 없습니다. |
나머지 제어 플레인 API 요청(호출, GetFunction 및 GetPolicy 요청 제외) |
모든 API에서 초당 요청 15개입니다(API별 초당 요청 15개 아님). 늘릴 수 없습니다. |
기타 서비스
AWS Identity and Access Management(IAM), Amazon CloudFront(Lambda@Edge), Amazon Virtual Private Cloud(Amazon VPC) 등의 다른 서비스에 대한 할당량이 Lambda 함수에 영향을 줄 수 있습니다. 자세한 내용은 AWS 서비스 할당량을 Amazon Web Services 일반 참조에서, 그리고 다른 AWS 서비스의 이벤트로 Lambda 간접 호출를 참조하세요.
Lambda를 포함하는 많은 애플리케이션은 여러 AWS 서비스를 사용합니다. 서비스마다 다양한 기능에 대한 할당량이 다르기 때문에 전체 애플리케이션에서 이러한 할당량을 관리하는 것이 어려울 수 있습니다. 예를 들어 API Gateway의 기본 스로틀 한도는 초당 요청 10,000개이지만 Lambda의 기본 동시성 한도는 1,000입니다. 이러한 불일치로 인해 Lambda가 처리할 수 있는 API Gateway의 수신 요청이 더 많아질 수 있습니다. 예상되는 트래픽 수준에 맞게 Lambda 동시성 한도 증가를 요청하여 이 문제를 해결할 수 있습니다.
애플리케이션 부하 테스트를 수행하면 프로덕션에 배포하기 전에 애플리케이션의 성능을 엔드 투 엔드 모니터링할 수 있습니다. 로드 테스트 중에 예상되는 트래픽 수준에 대한 제한 요인으로 작용할 수 있는 할당량을 식별하고 적절히 작업을 수행할 수 있습니다.