목록AWS/Lambda (6)
우노
들어가기 앞서, Lambda 의 실행 환경은 Cold Start 와 Warm Start 상태로 구분되며, Lambda 는, 함수가 5분 동안 실행되지 않을 경우, 실행 환경을 Warm Start 에서 Cold Start 상태로 전환합니다. Cold Start 상태에서의 함수 실행 시간은, Warm Start 상태에서의 함수 실행 시간보다 응답이 지연됩니다. 따라서, Warm Start 를 유지하기 위한 방법 중 하나로, CloudWatch 를 사용해 주기적으로 Lambda 함수를 실행 해놓는 방법이 있습니다. 1. 단순히 Lambda 호출만 반복할 경우 Lambda 함수 접근 후, 좌측의 [트리거 추가] 클릭 트리거 구성 후, 추가 1-1. Lambda 함수 접근 후, 좌측의 [트리거 추가] 클릭 1-2..
AWS Lambda Provisioned Concurrency 란? AWS Lambda 에는 Cold Start 라는 개념이 존재합니다. Lambda 는, 사용자로부터 요청을 받으면, 함수를 실행할 수 있는 런타임 환경을 준비한 뒤, 함수를 실행합니다. 하지만, 한 동안 함수를 사용하지 않았거나, 함수를 새롭게 업데이트했다면, Lambda 는 사용자로부터 요청을 받았을 때, 새로운 런타임 환경을 준비하는 시간을 갖게 됩니다. 이 때 발생하는 지연 시간을 Cold Start 라고 합니다. 이러한 문제를 해결하기 위해 생성된 기능이 Provisioned Concurrency 이며, Provisioned Concurrency 는 AWS Lambda 함수를 지속적으로 초기화하며, 런타임 환경을 준비함으로써, 사..
Container Image 기반으로 Lambda Function 을 구현하면, 로그 출력으로 Duration, Billed Duration, Init Duration 을 확인할 수 있다. Init Duration Lambda 함수 초기화 시간 cold start 에만 발생 Duration 함수 실행 시간 cold start, warm start 모두 발생 Billed Duration 비용 청구 시간 cold start 일 땐 Init Duration + Duration = Billed Duration warm start 일 땐 Duration = Billed Duration
구현 순서 EC2 생성 및 접속 Docker 설치 Dockerfile 생성 Image 생성 액세스 키 생성 AWS Configure 설정 ECR 환경 설정 Image tagging ECR 에 Image 업로드 Lambda Function 생성 Lambda Function 테스트 1. EC2 생성 및 접속 AWS Console 에서 EC2 서비스에 접속합니다. 아래 설정으로 EC2 를 생성합니다. Amazon Machine Image(AMI) Amazon Linux 2 AMI (HVM), SSD Volume Type 인스턴스 유형 t2.medium 스토리지 크기 20GB 보안 그룹 SSH, TCP, 22, 위치무관 2. Docker 설치 생성한 EC2 에 접속한 뒤, Docker 를 설치합니다. (Linu..
목표 Tensorflow 모델을 사용해, 입력에 대한 예측값을 출력해주는 Lambda Function 을 생성합니다. Lambda Function 은 모델을 사용하기 위해 고용량 패키지를 호출해야하는데, AWS Lambda 에서 제공해주는 파일 저장소는 크기 제한이 존재하므로 Amazon EFS 를 통해 AWS Lambda 에서 고용량 패키지를 사용 가능하도록 설정합니다. 순서 Lambda 에서 사용할 package 를 EFS 에 설치 EFS 를 마운트 할 EC2 생성 Lambda 에서 EFS 로 접근하기 위해, EFS 용 보안 그룹 생성 EFS 및 액세스 포인트 생성 EC2 접속 후, EFS 마운트를 위한 패키지 설치 EC2 에 EFS 마운트를 진행할 디렉토리 생성 후, 마운트 진행 마운트 디렉토리에 ..
S3 접근 역할 생성 Lambda에서 S3에 접근하기 위해선 AmazonS3FullAcess 역할이 필요함. IAM → 역할 → 역할 만들기 → 사용 사례 : Lambda → AmazonS3FullAccess 할당 → 역할명 입력 → 역할 생성 Lambda 생성 Lambda → 함수 생성 → 함수 이름 입력 → 런타임 python 3.8 기본 실행 역할 변경 → 기존 역할 사용 → 생성한 S3 접근 역할 선택 → 함수 생성 Lambda 함수 작성 S3 파일 다운로드 import boto3 # 버킷명 BUCKET_NAME = 'unho-spmm' # 객체명 OBJECT_NAME = 'model/sp_smdm_xgb.model' # 파일을 저장할 위치, AWS Lambda에서는 ..