SAABlog
컴퓨팅중급추천

EC2 vs Lambda: 언제 무엇을 선택해야 할까?

EC2는 지속적인 서버 워크로드에, Lambda는 이벤트 기반 단기 작업에 적합합니다. SAA-C03 시험 관점에서 선택 기준을 정리합니다.

PHILOLAMB-
EC2Lambda서버리스컴퓨팅비용 최적화

관련 시험 도메인

  • Domain 3: Design High-Performing Architectures
  • Domain 4: Design Cost-Optimized Architectures

핵심 요약 (BLUF)

EC2는 지속적으로 실행되는 서버 워크로드에, Lambda는 이벤트 기반 단기 작업에 적합합니다. 트래픽이 예측 가능하고 24시간 실행이 필요하면 EC2, 간헐적이고 짧은 작업이면 Lambda를 선택하세요.

시험 팁

시험 핵심: "서버리스", "이벤트 기반", "짧은 실행 시간" → Lambda / "지속 실행", "상태 유지", "커스텀 런타임" → EC2

EC2와 Lambda는 언제 사용해야 할까?

AWS에서 컴퓨팅 서비스를 선택할 때 가장 흔한 질문입니다. 두 서비스는 근본적으로 다른 접근 방식을 가지고 있습니다.

EC2가 적합한 경우

  • 24시간 실행이 필요한 웹 서버
  • 상태(State)를 유지해야 하는 애플리케이션
  • 15분 이상 실행되는 배치 작업
  • GPU나 특수 하드웨어가 필요한 경우
  • 커스텀 OS나 런타임 환경이 필요한 경우

Lambda가 적합한 경우

  • 이벤트 기반 처리 (S3 업로드, API 요청 등)
  • 간헐적으로 실행되는 짧은 작업
  • 트래픽 변동이 큰 API 백엔드
  • 서버 관리 부담을 줄이고 싶은 경우
  • 실행 시간이 15분 이내인 작업

EC2 vs Lambda: 어떤 걸 선택해야 할까?

비교 항목EC2Lambda
과금 방식시간/초 단위 (실행 중일 때)요청 수 + 실행 시간
최대 실행 시간제한 없음15분
Cold Start없음 (항상 실행 중)있음 (수 ms ~ 수 초)
확장성Auto Scaling 설정 필요자동 확장
상태 관리인스턴스에 저장 가능Stateless (외부 저장소 필요)
OS 접근전체 접근 가능불가능
메모리최대 24TB최대 10GB

선택 기준

  • EC2 선택: 24시간 실행, 15분 이상 작업, 상태 유지 필요, 특수 하드웨어/OS 필요
  • Lambda 선택: 이벤트 기반, 간헐적 실행, 서버 관리 부담 감소, 자동 확장 필요

비용을 줄이려면 어떻게 해야 할까?

EC2 비용 최적화

  1. Reserved Instances: 1~3년 약정으로 최대 72% 할인
  2. Spot Instances: 최대 90% 할인 (중단 가능한 워크로드)
  3. Savings Plans: 유연한 사용량 약정

Lambda 비용 최적화

  1. 메모리 최적화: 적절한 메모리 설정으로 비용/성능 균형
  2. Provisioned Concurrency: Cold Start 감소, 예측 가능한 비용
  3. ARM 아키텍처: Graviton2 사용 시 20% 저렴

SAA-C03 시험 출제 포인트

  1. Lambda 제한 사항: 최대 15분 실행, 10GB 메모리, Stateless
  2. 비용 최적화: 간헐적 워크로드 → Lambda, 지속 워크로드 → EC2 + Reserved
  3. 아키텍처 패턴: API Gateway + Lambda (서버리스 API), ELB + EC2 (전통적 웹)

시험 팁

시험 문제 예시: "웹 애플리케이션이 하루에 몇 번만 요청을 받고, 각 요청 처리에 10초가 걸립니다. 가장 비용 효율적인 솔루션은?" → 정답: Lambda (간헐적 + 짧은 실행 시간)

자주 묻는 질문 (FAQ)

Q: Lambda의 Cold Start는 얼마나 걸리나요?

언어와 패키지 크기에 따라 다릅니다. Python/Node.js는 100-200ms, Java/.NET은 1-5초가 일반적입니다. Provisioned Concurrency로 해결할 수 있습니다.

Q: EC2와 Lambda를 함께 사용할 수 있나요?

네, 많은 아키텍처에서 함께 사용합니다. 예를 들어 메인 애플리케이션은 EC2에서 실행하고, 이미지 처리 같은 비동기 작업은 Lambda로 처리합니다.

Q: Lambda에서 데이터베이스 연결은 어떻게 하나요?

RDS Proxy를 사용하는 것이 권장됩니다. Lambda의 동시 실행으로 인한 데이터베이스 연결 폭증을 방지합니다.

Q: 실행 시간이 15분을 초과하면 어떻게 하나요?

Step Functions로 여러 Lambda를 연결하거나, EC2/Fargate를 사용해야 합니다. AWS Batch도 배치 작업에 좋은 대안입니다.

Q: Lambda가 EC2보다 항상 저렴한가요?

아닙니다. 지속적으로 높은 트래픽이 있다면 EC2 + Reserved Instances가 더 저렴할 수 있습니다. 교차점(breakeven point)을 계산해야 합니다.

참고 자료