TIL/용어

[TIL] Auto Scaling 개념과 SLA 간단 정리

아람2 2025. 7. 2. 19:46
반응형

 

Auto Scaling 은 

유동적인 수요 변화에 탄력적으로 대응하는 서버 관리 서비스이다 

CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 지표 (Metric) 값을 지속적으로 모니터링하여 

그에 따라 서버 사이즈를 자동으로 조절하는 서비스를 뜻한다 

 

Auto Scaling Group 구성 요소 

1. 최소, 최대, 구동 인스턴스 

* Minimum Size : Auto Scaling Group 이 절대 줄이지 않는 최소 인스턴스 수 (ex. 4개)

* Desired Capacity : 현재 Auto Scaling Group 이 유지하고자 하는 목표 인스턴스 수 (ex. 6개) 

* Maximum Size : 절대 넘지 않는 최대 인스턴스 수 (ex. 12개) 

🐣 근데 AWS 공식 Guide 에는 Desired Capacity 가 2개라고 기재되어 있다, 깜빡 속을 뻔,... 🐣

 

출처 https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide

 

2. 스케일링 정책 

언제 어떻게 Scale Out 또는 Scale In 을 할지 정의 

3. Metric, 메트릭 

Auto Scaling 의 기준이 되는 성능 지표 

모니터링 항목  상세 항목 
CPU  사용률 (%)
Memory  사용률 (%)
디스크  읽기/ 쓰기량 (KB/m)
네트워크  송신/ 수신량 (KB/m)

 

Scaling 의 의미 

Scaling 에는 여러가지 뜻이 있지만,

Auto Scaling 에서 말하는 Scaling 은 단순히 크기 (Scale) 을 조절한다는 개념을 넘어

인스턴스나 컴퓨팅 파워를 유동적으로 확장/ 축소하는 행위를 말한다 

* Scale Out : 인스턴스 수를 늘리는 것 (ex. 서버 추가)
* Scale In : 인스턴스 수를 줄이는 것 (ex. 서버 제거)

Auto Scaling 은 말 그대로, Scale Out 을 Auto 로 하기 위한 서비스라고 이해하면 된다 

 

왜 Auto Scaling 을 사용할까?

서버 자원을 고정된 개수로만 설정해두면 다음과 같은 문제가 발생할 수 있다 

1) 트래픽이 적을 때는 서버가 놀고 있는 상태가 되어 리소스가 낭비되고, 그에 따라 불필요한 비용이 발생한다

2) 반대로 트래픽이 갑자기 급증하면 서버가 과부하되어 응답 지연이나 장애가 발생할 수 있고,
이는 사용자 이탈로 이어질 수 있다

 

Auto Scaling 은 이러한 문제를 해결하기 위해 트래픽 변화에 따라 인스턴스 수를 자동으로 조절함으로써,

사용자가 적을 때는 최소한의 인스턴스만 유지하여 비용을 절감하고,

사용자가 많아질 때는 필요한 만큼 인스턴스를 추가하여 서비스 품질을 유지할 수 있다

 

특히 예측이 어려운 이벤트나 외부 요인 (ex. 마케팅 캠페인, 시즌 세일, 뉴스 노출 등) 으로 인해
순간적으로 트래픽이 몰릴 경우에도  자동으로 대응하여 안정적인 서비스를 유지할 수 있도록 도와준다 

탄력성 (Elasticity) 과 효율적인 자원 운영, 그리고 장애 예방이라는 세 가지 측면에서 Auto Scaling 은 필수적인 기능이다 

 

스케일링 방식

* 동적 Dynamic 스케일링

CloudWatch 지표 기준으로 스케일링 

ex. CPU 사용률 > 70% → 인스턴스 추가

* 예측 Predictive 스케일링

과거 패턴 기반 머신러닝 예측

ex. 매주 월요일 오전 트래픽 증가 → 미리 인스턴스 늘리기

* 스케줄 Scheduled 스케일링

특정 시간에 인스턴스 수 조정

ex. 매일 9시a.m. → 10개, 6시p.m. → 4개

 

실무에서 자주 쓰는 설정 개념

개념 설명 현재 기준
Target Tracking 지표를 타겟값으로 유지 (예: CPU 50%) ✅ 가장 자주 사용
Step Scaling 지표 구간별로 정해진 수 조정 ⛔ 복잡하지만 유연
Estimated Instance Warm-up 새 인스턴스가 지표 반영되기까지 대기 시간 ✅ 실무 필수
Cooldown 과거 방식, 지금은 대부분 자동 처리됨 ❌ 직접 설정 거의 안 함
CloudWatch 지표 기반 스케일링의 핵심 ✅ 필수 (예외: 스케줄 기반)
Mixed Instances (Spot + On-Demand) 비용 최적화 위해 혼합 사용 ✅ 실무에서 매우 일반적

🐣 CloudWatch 는 잘못 설정하면 천문학적인 금액이 청구될 수 있으니 반드시 주의해야 한다 

특히, 로그 수집은 데이터 저장량과 처리량에 따라 비용이 급증할 수 있으므로 비활성화를 권장한다 🐣

 

Auto Scaling 활용 추천 상황 

* 서버 부하가 일정하지 않은 웹 서비스 

* 이벤트/ 프로모션이 자주 있는 이커머스 플랫폼 

* 비용 최적화가 필요한 스타트업 

* 성능 SLA 를 유지해야 하는 API 서버 

 

🐣 SLA 는

Service Level Agreement 의 약자로, 서비스 수준 협약이다 

서비스 제공자 (ex. 클라우드 업체) 가 고객 또는 사용자에게 약속하는 서비스 품질 기준을 뜻한다 

SLA 주요 내용에는 가용성 Availability, 응답 시간 Response Time, 처리량 Throughput, 

복구 시간 Recovery Time Objective, 데이터 손실 허용 범위 Recovery Point Objective 등이 있다

Auto Scaling 은 SLA 내 가용성과 응답 시간 목표 달성을 위한 핵심 기술 중 하나이다 🐣

 

반응형