Lambda는 구성된 메모리 크기에 비례하여 CPU 처리능력을 할당합니다. 메모리는 런타임에 Lambda 함수가 사용할 수 있는 메모리 양입니다. 메모리 설정을 사용하면 함수에 할당된 메모리 및 CPU 성능을 늘리거나 줄일 수 있습니다. 메모리는 128MB에서 10,240MB 사이에서 1MB 단위로 구성할 수 있습니다. 1,769MB에서 함수는 하나의 vCPU와 동등한 값을 갖습니다(초당 하나의 vCPU-초 크레딧).
이 페이지에서는 Lambda 함수의 메모리 설정을 업데이트하는 경우와 방법을 설명합니다.
Sections
Lambda 함수에 대한 적절한 메모리 설정을 결정합니다.
메모리는 함수의 성능을 제어하는 주요 수단입니다. 기본 설정인 128MB는 가능한 가장 낮은 설정입니다. 이벤트를 변환하고 다른 AWS 서비스로 라우팅하는 함수와 같은 간단한 Lambda 함수에는 128MB만 사용하는 것이 좋습니다. 메모리를 더 많이 할당하면 가져온 라이브러리, Lambda 계층, Amazon Simple Storage Service(Amazon S3) 또는 Amazon Elastic File System(Amazon EFS)을 사용하는 함수의 성능이 향상될 수 있습니다. 메모리를 더 추가하면 그에 비례하여 CPU 양도 증가하여 사용 가능한 전체 컴퓨팅 파워가 증가합니다. 함수가 CPU, 네트워크 또는 메모리 바인딩인 경우 메모리 설정을 늘리면 성능이 크게 향상될 수 있습니다.
올바른 메모리 구성을 찾으려면 Amazon CloudWatch를 사용하여 함수를 모니터링하고 메모리 소비가 구성된 최대값에 근접하는 경우 경보를 설정합니다. 이 경우 메모리 경계 함수를 식별하는 데 도움이 될 수 있습니다. CPU 경계 및 IO 경계 함수의 경우 지속 시간을 모니터링하면 더 많은 인사이트를 얻을 수 있습니다. 이러한 경우 메모리를 늘리면 컴퓨팅 또는 네트워크 병목 현상을 해결할 수 있습니다.
오픈 소스 AWS Lambda Power Tuning
함수 메모리 구성(콘솔)
Lambda 콘솔에서 함수의 메모리를 구성할 수 있습니다.
함수의 메모리를 업데이트하려면
Lambda 콘솔의 함수 페이지
를 엽니다. -
함수를 선택합니다.
-
구성 탭을 선택한 다음 일반 구성을 선택합니다.
-
일반 구성에서 편집을 선택합니다.
-
메모리에 128MB에서 10,240MB 사이의 값을 설정합니다.
-
Save(저장)를 선택합니다.
함수 메모리 구성(AWS CLI)
update-function-configuration
aws lambda update-function-configuration \ --function-name
my-function
\ --memory-size1024
함수 메모리 구성(AWS SAM)
AWS Serverless Application Model을 사용하여 함수의 메모리를 구성할 수 있습니다. template.yaml
파일의 MemorySize 속성을 업데이트한 다음 sam deploy를 실행합니다.
예 template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: An AWS Serverless Application Model template describing your function.
Resources:
my-function
:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Description: ''
MemorySize: 1024
# Other function properties...
함수 메모리 권장 사항 수락(콘솔)
AWS Identity and Access Management(IAM)의 관리자 권한이 있는 경우 AWS Compute Optimizer에서 Lambda 함수 메모리 설정 권장 사항을 수신하도록 옵트인할 수 있습니다. 계정 또는 조직에 대한 메모리 권장 사항을 옵트인하는 방법에 대한 지침은 AWS Compute Optimizer 사용 설명서의 계정 옵트인을 참조하세요.
참고
Compute Optimizer는 x86_64 아키텍처를 사용하는 함수만 지원합니다.
옵트인한 상태에서 Lambda 함수가 Compute Optimizer 요구 사항을 충족하는 경우 Lambda 콘솔의 일반 구성에서 Compute Optimizer의 함수 메모리 권장 사항을 보고 수락할 수 있습니다.