AWS Lambda는 4단계의 절차를 걸쳐 동작하도록 구현되어 있음.
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 |
---|