본문 바로가기
AWS

[AWS] Serverless

by hxxyeoniii 2025. 12. 10.

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