
Lambda 개요Lambda는 AWS의 서버리스 함수 실행 서비스이다.Functions, GCP의 Google Cloud Functions와 유사Runtime 환경을 제공파일 처리, 스트림 처리, 간단한 모바일 백엔드, IOT 백엔드 서비스 구성에 유용Pay as you goVM, Container 형태의 컴퓨팅 서비스는 항상 가동시간을 기준으로 1초 단위로 요금을 계산Runtime이 제공되는 Lambda는 ms 단위로 함수 실행 시간을 요금으로 계산VM, Container와 달리 runtime 환경은 클라이언트에게 동적 파일을 서빙하는 경우에만 작동하도록 할 수 있고, Idle 상태를 피할 수 있음.Lambda를 Web Server로만약 Lambda로 Web Server를 구현하고 안정적인 서비스를 운영하고자 한다면 고려해야할 점이 한 두가지가 아님.
Lambda를 쓰기로 한 이상, 웹서버가 제공해주었던 기능을 코드나 다른 서비스를 이용해 구현해야 함.Lambda와의 연결 방법| 기능 | 대체 방법 |
|---|---|
| API 호출 | AWS API Gateway 이용 |
| 정적파일 서빙 | CDN 서비스 - AWS CloudFront와 API Gateway를 연결 - CDN 서비스를 이용해서 프레임워크에서 정적파일을 서빙하도록 구조를 변경 (e.g. whitenoise) |
| DDoS 방어 | AWS Web Application Firewall AWS CloudFront |
| 로드밸런싱 | AWS CloudFront + API Gateway |
| 인터넷 연결 | Internet Gateway |
| 리소스 연결 | Endpoint Gateway(for S3, DynamoDB) |
| Cron Job | AWS EventBridge |
| 고정 IP | NAT Gateway + Elstic IP |
| SSL 인증 | CloudFront나 API Gateway에 SSL 인증서 설치 |

EventBridge 와 다른 서비스와 결합을 위한 SNS , SQS 까지 추가하면 서비스를 위한 구조Route53 과 CloudFront 는 꼭 필요하지는 않음