DevOps

[DevOps] 클라우드 플랫폼 학습

teddy bear 2026. 7. 2. 21:05
반응형

☁️ 클라우드 플랫폼: AWS 핵심 서비스, 서버리스, CDN

"직접 서버를 사서 데이터센터에 꽂던 시절에서, 클릭 몇 번으로 전 세계에 인프라를 배포하는 시대로."

클라우드는 이제 선택이 아닌 기본입니다. 이 글에서는 AWS의 핵심 서비스, 서버리스 컴퓨팅, 그리고 CDN까지 실무에서 자주 마주치는 클라우드 개념을 정리합니다.


📌 목차

  1. AWS 핵심 서비스
  2. 3-Tier 아키텍처 예시
  3. 서버리스 (Lambda / Cloud Functions)
  4. CDN & Edge
  5. 클라우드 비용 최적화 기본기

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 등)로 확장해나가는 것을 추천합니다.