컴퓨팅 인프라 구축 방법 발전
데이터 센터 --> IaaS/PaaS --> Container --> Serverless
Serverless
: 서버의 관리와 프로비전 없이 코드를 실행할 수 있음
- 사용한 만큼만 비용을 지불함.
- 고가용성 + 장애 내구성 확보됨
ex) EC2의 고가용성 확보 --> ELB / AutoScaling로 처리
ex) Lambda: 고가용성 장애 내구성 자동으로 확보
- 빠르게 배포하고 업데이트가 가능
- but, Serverless 환경을 잘 활용할 수 있는 아키텍쳐가 필요함(병렬 처리, 이벤트 기반 아키텍처)
AWS Lambda
: 애플리케이션과 벡엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스
- AWS서비스와 SaaS에서 Lambda를 트리거할 수 있으면 사용한 만큼 지불.
- 다양한 언어 지원
- Lambda 호출 방식
- Event 기반
- AWS 다른 서비스 or 애플리케이션이 API Gateway를 통해 호출
- 저렴함. 백만건 무료 + 이후 건 당 $0.2
AWS Lambda 구성
Development Package
: 함수의 코드와 코드를 실행하기 위한 런타임으로 구성- 용량 제한: zip파일: ~50MB / unzip파일: ~250MB- Console Editor <= 3MB- S3에 업로드 가능- Container 이미지 or Lambda Layer 등으로 우회가 가능하다.
일반 구성
- IAM 역할 - 메모리 : 128MB ~ 10GB - 제한 시간: 15분(잘게 쪼개진 로직을 위한 서비스) - /tmp 디렉토리 스토리지: Lambda에서 컴퓨팅을 위한 임시 스토리지 서비스
트리거
: AWS를 호출하는 서비스- API Gateway, SQS, S3- 각 서비스에서 호출 시 지정된 양식의 이벤트 내용을 전달함.
기타
- 권한: IAM역할로 부여된 AWS 서비스를 사용할 수 있는 권한- 태그: Lambda에 부여된 태그- 환경변수: Lambda 코드상에서 사용하는 환경 변수
테스트 이벤트
: Lambda함수를 테스트하기 위한 내용을 템플릿으로 구성 가능- 프라이빗: 함수 생성자만 10개까지 작성 가능- 공유 가능: 같은 계쩡의 다른 IAM 사용자에게 공유 가능함.- 다양한 서비스에서 Lambda 호출 시 전달하는 이벤트가 정해져 있음.
실습
- Lambda 함수 생성- 테스트 기능활용해 입력값의 덧셈결과 반환
'Public Cloud > AWS' 카테고리의 다른 글
[ AWS ] NACL (0) | 2023.01.24 |
---|---|
[AWS] Amazon API Gateway (0) | 2023.01.18 |
[AWS] - 이벤트 매칭 규칙 (0) | 2023.01.17 |
[ AWS ]- 디커플링 (0) | 2023.01.16 |
AWS - 이벤트 기반 아키텍처 (0) | 2023.01.16 |