개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

Auto Scaling — 트래픽에 따라 서버 자동 조절

2026년 3월 7일
AWSAuto ScalingEC2가용성

AWS Auto Scaling은 트래픽이나 부하 변화에 따라 EC2 인스턴스 수를 자동으로 늘리거나 줄이는 서비스입니다. 트래픽이 급증할 때 인스턴스를 추가하여 서비스 안정성을 유지하고, 트래픽이 줄면 불필요한 인스턴스를 제거하여 비용을 절감합니다. 수동으로 서버를 증설하거나 철수할 필요 없이, 정의된 정책에 따라 자동으로 적정 규모를 유지합니다.

Scale Out / Scale In / Scale Up

스케일링 방향에 따라 세 가지 용어를 구분합니다.

Scale Out(수평 확장): 인스턴스 수를 늘립니다. 동일한 사양의 서버를 추가하여 처리 용량을 분산합니다. Auto Scaling이 기본적으로 수행하는 방식입니다.

Scale In(수평 축소): 인스턴스 수를 줄입니다. 트래픽이 감소했을 때 불필요한 인스턴스를 종료하여 비용을 절감합니다.

Scale Up(수직 확장): 인스턴스 사양(CPU, 메모리)을 높입니다. Auto Scaling이 직접 수행하지 않으며, 인스턴스 타입 변경을 수동으로 적용해야 합니다.

Scale Out (트래픽 증가)
  [Server1] [Server2]
       +
  [Server3] [Server4]  <-- 자동 추가

Scale In (트래픽 감소)
  [Server1] [Server2] [Server3] [Server4]
       -
  [Server1] [Server2]            <-- 자동 종료

Auto Scaling Group 구성

Auto Scaling Group(ASG)을 생성할 때 다음 값을 설정합니다.

Auto Scaling Group(ASG): Auto Scaling이 관리하는 EC2 인스턴스들의 논리적 묶음. 최솟값·최댓값·원하는 수(desired capacity)를 설정합니다.

항목설명
Minimum capacity항상 유지할 최소 인스턴스 수
Maximum capacity최대 허용 인스턴스 수
Desired capacity현재 목표 인스턴스 수
Launch Template새 인스턴스 생성 시 사용할 AMI, 인스턴스 타입, 보안 그룹 등 정의

스케일링 정책 종류

Target Tracking (목표 추적)

특정 지표(CloudWatch 메트릭)가 목표값을 유지하도록 인스턴스 수를 자동 조절합니다. 가장 단순하고 권장되는 방식입니다.

예시: "CPU 사용률을 70%로 유지한다." CPU가 70%를 초과하면 인스턴스를 추가하고, 70% 미만으로 낮아지면 인스턴스를 제거합니다.

CPU 사용률 목표: 70%

트래픽 증가 → CPU 85% → Scale Out → CPU 70% 유지
트래픽 감소 → CPU 40% → Scale In  → CPU 70% 유지

Step Scaling (단계적 조정)

CloudWatch 알람 임계값을 단계별로 설정하여, 임계값 초과 정도에 따라 다른 수의 인스턴스를 추가·제거합니다.

예시: CPU 70~80%이면 인스턴스 1대 추가, 80~90%이면 2대 추가, 90% 이상이면 4대 추가.

Scheduled Scaling (예약 스케일링)

특정 시간대에 맞춰 인스턴스 수를 미리 조정합니다. 트래픽 패턴이 예측 가능한 경우(예: 평일 오전 9시 트래픽 급증)에 사전에 용량을 확보할 수 있습니다.

예시: "매일 오전 8시 50분에 인스턴스를 10대로 늘리고, 오후 6시에 3대로 줄인다."

ELB 연동

Auto Scaling Group은 Elastic Load Balancer(ELB)와 함께 사용합니다. 새 인스턴스가 추가되면 ELB 대상 그룹에 자동으로 등록되어 트래픽을 받기 시작하고, 종료되는 인스턴스는 ELB에서 먼저 제거(드레이닝)된 후 종료됩니다.

드레이닝(Connection Draining): 인스턴스가 종료되기 전, 진행 중인 기존 요청을 완료할 시간을 허용하는 과정.

Internet
    |
    v
[ELB / ALB]
    |
    +--- [Instance 1]
    +--- [Instance 2]
    +--- [Instance 3]  <-- Scale Out 시 자동 추가·등록
    
Auto Scaling Group
  min: 2 / desired: 3 / max: 10

Auto Scaling과 ELB를 함께 구성하면, 트래픽 변화에 자동으로 대응하면서도 단일 장애점 없이 고가용성을 유지하는 인프라를 구축할 수 있습니다.

← 이전 글ELB — 로드 밸런서 (ALB / NLB)
다음 글 →Route 53 — DNS 서비스