실습 개요
Lambda 함수를 최대 크기 10GB의 컨테이너 이미지로 패키징하고 배포할 수 있습니다. 그러면 머신러닝 또는 데이터 집약적 워크로드처럼 큰 종속성에 의존하는 대규모 워크로드를 구축하고 배포할 수 있습니다. 컨테이너 이미지로 배포된 함수는 ZIP 아카이브로 패키징된 함수와 동일한 수준의 운영 간편성, 오토스케일링, 고가용성 및 많은 서비스와의 네이티브 통합을 활용할 수 있습니다.
이 실습에서는 컨테이너 이미지를 활용하여 AWS Lambda에 샘플 애플리케이션을 배포합니다. AWS Cloud9을 클라우드 기반 통합 개발 환경(IDE)으로 사용하여 샘플 애플리케이션을 생성하고, 로컬에서 테스트하고, 컨테이너 이미지를 Amazon Elastic Container Registry(Amazon ECR)에 업로드한 다음, 마지막으로 AWS Serverless Application Model(SAM)을 사용하여 AWS Lambda에 배포합니다.
이 실습은 JavaScript를 사용하여 완료하며, Lambda용 AWS 기본 이미지로 시작하여 새 Lambda 함수용 컨테이너 이미지를 구축합니다. 대체 기본 이미지에서 이미지를 생성할 수도 있습니다.
컨테이너 이미지를 생성하려면 다음 컨테이너 이미지 매니페스트 형식 중 하나를 지원하는 개발 도구를 사용하면 됩니다.
- Docker 이미지 매니페스트 V2, 스키마 2(Docker 버전 1.10 이상에 사용)
- OCI 사양(v1.0.0 이상)
예를 들어 Docker CLI를 사용하여 컨테이너 이미지를 구축, 테스트, 배포할 수 있습니다. 이 실습에서는 이를 위해 AWS SAM CLI를 사용합니다.
이 실습을 완료하려면 약 90분이 소요됩니다.
이 실습에서 다루는 주제
이 실습을 마치면 다음을 수행할 수 있습니다.
- Lambda Runtime Interface Emulator를 사용하여 Cloud9 개발 환경에서 로컬로 Lambda 함수를 생성하고 테스트
- Lambda 컨테이너 이미지를 Amazon Elastic Container Registry(Amazon ECR)에 업로드
- Lambda 함수에서 사용되는 컨테이너를 수정하고 다시 업로드
- Amazon API Gateway 엔드포인트를 통해 Lambda 함수 호출
필수 기술 지식
이 실습을 성공적으로 마치려면 AWS 관리 콘솔의 기본적인 사용 방법과 텍스트 편집기를 사용하여 스크립트를 편집하는 데 익숙해야 합니다.