네이버클라우드아카데미 Literacy 1기

[NCloud 1기] 네이버 클라우드로 이해하는 Auto Scaling

hwangsoojin 2025. 11. 22. 03:51

클라우드 환경에서 서비스 트래픽은 항상 일정하지 않습니다.
월 초에 폭증했다가 다음 날 바로 떨어질 수도 있고, 특정 이벤트 기간에만 순간적으로 요청이 몰릴 수도 있죠.

이런 상황에서 서버를 일일이 수동으로 늘리고 줄이는 것은 번거롭고 위험합니다.

그래서 등장한 기능이 바로 **Auto Scaling(오토 스케일링)**입니다.


Auto Scaling이란?

Auto Scaling은 서버의 수를 자동으로 늘리고(Scale out), 줄이는(Scale in) 기능입니다.
트래픽이 몰리면 서버를 자동으로 늘리고, 트래픽이 줄면 자동으로 줄여서 비용 최적화 + 안정적인 서비스 운영이 가능합니다.

 

  Auto Scaling의 대표적 활용 예:

  • “월 1~3일 자격증 접수 기간”처럼 매달 특정 기간만 트래픽 폭증
  • 쿠폰 발급, 상품 공개, 이벤트 진행 시 순간 트래픽 증가
  • 배포나 재부팅 시 자동으로 신규 서버 생성
  • 트래픽이 적은 새벽 시간대 비용 절감을 위해 서버 수 자동 축소

NCP Auto Scaling은 두 가지로 구성됩니다:

  1. Launch Configuration (서버 생성 템플릿)
  2. Auto Scaling Group (서버를 자동으로 관리하는 그룹)

Launch Configuration이란?

서버를 자동으로 생성하기 위한 ‘템플릿’

 

오토스케일링이 서버를 늘리기 위해서는
“어떤 서버를 어떻게 만들어야 하는지” 기준이 필요합니다.

 

그 기준이 바로  Launch Configuration  입니다.

Launch Configuration에는 다음 정보가 포함됩니다.

  • 어떤 이미지(서버 이미지, AMI)를 사용할지
  • 어떤 스펙(CPU/메모리)으로 만들지
  • 어떤 OS인지
  • 어떤 부팅 스크립트를 실행할지
  • 어떤 스토리지를 붙일지

 

 

즉, 오토스케일링이 서버를 자동으로 생성할 때
이 템플릿을 복사해서 그대로 새 서버를 만들어낸다고 보면 됩니다.

 


Auto Scaling Group이란?

오토스케일링이 실제로 서버 수를 관리하는 ‘그룹’

 

Launch Configuration이 “서버를 만드는 도면”이라면,
Auto Scaling Group(ASG)은
그 도면을 이용해 서버를 실제로 운영하고 자동 조절하는 실질적인 컨트롤러입니다.

ASG는 다음 기능을 담당합니다:

✔ 1. 최소/최대/기대 용량 설정

  • 최소 용량: 서버가 아무리 줄어들어도 유지해야 하는 개수
  • 최대 용량: 오토스케일링이 확장 가능한 최댓값
  • 기대 용량: 현재 유지하려는 서버 개수(스케일링 트리거가 없으면 유지됨)


✔ 2. 네트워크 설정(VPC/Subnet/ACG)

오토스케일링이 새 서버를 만들어 넣을 **서브넷/보안그룹(ACG)**을 지정합니다.

 


✔ 3. 정책 기반 자동 확장/축소

정책 기반 스케일링은 CPU, Memory, Network 등을 기준으로 확장 조건을 설정합니다.

예)

  • CPU > 70%가 5분 동안 유지되면 서버 1대 추가
  • Memory 사용량 < 40%면 서버 1대 감소

정밀하게 리소스 기반으로 자동 조절하고 싶을 때 사용됩니다.


✔ 4. 일정 기반 스케일링

매일/매주/매달 특정 시간에 스케일링을 실행합니다.

예)

  • 매달 1일 00:00 → 서버 3대로 확장
  • 매달 4일 00:00 → 다시 서버 2대로 축소

이벤트나 기간성 트래픽이 있을 때 매우 유용합니다.


✔ 5. 헬스 체크

서버가 정상인지 체크하고
비정상일 경우 자동으로 종료 → 새 서버 생성까지 수행합니다.

 

WAS는 로드밸런서가 없어야 하므로 → 서버 기반 헬스체크
WEB은 로드밸런서 연결되어 있으므로 → 로드밸런서 기반 헬스체크

 


Launch Configuration vs Auto Scaling Group 비교

항목 Launch Configuration Auto Scailing Group
역할 서버 생성 템플릿 서버 수를 자동으로 관리하는 그룹
포함 정보 이미지, 스펙, 디스크 등 최소/최대 용량, 정책, 일정 등
서버 생성 가능 여부 직접 생성 불가 Launch Configuration을 바탕으로 서버 생성
변경 가능 여부 수정 불가(새로 만들어야 함) 설정 변경 가능
의존 관계 단독으로는 의미 없음 반드시 Launch Configuration을 사용

 

한 줄 정리:

Launch Configuration = ‘서버 설계도’
Auto Scaling Group = ‘서버를 자동으로 늘리고 줄이는 관리자’


Auto Scaling을 도입하면 좋은 경우

✔ 트래픽이 특정 기간 몰릴 때
✔ 이벤트/세일 기간 대응
✔ 배포·재부팅 후 자동 복구 필요할 때
✔ 장애 서버 자동 교체 필요할 때
✔ 비용 최적화를 원할 때


마무리

Auto Scaling은
예측이 어려운 트래픽 환경에서 안정성과 비용 효율성을 동시에 확보할 수 있는 필수 기능입니다.

 

특히 Naver Cloud에서는
Launch Configuration + Auto Scaling Group 구조로 분명하게 기능이 나뉘어 있어
구성 방식이 깔끔하고 확장/감소 정책을 유연하게 적용할 수 있습니다.