AWS 컨테이너 & 서버리스 핵심 정리
AWS 시험에서 컨테이너와 서버리스 관련 문제는 꾸준히 출제됩니다. Lambda, ECS, Fargate의 차이점과 각 서비스를 어떤 상황에 사용하는지 이해하는 것이 핵심입니다. Docker의 기본 개념도 함께 파악해 두면 도움이 됩니다.
---
Docker란?
Docker는 애플리케이션을 컨테이너에 패키징해서 어떤 환경에서도 동일하게 실행할 수 있게 해주는 플랫폼입니다. 개발 환경과 운영 환경 사이의 "내 컴퓨터에서는 잘 되는데" 문제를 해결하는 데 효과적입니다.
Docker의 핵심 장점
| 장점 | 설명 | |------|------| | 이식성 | 어떤 OS나 머신에서도 동일하게 동작 | | 빠른 시작 | 컨테이너는 초(seconds) 단위로 시작 | | 가벼움 | 호스트 OS 커널을 공유하여 가상머신보다 가벼움 | | 확장성 | 수초 만에 스케일 업/다운 가능 |
Docker vs 가상머신(VM)
두 기술은 목적은 비슷하지만 구현 방식에 차이가 있습니다. Docker는 호스트 OS 커널을 공유하므로 훨씬 가볍고 빠릅니다.
| 구분 | Docker 컨테이너 | 가상머신 (VM) | |------|----------------|--------------| | 크기 | 가볍고 빠름 (OS 공유) | 무거움 (OS 전체 포함) | | 시작 시간 | 초 단위 | 분 단위 | | 이식성 | 매우 높음 | 상대적으로 낮음 | | 적합한 용도 | 마이크로서비스, 현대 앱 | 다중 OS 환경 |
Docker 이미지 저장소
Docker Hub (): 공개 이미지 저장소 Amazon ECR (Elastic Container Registry): AWS의 프라이빗 컨테이너 이미지 저장소
---
컨테이너 실행 서비스: ECS vs Fargate
Amazon ECS (Elastic Container Service)
ECS는 완전 관리형 컨테이너 오케스트레이션 서비스로, Docker 컨테이너를 AWS에서 실행·중지·관리합니다. IAM, VPC, ELB, ECR과 통합되어 있으며 두 가지 실행 모드를 제공합니다.
| 모드 | 설명 | |------|------| | EC2 모드 | EC2 인스턴스를 직접 프로비저닝하고 관리 | | Fargate 모드 | 서버리스 방식으로 EC2 인스턴스 관리 불필요 |
AWS Fargate
Fargate는 서버리스 컨테이너 실행 엔진입니다. EC2 인스턴스를 직접 프로비저닝하거나 관리할 필요 없이 컨테이너에 필요한 vCPU와 메모리만큼만 과금됩니다. ECS와 EKS 모두와 함께 사용할 수 있습니다.
시험에서 자주 출제되는 비교 포인트: ECS + EC2: 서버(EC2)를 직접 관리하는 방식 ECS + Fargate: 서버리스 — AWS가 인프라를 자동으로 관리 ECR: ECS/Fargate에서 실행할 Docker 이미지를 저장하는 곳
---
서버리스(Serverless)란?
서버리스는 서버가 없다는 뜻이 아니라, 서버를 관리하지 않아도 된다는 의미입니다. 코드(함수)만 배포하면 AWS가 프로비저닝, 스케일링, 관리를 모두 처리합니다. 이벤트 기반(Event-Driven) 아키텍처에 최적화되어 있으며, 대표 서비스로는 Lambda, DynamoDB, S3, Fargate가 있습니다.
---
AWS Lambda — 서버리스 핵심
Lambda는 코드를 서버 없이 실행할 수 있는 FaaS (Function as a Service) 서비스입니다. 이벤트가 발생할 때만 실행되므로 사용한 시간만큼만 비용이 청구됩니다.
EC2 vs Lambda 비교
| 구분 | EC2 | Lambda | |------|-----|--------| | 실행 방식 | 항상 실행 중인 가상 서버 | 이벤트 발생 시에만 실행 | | 확장 | 수동으로 인스턴스 추가/제거 | 자동 스케일링 | | 과금 | 실행 시간 전체 | 사용한 시간만 과금 | | 제한 | RAM/CPU 제한 | 최대 실행 시간 15분 |
Lambda 핵심 특징
최대 실행 시간: 15분 (단기 실행 함수에 적합) 프리 티어: 월 100만 요청 + 40만 GB-초 무료 자동 스케일링: 하루 몇 건에서 초당 수천 건까지 RAM: 최대 10GB (RAM 증가 시 CPU와 네트워크 성능도 함께 향상)
지원 언어
Node.js, Python, Ruby, Java, Go, .NET Core, 커스텀 런타임
Lambda 주요 사용 사례
S3에 이미지 업로드 시 자동으로 썸네일 생성 서버리스 크론(Cron) 작업 스케줄링 API Gateway와 연결해 서버리스 REST API 구성
Lambda 가격 구조
| 항목 | 무료 | 초과 과금 | |------|------|----------| | 요청 수 | 월 100만 건 | $0.20 / 100만 건 | | 실행 시간 | 월 40만 GB-초 | $1.00 / 60만 GB-초 |
Lambda는 15분 이하 단기 이벤트 처리에 최적화되어 있으며, 장시간 배치 작업에는 적합하지 않습니다.
---
Amazon API Gateway
API Gateway는 Lambda 함수를 HTTP API로 노출시키는 완전 관리형 서비스입니다. REST, HTTP, WebSocket API를 지원하며 서버리스 방식으로 확장이 가능합니다. 보안, 인증, 스로틀링(Throttling), 캐싱 기능이 내장되어 있습니다.
Lambda와 API Gateway를 함께 사용하면 완전 서버리스 API 아키텍처를 구성할 수 있습니다.
---
AWS Batch — 대규모 배치 처리
AWS Batch는 대규모 배치 작업을 완전 관리형으로 실행하는 서비스입니다. 작업 요구사항에 따라 EC2 또는 스팟 인스턴스를 자동으로 프로비저닝합니다. 배치 작업은 Docker 이미지로 정의되어 ECS에서 실행되며, 머신러닝, 렌더링, 대규모 데이터 처리 등에 활용됩니다.
Lambda vs AWS Batch 비교
두 서비스는 실행 시간 제한에서 가장 큰 차이가 납니다. 15분 이내로 처리 가능한 작업은 Lambda, 그보다 긴 작업은 AWS Batch가 적합합니다.
| 구분 | Lambda | AWS Batch | |------|--------|-----------| | 아키텍처 | 이벤트 기반 | 배치(Batch) 처리 | | 실행 시간 | 최대 15분 | 분~시간 단위 | | 인프라 | 완전 서버리스 | EC2 / Fargate 사용 | | 디스크 | 제한적 (임시) | EBS / 인스턴스 스토어 | | 적합한 작업 | 단기·경량 함수 | 대규모·장시간 컴퓨팅 |
---
Amazon Lightsail — 입문자용 올인원 서비스
Lightsail은 가상 서버, 스토리지, DB, 네트워킹을 저렴하고 예측 가능한 가격에 제공하는 서비스입니다. EC2, RDS, ELB, EBS, Route 53의 간소화된 대안으로, 클라우드 경험이 적은 사용자에게 적합합니다.
WordPress, LAMP, Node.js 등 단순 웹앱이나 개발/테스트 환경에 주로 사용됩니다. 고가용성은 제공하지만 오토스케일링이 없으며, 다른 AWS 서비스와의 통합에 제한이 있다는 점을 기억해 두세요.
---
한눈에 보는 서비스 비교표
| 서비스 | 핵심 키워드 | 사용 사례 | |--------|------------|----------| | Docker | 컨테이너, 이식성, 빠른 시작 | 앱 패키징 및 배포 | | ECR | Docker 이미지 저장소 (프라이빗) | ECS/Fargate 이미지 보관 | | ECS | 컨테이너 오케스트레이션 | Docker 컨테이너 실행·관리 | | Fargate | 서버리스 컨테이너 | EC2 없이 컨테이너 실행 | | Lambda | 서버리스, FaaS, 최대 15분 | 이벤트 기반 단기 함수 | | API Gateway | 서버리스 API | Lambda를 HTTP API로 노출 | | AWS Batch | 배치 처리, 장시간 작업 | ML, 렌더링, 대규모 ETL | | Lightsail | 저렴·간단, 초보자용 | WordPress, 소규모 웹앱 |
---
시험 직전 체크리스트
Docker = 컨테이너로 어디서나 동일하게 실행 ECR = AWS의 프라이빗 Docker 이미지 저장소 ECS = Docker 컨테이너 오케스트레이션 (EC2 또는 Fargate 선택) Fargate = 서버리스 컨테이너 (EC2 관리 불필요) Lambda = 서버리스 FaaS, 최대 실행시간 15분 Lambda 프리 티어: 월 100만 요청 무료 Lambda + API Gateway = 완전 서버리스 API 15분 초과 배치 작업 → AWS Batch Lightsail = 초보자용 저가형 올인원 (오토스케일링 없음)