Lambda 관리형 인스턴스 - AWS Lambda

Lambda 관리형 인스턴스

Lambda 관리형 인스턴스를 사용하면 인스턴스 수명 주기, 운영 체제 및 언어 런타임 패치 적용, 라우팅, 로드 밸런싱 또는 조정 정책을 관리하지 않고도 Graviton4, 네트워크 최적화 인스턴스 및 기타 특수 컴퓨팅 옵션을 포함한 최신 세대 Amazon EC2 인스턴스에서 Lambda 함수를 실행할 수 있습니다. Lambda 관리형 인스턴스를 사용하면 EC2 절감형 플랜 및 예약 인스턴스를 비롯한 EC2 요금 관련 혜택을 이용할 수 있습니다.

지원되는 인스턴스 유형 목록을 보려면 AWS Lambda 요금 페이지로 이동하고 AWS 리전을 선택합니다.

주요 기능

Lambda 관리형 인스턴스는 다음 기능을 제공합니다.

  • 적합한 인스턴스 선택 - Graviton4와 같은 최신 CPU 액세스, 구성 가능한 메모리-CPU 비율, 고대역폭 네트워킹 등 성능 및 비용 요구 사항에 따라 적절한 인스턴스를 선택합니다.

  • 자동 프로비저닝 - AWS는 적절한 인스턴스를 자동으로 프로비저닝하고 함수 실행 환경을 가동합니다.

  • 동적 조정 - 인스턴스는 함수 트래픽 패턴에 따라 동적으로 규모가 조정됩니다.

  • 완전 관리형 환경 - AWS는 사용자에게 익숙한 광범위한 이벤트 소스 통합을 통해 인프라 관리, 규모 조정, 패치 적용 및 라우팅을 처리합니다.

Lambda 관리형 인스턴스를 사용해야 하는 경우

다음 사용 사례에 Lambda 관리형 인스턴스를 고려하는 것이 좋습니다.

  • 예측 가능한 대용량 워크로드 - 예상치 못한 트래픽 급증이 발생하지 않는 정상 상태 워크로드에 가장 적합합니다. Lambda 관리형 인스턴스는 기본적으로 5분 이내에 2배로 증가하는 트래픽을 처리하도록 규모가 조정됩니다.

  • 성능 중시 애플리케이션 - 최신 CPU, 다양한 메모리-CPU 비율 및 높은 네트워크 처리량에 대한 액세스

  • 규제 요구 사항 - VPC 및 인스턴스 배치 제어에 대한 세분화된 거버넌스 필요

  • 다양한 애플리케이션 - 서버리스로 마이그레이션하는 이벤트 기반 애플리케이션, 미디어/데이터 처리, 웹 애플리케이션 및 레거시 워크로드

작동 방식

Lambda 관리형 인스턴스는 용량 공급자를 함수 실행의 기반으로 사용합니다.

  1. 용량 공급자 생성 - VPC 구성과 선택적으로 인스턴스 요구 사항 및 조정 구성을 지정하여 함수의 실행 위치 정의

  2. 함수 생성 - 평소와 같이 Lambda 함수를 생성하고 용량 공급자에 연결

  3. 함수 버전 게시 - 게시된 이후 용량 공급자 인스턴스에서 함수 버전 활성화

용량 공급자와 함께 함수 버전을 게시하면 Lambda는 계정에서 관리형 인스턴스를 시작합니다. 기본적으로 AZ 복원력을 위해 인스턴스 3개를 시작하고 실행 환경 3개를 시작한 다음 함수 버전을 ACTIVE로 표시합니다. 이미 다른 함수가 실행 중인 기존 용량 공급자에 함수를 연결하는 경우 사용 가능한 인스턴스에 이미 새 함수의 실행 환경을 수용할 수 있는 용량이 있다면 Lambda가 새 인스턴스를 가동하지 않을 수 있습니다.

동시성 모델

Lambda 관리형 인스턴스는 다중 동시 간접 호출을 지원하며, 하나의 실행 환경이 여러 개의 간접 호출을 동시에 처리할 수 있습니다. 이는 하나의 실행 환경이 한 번에 최대 하나의 간접 호출을 실행할 수 있는 단일 동시성 모델을 제공하는 Lambda(기본값) 컴퓨팅 유형과 다릅니다. 다중 동시성은 기본 EC2 인스턴스의 사용률을 높이고 웹 서비스 또는 배치 작업과 같이 IO를 많이 사용하는 애플리케이션에 특히 유용합니다. 실행 모델의 차이로 인해 스레드 안전, 상태 관리 및 컨텍스트 격리를 런타임에 따라 다르게 처리해야 합니다.

테넌시 및 격리

Lambda(기본값) 컴퓨팅 유형은 Firecracker microVM 기술을 사용하여 공유 Lambda 플릿에서 실행 중인 실행 환경 간에 격리를 제공하는 다중 테넌트입니다. Lambda 관리형 인스턴스는 계정에서 실행되므로 최신 EC2 하드웨어 및 요금 옵션을 이용할 수 있습니다. 관리형 인스턴스는 EC2 Nitro 인스턴스에서 실행되는 컨테이너를 사용하여 Firecracker가 아닌 격리를 제공합니다. 용량 공급자는 Lambda 함수의 보안 경계 역할을 합니다. 함수는 인스턴스 내의 컨테이너에서 실행됩니다.

관리형 인스턴스 이해

Lambda 관리형 인스턴스 함수는 계정의 EC2 관리형 인스턴스에서 실행됩니다. 이러한 인스턴스는 Lambda에서 완전히 관리되므로 표준 EC2 인스턴스에 비해 인스턴스에 대한 권한이 제한적입니다. 다음을 통해 계정에서 Lambda 관리형 인스턴스를 식별할 수 있습니다.

  • EC2 DescribeInstances 출력의 Operator 필드 존재 여부

  • 인스턴스의 aws:lambda:capacity-provider 태그

이러한 인스턴스에서는 수동 종료 등 표준 EC2 작업을 직접 수행할 수 없습니다. 관리형 인스턴스를 삭제하려면 연결된 용량 공급자를 삭제합니다. 이후 Lambda는 용량 공급자 삭제 프로세스의 일부로 인스턴스를 종료합니다.

가격 책정

Lambda 관리형 인스턴스는 EC2 기반 요금을 사용하며, EC2 인스턴스 비용에 15%의 관리 요금이 추가됩니다. 이 요금 모델은 EC2 절감형 플랜, 예약 인스턴스 및 EC2 사용량에 적용되는 기타 요금 할인을 지원합니다. 요금 페이지에서 자세한 내용을 확인하세요. https://aws.amazon.com/lambda/pricing/

중요: EC2 요금 할인은 기본 EC2 컴퓨팅에만 적용되며 관리 요금에는 적용되지 않습니다.

Lambda 관리형 인스턴스와 Lambda(기본값) 컴퓨팅 유형의 차이

Lambda(기본값)와 비교할 때의 Lambda 관리형 인스턴스의 Lambda 요청 처리 방식의 차이점입니다.

주요 차이점:

Lambda(기본값) Lambda 관리형 인스턴스
동시성 모델 실행 환경 하나가 한 번에 최대 하나의 간접 호출을 지원할 수 있는 단일 동시성 모델 하나의 실행 환경에서 여러 간접 호출을 동시에 처리할 수 있는 다중 동시 간접 호출로 특히 IO 사용량이 높은 애플리케이션의 처리량 증가
테넌시 및 격리 Firecracker microVM 기술을 사용하여 공유 Lambda 플릿에서 실행 중인 실행 환경 간에 격리를 제공하는 다중 테넌트 EC2 Nitro를 사용하여 계정 내 실행으로 격리 제공 용량 공급자가 보안 경계 역할을 하고, 함수는 인스턴스 내의 컨테이너에서 실행
요금 모델 요청당 기간 요금 온디맨드 및 예약 인스턴스를 포함한 EC2 요금 모델을 사용한 인스턴스 기반 요금과 컴퓨팅 절감형 플랜과 같은 절감 옵션
규모 조정 동작 수신하는 간접 호출을 처리할 수 있는 무료 실행 환경이 없는 경우 규모 조정(콜드 스타트), 트래픽 없이 0으로 조정 콜드 스타트 없이 CPU 리소스 사용률에만 따라 비동기식으로 조정, 트래픽 없이 구성된 최소 실행 환경으로 조정
다음과 같은 경우에 가장 적합 콜드 스타트 시간을 처리할 수 있는 트래픽 급증 함수 또는 0으로 조정하면 도움이 되는 지속적 로드 없는 애플리케이션 EC2의 유연성, 요금제 및 하드웨어 옵션을 원하는 경우 예측 가능한 대용량 트래픽 함수

다음 단계