오토 스케일링

From IT Wiki

Auto Scaling

오토 스케일링이란 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭(Metric) 값을 모니터링하여 서버 사이즈를 자동으로 조절하는 기술이다.

  • 클라우드의 유연성을 돋보이게 하는 핵심기술

오토 스케릴링 장점[edit | edit source]

오토스케일링은 △ 주기적으로 특정 시간대에 트래픽이 집중하는 서비스(혹은 서버 리소스가 적게 필요한 경우), △ 일괄 작업, 주기적 분석과 같은 패턴의 서비스, △ 특정 기간에 급증하는 트래픽 패턴 등 일 또는 주 단위로 트래픽 흐름이 변화하는 서비스에 유용

  • 시시각각 변화하는 워크로드의 요구사항에 즉각 대응할 수 있어 비즈니스 특성에 부합하는 응용솔루션을 효율적으로 운영할 수 있도록 함
  • 시스템 리소스를 수분 내에 제어할 수 있고 응용 서비스 패턴에 맞추어 트래픽을 유연하게 배분하여 서비스 성능 및 가용성 보장
  • 초기 서버 사양을 과도하게 높게 잡을 필요가 없어[1] 비용 절감 효과

동작 방식[edit | edit source]

600x600픽셀

  • 스케일 업/다운
    • 서버 구성 파트(CPU, 메모리 등)의 업그레이드, 다운그레이드 방식 확장 및 축소
    • 데이터베이스 서버에 적합함
  • 스케인 아웃/인
    • 동일 규격 서버의 수량을 증설하는 방식의 확장 및 축소
    • 로드 밸런서를 이용하여 실시간 증설 및 부하 분산

정책[edit | edit source]

  • 시간 예약
    • 특정 시간대에 규칙적으로 트래픽이 몰리거나, 리소스 증가가 너무 갑작스러워 예측 대응이 어려운 경우
  • 리소스 모니터링
    • 최근 몇 분간(시간 조정 가능) 평균 사용량에 따라 대응
  • 복합적 예측
    • 설정값 및 반복적 학습의 결과에 따라 리소스 사용량 변동에 빠르게 대응

구성[edit | edit source]

  • 오토스케일링 그룹(Auto-Scaling Group)
  • 자동 조절 정책(Auto-Scaling Policy)

주요 설정 및 메트릭[edit | edit source]

오토 스케일링 그룹 설정 항목

속성 설명
Desired 오토스케일링 시 서버 수 지정
Launch Configuration 오토스케일링 그룹에서 생성될 서버의 사양/설정 정의
MinSize 오토스케일링 그룹의 최소 유지 서버 수 (Desired > = MinSize)
MaxSize 오토스케일링 그룹의 최대 보유 서버 수 (Desired < = MaxSize)
Health Check Type 오토스케일링 그룹의 서비스에 대한 정상 구동 여부 체크 방식 지정

- 서버 정상 구동 여부 체크 방식 - 로드밸런서(Load Balancer)에 의한 URL 헬스 체크 방식

Health Check Grace Time 오토스케일링 그룹에서 신규 생성된 서버가 정상적인 서비스를 실행하기 위해 필요한 초기 준비 시간(이 시간 동안은 헬스 체크 대상에서 제외)
Cool Down Time 오토스케일링에 의해 서버가 확장 및 축소될 때 서비스가 안정화 되기까지의 워밍업 시간(모니터링 서비스에서 발생한 알람이 무시되며 서버 확장 후 그룹 내 서비스가 정확한 부하분산을 할 수 있을 때까지 대기)

오토 스케일링 모니터링 메트릭

모니터링 항목 상세 항목
CPU used (%)
Network in/out (bytes)
in/out (packets)
Disk I/O read/write
read/write operations
Load Average 1분, 5분, 15분, 1시간, 6시간 단위

참고 문헌[edit | edit source]

각주[edit | edit source]

  1. 기존엔 서버의 피크 타임 기준 자원 사용량을 고려하여 서버의 사양을 평소 사용량 대비 매우 높게 설정