☁️ 클라우드 플랫폼: AWS 핵심 서비스, 서버리스, CDN
"직접 서버를 사서 데이터센터에 꽂던 시절에서, 클릭 몇 번으로 전 세계에 인프라를 배포하는 시대로."
클라우드는 이제 선택이 아닌 기본입니다. 이 글에서는 AWS의 핵심 서비스, 서버리스 컴퓨팅, 그리고 CDN까지 실무에서 자주 마주치는 클라우드 개념을 정리합니다.
📌 목차
1️⃣ AWS 핵심 서비스
서비스역할비유
| EC2 | 가상 서버(컴퓨팅 인스턴스) | 빌려 쓰는 컴퓨터 |
| S3 | 객체 스토리지 | 무제한 클라우드 하드디스크 |
| RDS | 관리형 관계형 데이터베이스 | DB 서버 유지보수를 대신 해줌 |
| VPC | 격리된 가상 네트워크 | 나만의 사설 네트워크 |
| IAM | 권한 관리 | 누가 무엇을 할 수 있는지 통제 |
| Lambda | 서버 없이 코드 실행 | 요청이 올 때만 실행되는 함수 |
IAM은 특히 중요합니다. 클라우드 보안 사고의 상당수가 잘못된 권한 설정(과도하게 넓은 권한, 하드코딩된 Access Key)에서 비롯됩니다.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
⚠️ 최소 권한 원칙(Least Privilege): 필요한 최소한의 권한만 부여하세요. "Action": "*" 같은 광범위한 권한은 사고의 지름길입니다.
2️⃣ 3-Tier 아키텍처 예시
가장 기본적인 웹 애플리케이션 구조를 AWS 서비스로 구성하면 다음과 같습니다.
[사용자]
│
▼
[Route 53] ──DNS──▶ [CloudFront (CDN)]
│
▼
[Application Load Balancer]
│
┌───────────┼───────────┐
▼ ▼ ▼
[EC2] [EC2] [EC2] ← Auto Scaling Group
│ │ │
└───────────┴───────────┘
│
▼
[RDS (Multi-AZ)]
- Route 53: DNS 라우팅
- CloudFront: 정적 리소스 캐싱으로 응답 속도 향상
- ALB: 여러 EC2 인스턴스에 트래픽 분산
- Auto Scaling Group: 트래픽에 따라 EC2 개수 자동 조절
- RDS Multi-AZ: 데이터베이스 장애 시 자동 페일오버
3️⃣ 서버리스 (Lambda / Cloud Functions)
서버를 직접 관리하지 않고, 이벤트가 발생했을 때만 코드가 실행되는 모델입니다.
def handler(event, context):
file_name = event['Records'][0]['s3']['object']['key']
# 파일 처리 로직
return {"statusCode": 200}
[S3에 파일 업로드] ──이벤트 트리거──▶ [Lambda 함수 실행] ──▶ [처리 결과 저장]
장점
- 사용한 만큼만 과금 (요청이 없으면 비용 0)
- 서버 패치, 스케일링을 신경 쓸 필요 없음
- 이벤트 기반 아키텍처와 자연스럽게 결합 (S3 업로드, API 호출, 스케줄 작업 등)
단점
- Cold Start: 오랜만에 호출되면 초기 구동 지연 발생
- 실행 시간 제한 (AWS Lambda는 최대 15분)
- 벤더 종속성이 상대적으로 높음
적합한 사용처: 이미지 리사이징, 배치 작업, 간단한 API 엔드포인트, 스케줄링 작업
4️⃣ CDN & Edge (CloudFront, Cloudflare)
CDN(Content Delivery Network)은 정적 콘텐츠(이미지, JS, CSS 등)를 사용자와 가까운 서버에 캐싱해 응답 속도를 높입니다.
CDN 없이:
[한국 사용자] ────(먼 거리)────▶ [미국 origin 서버]
CDN 사용 시:
[한국 사용자] ──(가까움)──▶ [서울 Edge 서버 (캐시)] ──(캐시 미스 시만)──▶ [origin 서버]
CDN이 주는 이점
- 지연시간(Latency) 감소로 체감 속도 향상
- Origin 서버의 트래픽 부하 감소
- DDoS 공격에 대한 1차 방어선 역할 (Cloudflare 등)
5️⃣ 클라우드 비용 최적화 기본기
클라우드는 "쓴 만큼 낸다"는 장점이 곧 "방심하면 비용이 눈덩이처럼 불어난다"는 단점이 되기도 합니다.
전략설명
| Right Sizing | 실제 사용률에 맞는 인스턴스 크기 선택 |
| Reserved/Savings Plan | 장기 사용이 확실한 리소스는 예약 할인 적용 |
| Auto Scaling | 트래픽이 적을 때는 인스턴스 개수를 줄임 |
| 미사용 리소스 정리 | 삭제하지 않은 볼륨, 스냅샷, 오래된 로드밸런서 등 확인 |
| CDN 캐싱 적극 활용 | Origin 서버 요청을 줄여 컴퓨팅 비용 절감 |
💡 팁: AWS Cost Explorer, Trusted Advisor 같은 도구로 매달 비용 리포트를 확인하는 습관을 들이세요. 작은 실수(예: 사용하지 않는 EIP, 오래된 스냅샷)가 누적되면 상당한 비용 낭비로 이어집니다.
🔚 마무리
클라우드 플랫폼은 서비스 종류가 방대하지만, 핵심은 결국 컴퓨팅(EC2/Lambda), 스토리지(S3), 네트워킹(VPC/CDN), 데이터베이스(RDS) 네 가지 축으로 정리됩니다. 이 기본기를 탄탄히 다진 후, 필요에 따라 관리형 서비스(SQS, EventBridge 등)로 확장해나가는 것을 추천합니다.
'DevOps' 카테고리의 다른 글
| [DevOps] 메시징 & 데이터 인프라 학습 (0) | 2026.07.02 |
|---|---|
| [DevOps] 모니터링 & 로깅 학습 (0) | 2026.07.02 |
| [DevOps] IaC 정리 (0) | 2026.07.02 |
| [DevOps] CI/CD 파이프라인 완전 정리 (0) | 2026.07.02 |
| [DevOps] 쿠버네티스 정복하기 (0) | 2026.07.02 |