Search

Lambda vs EC2 vs Fargate (컴퓨팅)

핵심

Lambda
이벤트 실행 (서버 없음)
EC2
직접 서버 운영
Fargate
컨테이너 서버리스

구조

Lambda
요청이 들어올 때만 실행
서버 관리 없음
코드만 실행하는 함수
EC2
VM 서버 직접 운영
OS, 패치, 스케일링 다 관리
내가 직접 운영하는 서버
Fargate
컨테이너 실행 (ECS/EKS 기반)
서버는 AWS가 관리
Docker만 신경쓰면 됨

차이점

항목
Lambda
EC2
Fargate
서버 관리
X
O
X
실행 방식
이벤트 기반
항상 실행
컨테이너
확장
자동
직접 설정
자동
비용
사용한 만큼
계속 과금
사용한 만큼
실행 시간
제한 있음
무제한
무제한

사용 시기

Lambda
이벤트 기반
간헐적 트래픽
서버 관리 X
빠른 개발
예시
S3 업로드 처리
API Gateway 백엔드
EC2
커스텀 환경 필요
오래 실행되는 작업
OS 제어 필요
예시
레거시 앱
특수 라이브러리 필요
Fargate
컨테이너 기반
서버 관리 X
ECS/EKS 사용
예시
마이크로서비스
Docker 앱

문제 예시

서버 관리 최소화
정답: 우선순위에 따라 변경
1.
Lambda
2.
Fargate
3.
EC2
트래픽 예측 불가
정답: Lambda 또는 Fargate
항상 실행 필요
정답: EC2 or Fargate
컨테이너 요구
정답: Fargate
CPU 집약 작업
Lambda → 메모리 늘리면 CPU 증가
서버 관리 없음인데 EC2 선택
Lambda / Fargate가 정답
컨테이너인데 Lambda 선택
Fargate가 정답
장시간 실행인데 Lambda 선택
Lambda는 최대 15분간 실행 가능
간헐적 트래픽인데 EC2
비용 낭비이므로 Lambda가 정답
Lambda vs Fargate
간단한 이벤트 → Lambda
복잡한 앱 → Fargate
EC2 vs Fargate
OS 제어 필요 → EC2
컨테이너만 필요 → Fargate