AWS에서 말하는 Serverless란, 서버를 내가 관리하지 않는 것 -> AWS가 관리
- 서버 프로비저닝 불필요
- 서버 패칭/관리 불필요
- 사용한 만큼만 과금
- 자동 스케일링
- 고가용성(Multi AZ)
AWS에서 제공하는 서버리스 서비스들에 대해 알아보자.
1. Lambda
- 코드를 실행하는 서버리스 컴퓨팅 서비스
- 최대 실행 시간 : 15분
- 메모리 : 128MB ~ 10GB
- 지원 언어 : Python, Node.js, Java, Go, .NET 등
- 비용 : 실행 시간 + 요청 수
- 람다 한도는 리전당 존재
- CPU만 필요
- 콜드 스타트 -> 첫 실행이 느림
- 무상태
- 람다가 AWS 리소스에 접근하려면 IAM Role 필요
Lambda를 실행시키는 것들
- S3 : 파일 업로드 시 -> ex) S3에 이미지 업로드 시 자동으로 썸네일 생성
- API Gateway : HTTP 요청 시 -> ex) 서버 관리 없이 REST API 제공
- DynamoDB Streams : 데이터 변경 시
- SNS : 메시지 발행 시
- SQS : 큐 메시지 도착 시
- EventBridge : 스케줄 또는 이벤트 -> ex) 매일 밤 12시 로그 정리
- CloudWatch Logs : 로그 스트림
- Kinesis : 스트림 데이터
2. API Gateway
- API를 생성, 배포, 관리하는 서비스
- REST API, HTTP API, WebSocket API
- 인증, 인가
- 캐싱(REST API만, HTTP API는 캐싱 없음)
- CORS 설정
- API 버전 관리
- Rate Limiting 기능(=Throttling) -> 요청 수 제한으로 API 남용 방지
API Gateway 3가지 타입

API Gateway Integrations(통합 방식)
Lambda Integration

- 람다 함수를 호출하는 방식으로 백엔드와 통합 구성
- REST API 간편히 노출
HTTP Integration
- 백엔드의 HTTP 엔드포인트를 노출하는 방식으로 통합 구성
- 온프레미스에 있는 내부 HTTP API나 ALB같은 시스템을 연결
- 속도 제한, 캐싱, 사용자 인증, API 키 등의 기능 추가 가능
AWS Service Integration
- 람다 없이 AWS 서비스(SQS, Step Functions, DynamoDB 등) 직접 호출
- SQS에 직접 메시지 전송, DynamoDB 직접 조회 등 -> 비용 절감
API Gateway 인증/인가
IAM 인증
- AWS 서비스 또는 IAM 사용자만 접근
Cognito User Pool
- 사용자 인증
- 가장 일반적
- 모바일 웹, 앱 사용자
Lambda Authorizer
- 커스텀 인증 로직
- OAuth, JWT 기타
API Key
- 간단한 키 기반 인증
- 보안 약함
3. DynamoDB
- 완전 관리형 데이터베이스
- 다중 AZ간 데이터 복제를 통해 고가용성 제공
- NoSQL - 관계형 디비가 아님, 트랜잭션 지원
- 대규모 워크로드로 확장 가능한 분산 데이터베이스
- 성능이 빠르고 일관성을 유지함
- 보안, 인가 관리를 위해 IAM과 통합되어 있음
- 저렴한 비용
- 오토 스케일링 기능 제공
- 유지 관리나 패치 작업이 필요 없으며 항상 사용 가능
- 스키마를 빠르게 전개해야할 때 Aurora나 RDS보다 DynamoDB가 적합
DynamoDB Read/Write Capacity
1) Provisioned 모드
- 용량 미리 지정
- 저렴
- 안정적 트래픽
2) On-Demand 모드
- 자동 스케일링
- 비쌈
- 예측 불가 트래픽
DynamoDB Streams
= 테이블 데이터 변경을 실시간으로 캡쳐하는 기능
= 테이블에서 발생하는 모든 항목의 생성, 업데이트, 삭제 작업에 대한 변경 이벤트를 기록하는 일련의 이벤트 스트림
Global Tables
= 다중 리전 복제
= 여러 리전 간에 짧은 지연 시간으로 액세스 할 수 있도록 하는 기능
- 양방향 복제(모든 리전에서 읽기, 쓰기 가능)
- 밀리초 복제 지연
- 재해 복구
- 글로벌 낮은 지연 시간
DAX(DynamoDB Accelerator)
= DynamoDB 전용 인메모리 캐시

- DynamoDB 테이블에 읽기 작업이 많을 때 DAX 클러스터를 생성하고 데이터를 캐싱해 읽기 혼잡 해결
- 캐시된 데이터에 대한 마이크로초 수준의 지연 시간
- 캐시의 기본 TTL 값은 5분
- 읽기 집약적 워크로드에 최적
'AWS' 카테고리의 다른 글
| [AWS] Databases (0) | 2025.12.16 |
|---|---|
| [AWS] Serverless Architectures (0) | 2025.12.15 |
| [AWS] Integration & Messaging (0) | 2025.12.02 |
| [AWS] Advanced Storage on AWS (0) | 2025.12.01 |
| [AWS] Global Infrastructure (0) | 2025.11.27 |