View a markdown version of this page

AWS Lambda이란 무엇인가요? - AWS Lambda

AWS Lambda이란 무엇인가요?

AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. Lambda가 서버 유지 보수, 용량 프로비저닝, 스케일링 및 패칭을 포함한 기본 인프라를 자동으로 관리하므로 사용자는 애플리케이션 로직에 집중할 수 있습니다.

Lambda는 서로 다른 워크로드 패턴에 맞게 설계된 두 가지 컴퓨팅 프리미티브를 제공합니다.

  • Lambda 함수 - 서버를 관리하지 않고 이벤트 또는 API 직접 호출에 대한 응답으로 코드를 실행합니다. 핸들러 함수를 작성하고 트리거(API Gateway, Amazon S3, Amazon SQS, EventBridge 및 200여 개의 기타 AWS 서비스)에 연결하면 Lambda가 이를 실행합니다. 각 간접 호출은 공유된 상태 없이 독립적으로 실행되며 수요에 맞게 수평적으로 스케일링됩니다. Lambda는 실행 환경, 스케일링, 라우팅 및 내결함성을 관리합니다.

  • Lambda MicroVM - 거의 즉시 시작되며 최대 8시간 동안 상태를 유지하는 격리된 컴퓨팅 환경입니다. 각 개별 사용자 또는 작업에 대한 전용 컴퓨팅 환경이 필요한 워크로드용으로 설계되었습니다. Lambda는 격리, 용량 및 네트워킹을 관리합니다. 애플리케이션은 Lambda MicroVM API와 HTTPS 엔드포인트를 사용하여 각 사용자/작업을 컴퓨팅 환경에 연결합니다.

요금 정보는 AWS Lambda 요금을 참조하세요.

Lambda 함수와 Lambda MicroVM 비교

Lambda 함수와 Lambda MicroVM은 공통된 서버리스 기반을 공유합니다.

  • 서버 관리 없음 - AWS는 기본 인프라, 인스턴스 패칭 및 용량을 관리합니다.

  • 종량제 - 선결제 약정이 없습니다. 사용하는 리소스에 대해서만 비용을 지불합니다.

  • 관리형 네트워킹 - 둘 다 서비스 관리형 인바운드 및 아웃바운드 네트워크 액세스를 제공합니다.

  • Firecracker 가상화 - 워크로드 간의 VM 수준 격리입니다.

이 기반을 공유하는 동안 다양한 사용 사례를 제공합니다.

Lambda 함수 Lambda MicroVM
최적의 용도 요청-응답 또는 이벤트 기반 워크로드(API, 데이터 처리, 자동화) 사용자 또는 AI가 생성한 신뢰할 수 없는 코드를 실행하는 영구 환경
프로그래밍 모델 지원되는 런타임에 간접적으로 호출되는 함수 핸들러 모든 애플리케이션 - 자체 바이너리 실행, 포트에서 수신, Linux OS 기능 사용
지속 시간 간접 호출당 최대 15분, Lambda 내구성 함수를 사용하여 최대 1년 동안 지속되는 다단계 워크플로 세션당 최대 8시간, 세션 간 일시 중지 및 재개
런타임 환경 서비스 제공 언어 런타임, 고객 제공 런타임 지원 고객 제공 MicroVM 이미지
인바운드 네트워킹 AWS 서비스에 대한 직접적인 간접 호출 또는 이벤트 소스 통합, 응답 스트리밍 지원 OSI 계층 7 프로토콜을 사용하여 모든 포트에 대한 인바운드 액세스
동시성 실행 환경당 한 번에 하나의 요청 MicroVM당 여러 동시 연결
환경 상태 실행 환경 재사용 가능(웜 스타트), 간접 호출 간에 상태가 지속되지 않을 수 있음 일시 중지 시 메모리 및 디스크 상태 유지 및 재개 시 복원
스케일링 자동 - Lambda가 트래픽에 따라 실행 환경 생성 및 폐기 개발자 제어 - API를 통해 MicroVM 생성, 일시 중지, 재개 및 종료
수명 주기 Lambda에서 완전 관리 개발자 제어, 자동 일시 중지 및 재개를 위한 선택적 유휴 정책
요금 요청당 + GB-초 단위 실행 시간 실행 중 초당 컴퓨팅 + 일시 중지 중 스냅샷 스토리지