메모리 및 컴퓨팅 성능은 AWS Lambda 비용에 어떤 영향을 미치나요?

3분 분량
0

메모리 및 컴퓨팅 성능이 AWS Lambda 비용에 어떤 영향을 미치는지 알고 싶습니다.

간략한 설명

Lambda 개발자는 메모리를 사용하여 함수의 성능을 제어할 수 있습니다. Lambda 함수에 할당된 메모리 용량은 128MB에서 10,240MB 사이입니다. Lambda 콘솔은 새 함수의 기본값을 128MB로 설정하며 많은 개발자가 함수로 128MB를 선택합니다.

그러나 간단한 Lambda 함수에는 128MB만 선택하는 것이 가장 좋습니다. 이벤트를 변환하여 다른 AWS 서비스로 라우팅하는 함수를 예로 들 수 있습니다. 함수가 다음 작업 중 하나를 수행하는 경우 더 많은 메모리가 할당됩니다.

  • 라이브러리를 가져옵니다.
  • Lambda 레이어를 가져옵니다.
  • Amazon Simple Storage Service(S3)에서 로드된 데이터와 상호 작용합니다.
  • Amazon Elastic File System(Amazon EFS)에서 로드된 데이터와 상호 작용합니다.

해결 방법

Lambda 함수 요금

Lambda 요금은 함수에 대한 요청 수와 코드 실행에 소요되는 지속 시간을 기준으로 책정됩니다. Lambda는 이벤트 알림에 대한 응답으로 요청이 호출될 때마다 요청의 수를 계산합니다. 예를 들어, Amazon Simple Notification Service(SNS) 또는 Amazon EventBridge에서의 요청이 있습니다. 또한 Lambda는 호출에 대한 응답으로 요청이 시작될 때마다 요청의 수를 계산합니다. 예를 들어 Amazon API Gateway에서의 요청 또는 Lambda 콘솔에서의 테스트 호출을 비롯한 AWS SDK를 사용한 요청이 있습니다.

지속 시간은 코드가 실행되기 시작한 시간부터 반환되거나 중지될 때까지의 시간을 계산하며, 가장 가까운 1밀리초로 반올림됩니다. 자세한 내용은 AWS Lambda 요금을 참조하세요. 가격은 함수에 할당하는 메모리 용량에 따라 달라집니다. 메모리 용량은 함수에 사용할 수 있는 가상 CPU의 양도 결정합니다. 메모리를 추가하면 그에 비례하여 CPU 용량이 늘어나 사용 가능한 컴퓨팅 성능이 향상됩니다. 함수가 CPU, 네트워크 또는 메모리에 바인딩된 경우 메모리 설정을 변경하면 성능이 향상될 수 있습니다. 메모리 크기가 커지면 함수에 사용할 수 있는 CPU도 그만큼 늘어납니다.

메모리 성능이 Lambda 비용에 미치는 영향

Lambda 서비스는 함수가 소비한 총 기가바이트초에 대해 요금을 청구합니다. 총 지속 시간이 일정하게 유지되는 경우 메모리 증가는 전체 비용에 영향을 미칩니다. 기가바이트 초는 총 메모리(기가바이트)와 지속 시간(초)의 곱입니다. 그러나 사용 가능한 메모리를 늘리면 지속 시간이 줄어듭니다. 결과적으로 전체 비용 증가는 미미하거나 감소하기도 합니다.

예를 들어 소수를 계산하는 함수를 1,000번 호출하는 경우 메모리 수준에 따른 평균 지속 시간은 다음과 같습니다.

메모리지속 시간비용
128MB11.722초$0.024628
512MB6.678초$0.028035
1024MB3.194초$0.026830
1536MB1.465초$0.02463

이 예제에서는 128MB에서 함수를 완료하는 데 평균 11.722초가 걸리며, 1,000회 호출에 $0.024628의 비용이 듭니다. 메모리를 1536MB로 늘리면 평균 지속 시간이 1.465초로 떨어지므로 비용은 $0.024638입니다. 1,000분의 1센트의 비용 차이로 이 함수의 성능은 10배 향상되었습니다.

메모리 사용량이 구성된 최대치에 가까워지면 Amazon CloudWatch로 기능을 모니터링하고 알람을 설정하세요. 이렇게 하면 메모리에 바인딩된 함수를 식별하는 데 도움이 됩니다. CPU 및 IO에 바인딩된 기능의 경우 지속 시간을 모니터링하여 더 많은 인사이트를 확보하세요. 이러한 경우 메모리를 늘리면 컴퓨팅 또는 네트워크 병목 현상을 해결하는 데 도움이 됩니다. 자세한 내용은 모니터링 및 관측성을 참조하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전