

# Lambda 할당량
<a name="gettingstarted-limits"></a>

**중요**  
새 AWS 계정에서는 동시성 및 메모리 할당량이 감소했습니다. AWS에서는 사용량에 따라 이런 할당량을 자동으로 늘립니다.

AWS Lambda는 수요에 맞춰 빠르게 규모를 조정할 수 있도록 설계되어 애플리케이션의 트래픽을 처리하기 위해 함수를 스케일 업할 수 있습니다. Lambda는 간접 호출 간에 상태를 유지하거나 이에 의존하지 않는 단기 컴퓨팅 작업을 위해 설계되었습니다. 코드는 단일 간접 호출에서 최대 15분 동안 실행될 수 있으며 단일 함수는 최대 10,240MB의 메모리를 사용할 수 있습니다.

계정과 다른 고객의 워크로드를 보호하도록 마련된 가드레일을 이해하는 것이 중요합니다. 서비스 할당량은 모든 AWS 서비스에 존재하며 변경할 수 없는 하드 한도와 증가를 요청할 수 있는 소프트 한도로 구성됩니다. 기본적으로 모든 새 계정에는 AWS 서비스를 탐색할 수 있는 할당량 프로파일이 할당됩니다.

계정에 적용되는 할당량을 보려면 [Service Quotas 대시보드](https://console.aws.amazon.com/servicequotas/home)로 이동합니다. 여기서 서비스 할당량을 확인하고, 할당량 증가를 요청하고, 현재 사용률을 확인할 수 있습니다. 여기에서 Lambda와 같은 특정 AWS 서비스로 드릴다운할 수 있습니다.

![애플리케이션 설계 그림 1](http://docs.aws.amazon.com/ko_kr/lambda/latest/dg/images/application-design-figure-1.png)


다음 섹션에서는 Lambda의 기본 할당량 및 한도를 범주별로 나열합니다.

**Topics**
+ [컴퓨팅 및 스토리지](#compute-and-storage)
+ [함수 구성, 배포 및 실행](#function-configuration-deployment-and-execution)
+ [Lambda API 요청](#api-requests)
+ [기타 서비스](#quotas-other-services)

## 컴퓨팅 및 스토리지
<a name="compute-and-storage"></a>

Lambda는 함수를 실행하고 저장하는 데 사용할 수 있는 컴퓨팅 및 스토리지 리소스 양의 할당량을 설정합니다. 동시 실행 및 스토리지에 대한 할당량은 AWS 리전에 따라 적용됩니다. 탄력적 네트워크 인터페이스(ENI) 할당량은 지역에 관계없이 가상 프라이빗 클라우드(VPC)별로 적용됩니다. 다음 할당량은 기본값에서 늘릴 수 있습니다. 자세한 내용은 *Service Quotas 사용 설명서*의 [할당량 증가 요청](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)을 참조하세요.


| 리소스 | 기본 할당량 | 최대 한도 증가 | 
| --- | --- | --- | 
| 동시 실행 | 1,000 | 수십만 | 
| 업로드된 함수(.zip 파일 아카이브) 및 계층을 위한 스토리지. 각 함수 버전 및 계층 버전은 스토리지를 사용합니다.<br /> 코드 스토리지 관리 모범 사례는 Serverless Land의 [Monitoring Lambda code storage](https://serverlessland.com/content/service/lambda/guides/aws-lambda-operator-guide/code-storage)를 참조하세요. | 75GB | TB | 
| 컨테이너 이미지로 정의된 함수에 대한 스토리지. 이 이미지는 Amazon ECR에 저장됩니다. | [Amazon ECR 서비스 할당량](https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)을 참조하세요. |   | 
| [가상 프라이빗 클라우드(VPC)별 탄력적 네트워크 인터페이스](configuration-vpc.md) 이 할당량은 Amazon Elastic File System(Amazon EFS)과 같은 다른 서비스와 공유됩니다. [Amazon VPC 할당량](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html)을 참조하세요.  | 500 | 천 단위 | 
| 실행 중인 최대 지속성 실행 수 | 1,000,000 | 수백만 | 

Lambda가 트래픽에 대한 응답으로 함수 동시성을 확장하는 방법과 동시성에 대한 자세한 내용은 [Lambda 함수 규모 조정 이행](lambda-concurrency.md) 단원을 참조하세요.

## 함수 구성, 배포 및 실행
<a name="function-configuration-deployment-and-execution"></a>

함수 구성, 배포 및 실행에는 다음 할당량이 적용됩니다. 미리 설명된 경우를 제외하고는 변경할 수 없습니다.

**참고**  
Lambda 문서, 로그 메시지 및 콘솔은 약어 MB(MiB 대신)를 사용하여 1,024KB를 나타냅니다.


| 리소스 | Quota | 
| --- | --- | 
| 함수 [메모리 할당](configuration-memory.md) | 128MB\~10,240MB, 1MB 단위<br />**참고:** Lambda는 구성된 메모리 크기에 비례하여 CPU 용량을 할당합니다. **메모리(MB)** 설정을 사용하면 함수에 할당된 메모리 및 CPU 처리능력을 늘리거나 줄일 수 있습니다. 1,769MB에서, 함수는 하나의 vCPU와 동등한 값을 가집니다. | 
| 함수 제한 시간 | 900초(15분) | 
| 함수 [환경 변수](configuration-envvars.md) | 4KB, 함수와 관련된 모든 환경 변수에 대한 합계 | 
| 함수 [리소스 기반 정책](access-control-resource-based.md) | 20KB | 
| 함수 [계층](chapter-layers.md) | 5개 계층 | 
| 함수 [동시성 스케일링 제한](scaling-behavior.md) | 각 함수에 대해 10초 당 1,000개의 실행 환경 | 
| [간접 호출 페이로드](lambda-invocation.md)(요청 및 응답) | 요청 및 응답당 각각 6MB(동기식)<br />각 [스트리밍되는 응답](configuration-response-streaming.md)에 대해 200MB(동기식)<br />1MB(비동기식)<br />요청 라인과 헤더 값의 총 합산 크기 1MB | 
| [스트리밍되는 응답](configuration-response-streaming.md)의 대역폭 | 함수 응답의 처음 6MB에 대해 제한 없음<br />6MB보다 큰 응답의 경우 응답의 나머지 부분에 대해 2MBps | 
| [배포 패키지(.zip 파일 아카이브)](configuration-function-zip.md) 크기 | 50MB(Lambda API나 SDK를 통해 업로드하는 경우 압축됨) Amazon S3로 더 큰 파일을 업로드합니다.<br />50MB(Lambda 콘솔을 통해 업로드하는 경우)<br />250MB 계층 및 사용자 지정 런타임을 포함한 배포 패키지 콘텐츠의 최대 크기(압축 해제됨)<br /> | 
| 컨테이너 이미지 설정 크기 | 16KB | 
| [컨테이너 이미지](images-create.md) 코드 패키지 크기 | 10GB(모든 레이어를 포함한 최대 비압축 이미지 크기) | 
| 테스트 이벤트(콘솔 편집기) | 10 | 
| `/tmp` 디렉터리 스토리지 | 512MB에서 10,240MB 사이, 1MB 단위로 증가 | 
| 파일 설명자 | 1,024 Lambda 관리형 인스턴스에서는 더 높은 파일 서술자 한도(4,096)를 사용합니다. 자세한 내용은 [Lambda 관리형 인스턴스 실행 환경 이해](lambda-managed-instances-execution-environment.md) 섹션을 참조하세요.  | 
| 실행 프로세스/스레드 | 1,024 Lambda 관리형 인스턴스는 [Bottlerocket](https://aws.amazon.com/bottlerocket/)의 기본 프로세스 및 스레드 제한을 사용합니다. 자세한 내용은 [Lambda 관리형 인스턴스 실행 환경 이해](lambda-managed-instances-execution-environment.md) 섹션을 참조하세요.  | 
| 지속성 실행당 최대 지속성 작업 수 | 3,000 자세한 내용은 [사용 가능한 지속성 작업](durable-execution-sdk.md#durable-sdk-operations)을 참조하세요.  | 
| 지속성 실행 스토리지(MB) | 100MB 실행당 지속성 함수에 의해 지속되는 누적 페이로드 크기입니다. 자세한 내용은 [지속성 작업당 지속되는 데이터](durable-execution-sdk.md#durable-operations-checkpoint-consumption)를 참조하세요.  | 

## Lambda API 요청
<a name="api-requests"></a>

다음 할당량은 Lambda API 요청과 연관되어 있습니다.


| 리소스 | 할당량 | 
| --- | --- | 
| 리전별 함수당 간접 호출 요청(동기) | 실행 환경의 각 인스턴스가 초당 최대 10개의 요청을 처리할 수 있습니다. 즉, 총 간접 호출 한도는 동시성 한도의 10배입니다. [Lambda 함수 규모 조정 이행](lambda-concurrency.md)을(를) 참조하세요. | 
| 리전별 함수당 간접 호출 요청(비동기) | 실행 환경의 각 인스턴스가 요청을 무제한으로 처리할 수 있습니다. 즉, 총 간접 호출 한도는 함수에서 사용할 수 있는 동시성만을 기준으로 합니다. [Lambda 함수 규모 조정 이행](lambda-concurrency.md)을(를) 참조하세요. | 
| 함수 버전 또는 별칭당 간접 호출 요청(초당 요청 수) | 10배 할당된 [프로비저닝된 동시성](configuration-concurrency.md) 이 할당량은 프로비저닝된 동시성을 사용하는 함수에만 적용됩니다.  | 
| [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html) API 요청 | 초당 요청 100개입니다. 늘릴 수 없습니다. | 
| [GetPolicy](https://docs.aws.amazon.com/lambda/latest/api/API_GetPolicy.html) API 요청 | 초당 요청 15개입니다. 늘릴 수 없습니다. | 
| [CheckpointDurableExecution](https://docs.aws.amazon.com/lambda/latest/api/API_CheckpointDurableExecution.html) API 요청 | 초당 1,000 요청. | 
| [GetDurableExecution](https://docs.aws.amazon.com/lambda/latest/api/API_GetDurableExecution.html) API 요청 | 초당 요청 30개입니다. | 
| [GetDurableExecutionHistory](https://docs.aws.amazon.com/lambda/latest/api/API_GetDurableExecutionHistory.html) API 요청 | 초당 요청 15개입니다. | 
| [GetDurableExecutionState](https://docs.aws.amazon.com/lambda/latest/api/API_GetDurableExecutionState.html) API 요청 | 초당 1,000 요청. | 
| [ListDurableExecutionsByFunction](https://docs.aws.amazon.com/lambda/latest/api/API_ListDurableExecutionsByFunction.html) API 요청 | 초당 요청 15개입니다. | 
| [SendDurableExecutionCallbackFailure](https://docs.aws.amazon.com/lambda/latest/api/API_SendDurableExecutionCallbackFailure.html) API 요청 | 초당 요청 300개입니다. | 
| [SendDurableExecutionCallbackHeartbeat](https://docs.aws.amazon.com/lambda/latest/api/API_SendDurableExecutionCallbackHeartbeat.html) API 요청 | 초당 요청 300개입니다. | 
| [SendDurableExecutionCallbackSuccess](https://docs.aws.amazon.com/lambda/latest/api/API_SendDurableExecutionCallbackSuccess.html) API 요청 | 초당 요청 300개입니다. | 
| [StopDurableExecution](https://docs.aws.amazon.com/lambda/latest/api/API_StopDurableExecution.html) API 요청 | 초당 요청 30개입니다. | 
| 나머지 컨트롤 플레인 API 요청(간접 호출, GetFunction 및 GetPolicy 요청 제외) | 모든 API에서 초당 요청 15개입니다(API별 초당 요청 15개 아님). 늘릴 수 없습니다. | 

## 기타 서비스
<a name="quotas-other-services"></a>

AWS Identity and Access Management(IAM), Amazon CloudFront(Lambda@Edge), Amazon Virtual Private Cloud(Amazon VPC) 등의 다른 서비스에 대한 할당량이 Lambda 함수에 영향을 줄 수 있습니다. 자세한 내용은 [AWS 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 *Amazon Web Services 일반 참조*에서, 그리고 [다른 AWS 서비스의 이벤트로 Lambda 간접 호출](lambda-services.md)를 참조하세요.

Lambda를 포함하는 많은 애플리케이션은 여러 AWS 서비스를 사용합니다. 서비스마다 다양한 기능에 대한 할당량이 다르기 때문에 전체 애플리케이션에서 이러한 할당량을 관리하는 것이 어려울 수 있습니다. 예를 들어 API Gateway의 기본 스로틀 한도는 초당 요청 10,000개이지만 Lambda의 기본 동시성 한도는 1,000입니다. 이러한 불일치로 인해 Lambda가 처리할 수 있는 API Gateway의 수신 요청이 더 많아질 수 있습니다. 예상되는 트래픽 수준에 맞게 Lambda 동시성 한도 증가를 요청하여 이 문제를 해결할 수 있습니다.

애플리케이션 부하 테스트를 수행하면 프로덕션에 배포하기 전에 애플리케이션의 성능을 엔드 투 엔드 모니터링할 수 있습니다. 로드 테스트 중에 예상되는 트래픽 수준에 대한 제한 요인으로 작용할 수 있는 할당량을 식별하고 적절히 작업을 수행할 수 있습니다.