본문 바로가기

AWS 기본 환경 실습/AWS Lambda

AWS Lambda의 서비스 동작 방식

AWS Lambda는 4단계의 절차를 걸쳐 동작하도록 구현되어 있음.

 

LAmbda 함수 호출은 이벤트 소스 또는 사전에 정의된 일정 또는 스케줄러를 통해 이벤트가 발생

 

AWS Lambda 서비스 동작 방식

 

ㅁ 첫번째 이벤트 소스로부터 함수 실행에 대한 트리거 발생

 

이러한 트리거는 S3 Bucket에 파일을 업로드하거나, 수정, 삭제 시 발생되도록 구성할 수 있다.

 ㅇ  S3로 이미지를 업로드하면 업로드된 이미지에 대한 Thumbnail을 자동으로 처리하는 Lambda 함수를 실행하도록 구성 가능

 ㅇ  DynamoDB의 특정 Fielddp Insert나 업데이트 수행 시 업데이트 된 정보를 다른 RDB로 업데이트 하는 Lambda 함수를 구현

 ㅇ 스케줄러 설정을 통해 특정 시점에 자동으로 Lambda 함수를 실행하도록 구성하여, 정기적으로 EC2에 대한 Snapshot을 남기도록 구현 가능

  ㅇ AWS Lambda의 이벤트 소스로 가능한 서비스

구분 서비스명
데이터스토어 Amazon S3, Amazon DynamoDB, Amazon Kinesis, Amazon Cognito, Amazon RDS Aurora
엔드포인트 Amazon Alexa, Amazon API Gateway, AWS IoT
리포지토리 AWS CloudFormation, AWS CloudTrail, Amazon CloudWatch
이벤트 및 메시지 서비스 Amazon SES, Amazon SNS, CRON Event
오케스트레이션 AWS Step Function

ㅁ 두번째 LAmbda 함수를 다양한 런타임과 라이브러리를 활용해 개발 가능

 

   ㅇ AWS Lambda는 웹 기반의 전용 Editor에서 코드를 직접 개발 가능

   ㅇ 함수 실행에 필요한 메모리 용량, 실행 시간, 동시성 구성, 환경 변수 설정을 수행할 수 있다.

   ㅇ Lambda의 내장 런타임 이외에 다양한 라이브러리나 프레임워크를 사용하도록 Lambda Layer를 구성할 수 있다. 

 

ㅁ 세번째 AWS의 다양한 리소스에 접근 가능하도록 권한을 설정, Access 권한 및 실행 권한 관리 가능

 

   ㅇ AWS Lambda는 Lambda에서 AWS의 다양한 리소스에 접근 권한을 제어 할 수 있도록 IAM Role 구성 가능

   ㅇ Lambda 실행 역할을 통해 AWS 서비스 및 리소스에 대한 엑세스 권한 부여 

   ㅇ 리소스 기반 정책을 사용하여 다른 계정과 AWS 서비스에 대한 Lambda 리소스를 사용할 수 있도록 권한 부여

 

 

[AWS Lambda 리소스 기반 정책 (Resource-based Policies)]

 

 - Lambda 기능에 부여한 권한으로 호출할 수 있는 서비스 또는 이벤트 소스가 결정됨
 - 리소스 기반 정책을 통해 Lambda 기능을 호출할 수 있는 타 계정 간(Cross-Account) 사용 권한 쉽게 부여 가능
 - AWS 서비스에서 함수를 호출하는 경우 리소스 기반 정책으로 권한 부여 필요함

 

[AWS Lambda 실행 역할 (Execution Role)]

 

 - AWS 서비스 및 리소스에 대한 엑세스 권한 부여
 - Amazon DynamoDB 또는 Amazon Kinesis 이벤트가 발생되면, Lambda에 대해 IAM 역할에 읽기 권한 추가됨
 - Lambda 이벤트로 읽는 서비스
   --> Amazon Kinesis, DynamoDB, Simple Queue Service

 

ㅁ 네번째 AWS 서비스와 연결 및 연동을 통해 다양한 서비스를 갭라하거나 구현 가능

 

이를 통해 다른 AWS Serverless 서비스를 바로 실행하거나, AI 기반의 다양한 인공지능 서비스 및 API를 제공하는 다양한 서비스를 통합하여 비즈니스에 필요한 활용 시나리오를 구현할 수 있다.

 

 

'AWS 기본 환경 실습 > AWS Lambda' 카테고리의 다른 글

AWS Lambda의 서비스 모델  (0) 2021.02.19