Auto Scaling
Auto Scaling은 부하 변화에 따라 컴퓨팅 자원 수를 자동으로 늘리고 줄이는 기술이다. 성능과 비용을 함께 최적화하는 것이 핵심이다. 서버를 손으로 늘리고 줄이는 일을 시스템이 대신한다. 확장 방향은 크게 Scale Up과 Scale Out으로 나뉜다. Sca…
주요 장면
대본
정의
Auto Scaling은 부하 변화에 따라 컴퓨팅 자원 수를 자동으로 늘리고 줄이는 기술이다.
성능과 비용을 함께 최적화하는 것이 핵심이다.
서버를 손으로 늘리고 줄이는 일을 시스템이 대신한다.
Scale Up과 Scale Out
확장 방향은 크게 Scale Up과 Scale Out으로 나뉜다.
Scale Up은 기존 인스턴스의 CPU, 메모리, 저장 용량을 키우는 수직 확장이다.
Scale Out은 인스턴스 수를 늘리거나 줄이는 수평 확장이다.
Scale Out은 상태 분리와 로드 밸런서를 전제로 한다.
스케줄 기반과 부하 기반
다음은 결정 방식에 따른 두 가지 트리거 비교다.
스케줄 기반은 시간이나 요일에 맞춰 미리 용량을 바꾼다.
부하 기반은 CPU나 요청 수 메트릭이 임계값을 넘으면 반응한다.
둘은 상호 배타가 아니며 혼합해 쓸 수 있다.
목표 추적 계산
부하 기반 정책은 목표 추적 방식으로 필요한 인스턴스 수를 구한다.
현재 4대, CPU 평균 80%, 목표 50%이면 4 × 80 ÷ 50 = 6.4다.
대수는 정수여야 하므로 올림해 7대가 된다.
부하가 목표의 1.6배이므로 대수도 약 1.6배로 늘어나는 것이 맞다.
쿨다운과 플래핑
직전 문제의 정답은 6대다. 4 × (90 ÷ 60) = 6이다.
쿨다운은 증감 직후 메트릭이 안정되기 전 중복 조정을 막는다.
쿨다운이 없으면 확장과 축소가 반복되는 플래핑이 생긴다.
임계값 사이에 간격을 두는 히스테리시스도 함께 쓴다.
정리와 시험 포인트
마지막으로 시험에서 자주 묻는 핵심을 정리한다.
Scale Up은 수직 확장이고 Scale Out은 수평 확장이다.
스케줄 기반과 부하 기반은 트리거가 시간인지 메트릭인지로 구분한다.
실무에서는 스케줄과 부하를 혼합하고 예측 스케일링과 헬스 체크를 함께 설계한다.