View a markdown version of this page

AWS Lambda MicroVM - AWS Lambda

AWS Lambda MicroVM

여러 사용자 또는 AI 에이전트가 컴퓨팅 환경에 연결하고 코드를 실행하는 애플리케이션을 구축하는 경우(예: 대화형 개발 환경, CI/CD 시스템 또는 AI용 샌드박스) 빠르게 시작하고, 테넌트 간에 격리된 상태로 유지되며. 서버 또는 네트워킹을 관리할 필요가 없는 컴퓨팅 환경이 필요합니다.

AWS Lambda MicroVM은 이러한 사용 사례를 위해 특별히 구축되었습니다. VM 수준의 격리 기능을 제공하면서도 전체 운영 체제 기능(예: 시스템 패키지 설치 또는 파일 시스템 탑재)을 갖추고, 스냅샷 기반의 빠른 시작 속도를 지원하며, 수신 네트워킹(포트 액세스, HTTP/2, gRPC, WebSockets 지원) 및 송신 네트워킹(퍼블릭 인터넷 액세스 및 VPC 액세스)에 대한 세밀한 제어가 가능한 서버리스 컴퓨팅 환경입니다.

대화형 개발 환경 및 AI 샌드박스와 같은 대화형 사용 사례의 경우 최종 사용자 컨텍스트가 다른 작업으로 전환되거나 AI를 기다릴 때 환경이 장기간 유휴 상태가 될 수 있습니다. 유휴 시 MicroVM을 일시 중지하여 메모리와 디스크 상태를 유지하면서 비용을 절감할 수 있습니다. 트래픽이 도착하면 MicroVM이 재개됩니다. 자동 또는 프로그래밍 방식의 일시 중지 및 재개를 활성화하여 유휴 비용을 줄이는 동시에 최종 사용자가 돌아올 때 거의 즉시 서비스를 이용할 수 있도록 준비 상태를 유지할 수 있습니다.

AWS Lambda MicroVM은 Lambda 함수의 월 15조 건 이상의 간접 호출을 지원하는 Firecracker 가상화를 통해 이러한 핵심 기능을 제공합니다.

시작하려면 첫 번째 MicroVM 생성을 참조하세요. 요금 정보는 AWS Lambda 요금을 참조하세요.

Lambda MicroVM 작동 방식

  1. 애플리케이션 코드와 Dockerfile을 zip 아카이브로 패키징하고 Amazon S3에 업로드합니다.

  2. Lambda API를 직접적으로 호출하여 MicroVM 이미지를 생성합니다. Lambda는 Dockerfile을 실행하고, 애플리케이션을 시작하고, 완전히 초기화된 환경의 스냅샷을 캡처합니다.

  3. 애플리케이션에 사용자 세션, 작업 또는 샌드박스를 위한 격리된 환경이 필요한 경우 run-microvm을 직접적으로 호출합니다. Lambda는 스냅샷에서 MicroVM을 실행하며 시작 시간이 매우 빠릅니다.

  4. 클라이언트는 전용 HTTPS 엔드포인트를 통해 실행 중인 MicroVM에 연결합니다. 로드 밸런서 또는 수신 인프라가 필요하지 않습니다.

  5. 유휴 시 MicroVM이 일시 중지되어 메모리와 디스크 상태를 유지하면서 비용을 절감합니다. 트래픽이 반환되면 메모리 및 디스크 상태가 그대로 유지된 상태로 MicroVM이 재개됩니다. 일시 중지 및 재개 동작은 수명 주기 정책을 통해 자동으로 구성하거나 API 직접 호출을 통해 직접 suspend-microvmresume-microvm으로 트리거할 수 있습니다.

  6. 세션이 종료되면 MicroVM을 종료하여 모든 리소스를 해제합니다.

Lambda MicroVM을 사용해야 하는 경우

Lambda MicroVM은 사용자 또는 AI 생성 코드를 실행하며 강력한 격리, 빠른 시작 및 재개 지연 시간, 환경 수명 주기 및 상태 보존에 대한 개발자 제어를 제공하는 실행 환경이 필요한 사용 사례에 적합합니다. 일반적인 사용 사례는 다음과 같습니다.

  • 대화형 코드 환경 - 사용자가 실시간으로 코드를 작성하고 실행하는 개발 환경입니다.

  • AI 코드 실행 샌드박스 - AI 생성 코드를 안전하게 실행하기 위한 임시 샌드박스입니다.

  • 데이터 분석 애플리케이션 - 사용자 제공 스크립트를 실행하는 Jupyter Notebook 및 임시 데이터 처리 워크로드입니다.

  • 보안 스캔 - 격리된 실행 환경이 필요한 취약성 평가 도구입니다.

  • 강화 학습 환경 - AI 에이전트 평가 및 훈련을 위한 격리된 샌드박스로, 실행할 때마다 새로운 환경이 생성됩니다.

  • 멀티테넌트 CI/CD - 테넌트 간 격리가 필요한 작업 실행기입니다.

  • 게임 서버 - 강력한 격리와 함께 사용자 제공 스크립트를 실행하는 호스팅 환경입니다.

주요 기능

  • 빠른 시작 - MicroVM이 사전 초기화된 스냅샷에서 재개되어 애플리케이션 초기화를 건너뜁니다. MicroVM 이미지을(를) 참조하세요.

  • 수명 주기 제어 - 구성 가능한 유휴 정책을 통해 프로그래밍 방식 또는 자동으로 MicroVM을 일시 중지, 재개 및 종료합니다. MicroVM 실행을(를) 참조하세요.

  • 유연한 네트워킹 - MicroVM은 서비스 제공 JWE 인증과 함께 구성 가능한 포트에서 인바운드 HTTPS 트래픽을 지원합니다. 아웃바운드 액세스 구성이 가능합니다. 퍼블릭 인터넷 또는 VPC에 액세스합니다. 자세한 내용은 네트워킹 섹션을 참조하세요.

  • 유연한 리소스 할당 - 기준 또는 평균 사용량에 맞춰 각 MicroVM을 프로비저닝할 수 있으며, 피크 활동 중 구성된 기준의 4배로 수직적 스케일링이 가능합니다. MicroVM이 실행되는 동안 기준 요금을 지불하고 기준을 초과하여 실제로 사용한 만큼만 요금을 지불합니다.