AWS 컴퓨팅 서비스
이 문서에서는 AWS Solutions Architect Associate 시험에서 자주 등장하는 컴퓨팅 관련 서비스들을 정리합니다. 다음 용어와 개념들에 대해 간략히 알아보겠습니다.
- EC2 (가상 서버)
- ECS / EKS (컨테이너)
- Lambda (서버리스)
- Lightsail / Batch
- Elastic Beanstalk (PaaS)
- Auto Scaling (확장성)
- ELB (부하 분산)
EC2 (Elastic Compute Cloud)
클라우드에서 크기 조정이 가능한 컴퓨팅 파워를 제공하는 가상 서버 서비스
- 인스턴스 유형: 범용(T, M), 컴퓨팅 최적화(C), 메모리 최적화(R), 스토리지 최적화(I, D), 가속화된 컴퓨팅(G, P) 등.
- AMI (Amazon Machine Image): 인스턴스를 시작하는 데 필요한 정보(OS, 앱 등)를 담고 있는 템플릿.
EC2 구매 옵션
| 옵션 | 설명 | 주요 사용 사례 |
|---|---|---|
| On-Demand | 시간/초 단위로 사용한 만큼 지불. 약정 없음. | 단기, 불규칙한 워크로드, 테스트 |
| Savings Plans | 1년 또는 3년 약정하여 **시간당 사용량($/hr)**을 약속하고 할인 받음. | 유연한 장기 워크로드 (EC2 + Lambda + Fargate) |
| Reserved Instances (RI) | 1년 또는 3년 약정하여 특정 인스턴스 타입을 예약. | 사용량이 예측 가능하고 꾸준한 DB 같은 워크로드 |
| Spot Instances | AWS의 남는 유휴 자원을 경매 방식으로 저렴하게(최대 90% 할인) 사용. 중단 가능성 있음. | 중단되어도 상관없는 배치 처리, 데이터 분석, 이미지 렌더링 |
| Dedicated Host | 물리적 전용 서버 전체를 할당받음. (가시성 제공) | 기존 SW 라이선스(BYOL) 사용, 규정 준수 필요 시 |
Auto Scaling Group (ASG)
애플리케이션의 로드에 따라 EC2 인스턴스 수를 자동으로 늘리거나 줄이는 기능
주요 기능 및 특징
- 확장성 (Scalability): 트래픽 증가 시 인스턴스 추가(Scale-out), 감소 시 제거(Scale-in).
- 고가용성 (High Availability): 인스턴스 상태를 확인(Health Check)하고, 비정상 인스턴스를 종료 후 새 인스턴스로 자동 교체.
- 비용 최적화: 트래픽이 적을 때 필요한 최소한의 인스턴스만 유지.
조정 정책 (Scaling Policies)
- 대상 추적 (Target Tracking): "CPU 사용률 50% 유지"처럼 목표값을 설정하면 알아서 조정. (가장 권장됨)
- 단계 조정 (Step Scaling): "CPU > 70%면 2개 추가, 50~70%면 1개 추가"처럼 단계별 규칙 설정.
- 단순 조정 (Simple Scaling): 단일 임계값 기준 (Cool-down 기간 존재).
- 예약된 조정 (Scheduled): "매주 금요일 오후 6시"처럼 특정 시간에 조정. (예측 가능한 트래픽)
ELB (Elastic Load Balancing)
들어오는 애플리케이션 트래픽을 여러 대상(EC2, 컨테이너, IP 등)으로 분산시키는 서비스
ELB 유형 비교
| 유형 | 레벨 (OSI) | 프로토콜 | 주요 특징 및 대상 |
|---|---|---|---|
| ALB (Application LB) | L7 (HTTP/HTTPS) | HTTP, HTTPS, gRPC | 경로 기반 라우팅 (/api, /img), 호스트 기반 라우팅 (a.com, b.com), 컨테이너(ECS)와 연동, Redirect 지원. WAF 통합 가능. |
| NLB (Network LB) | L4 (TCP/UDP) | TCP, UDP, TLS | 초고성능 (수백만 요청/초), 고정 IP(Static IP) 제공, 매우 낮은 지연 시간. |
| GWLB (Gateway LB) | L3 | IP | 타사 가상 보안 어플라이언스(방화벽, 침입 탐지 등)를 배포하고 확장할 때 사용. |
| CLB (Classic LB) | L4 / L7 | - | 구형(Legacy). 시험에는 거의 나오지 않음(ALB/NLB로 대체 권장). |
AWS Lambda
서버를 프로비저닝하거나 관리하지 않고 코드를 실행하는 서버리스 컴퓨팅 서비스
- 특징: 이벤트 기반 실행(S3 업로드, API Gateway 요청 등), 사용한 컴퓨팅 시간(ms 단위)만큼만 비용 지불.
- 제약 사항: 최대 실행 시간 15분. (15분 넘는 작업은 AWS Batch 사용 권장)
컨테이너 서비스 (ECS, EKS)
- ECS (Elastic Container Service): AWS 전용 Docker 컨테이너 오케스트레이션 서비스. 설정이 간편함.
- EKS (Elastic Kubernetes Service): 관리형 Kubernetes 서비스. 오픈소스 K8s 호환성.
- Fargate: EC2 인스턴스를 관리할 필요 없이 컨테이너를 실행할 수 있는 서버리스 엔진 (ECS/EKS 모두 지원).
기타 컴퓨팅 서비스
- Lightsail: 가상 서버(VPS), 스토리지, DB, 네트워킹을 저렴한 월 요금제로 묶어서 제공. (소규모 웹사이트, WordPress 등)
- AWS Batch: 배치(일괄) 컴퓨팅 작업을 효율적으로 실행해주는 서비스. (이미지 처리, 시뮬레이션 등 장시간 작업)
- Elastic Beanstalk: 코드만 업로드하면 인프라(EC2, LB, ASG, DB 등)를 자동으로 배포하고 관리해주는 PaaS.
컴퓨팅 서비스 Use Case 시나리오
| 시나리오 / 키워드 | 추천 서비스 (정답) |
|---|---|
| "서버 관리 불필요", "이벤트 기반", "짧은 실행(15분 이하)" | Lambda |
| "Docker 컨테이너", "단순함", "AWS 네이티브 통합" | ECS |
| "Kubernetes", "오픈소스 호환성", "사실상 표준" | EKS |
| "초고성능 네트워크", "고정 IP 필요", "TCP/UDP 트래픽" | NLB (Network Load Balancer) |
| "HTTP/HTTPS 트래픽", "URL 경로 라우팅", "마이크로서비스" | ALB (Application Load Balancer) |
| "가용성 유지", "자동 복구", "트래픽에 따른 확장" | Auto Scaling Group (ASG) |
| "저렴한 비용", "중단되어도 괜찮은 작업", "배치 분석" | Spot Instances |
| "코드만 배포", "인프라 프로비저닝 자동화", "웹 앱 간편 배포" | Elastic Beanstalk |
| "HPC(고성능 컴퓨팅)", "대규모 배치 작업" | AWS Batch |