오토스케일링(Autoscaling)

cabbage·2023년 3월 1일
0

기타

목록 보기
15/26

오토스케일링(Autoscaling)

오토스케일링필요에 따라 서비스를 빠르게 확장하거나 축소할 수 있는 유연성을 극대화하는 핵심 기술이다. 오토스케일링은 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링하여 서버 사이즈를 자동으로 조절한다. 이를 통해 서비스 부하에 효과적으로 대응하고 비용을 절감할 수 있다.

스케일링(Scaling)

클라우드 컴퓨팅 환경에서 스케일링은 VM 인스턴스 또는 VM 인스턴스의 컴퓨팅 파워를 늘리는 것을 말한다.

  • 스케일링에는 성능 향상을 위한 스케일 업 방식과 스케일 아웃 방식이 있다.

스케일 업(Scale Up)

  • 클라우드 컴퓨팅 환경에서 스케일 업은 VM 인스턴스의 컴퓨팅 파워를 늘리는 것이다.
  • 부하가 커짐에 따라 이에 대응하기 위해 VM 인스턴스의 컴퓨팅 파워를 늘려 증가하는 부하를 처리한다.
  • 성능과 비용이 비례하지 않는다는 단점이 있다.

스케일 아웃(Scale Out)

  • 클라우드 컴퓨팅 환경에서 스케일 아웃은 VM 인스턴스의 갯수(규모)를 늘리는 것이다.
  • 부하가 커짐에 따라 이에 대응하기 위해 VM 인스턴스의 갯수를 늘려 증가하는 부하를 처리한다.
  • 스케일 업 방식과 다르게 성능과 비용이 비례한다는 장점이 있다.
  • 클라우드 컴퓨팅 환경에서 스케일 아웃의 제약이 존재하지 않기 때문에 사용자의 필요에 따라 VM 인스턴스의 갯수를 생성하거나 줄일 수 있다.
  • 스케일 아웃을 염두해 두고 클라우드 환경을 구축하는 것이 중요하다.

오토스케일링은 스케일 아웃의 자동화를 위한 기술이다. 클라우드 환경에 있는 애플리케이션을 모니터링하여 VM 인스턴스의 갯수를 최적화한다. 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있게 해준다.

스케일 인(Scale In)

  • 스케일 아웃의 반대 개념으로 스케일 인이 있다.
  • 클라우드 컴퓨팅 환경에서 스케일 인은 VM 인스턴스의 갯수를 줄이는 것이다.
  • 부하가 적어짐에 따라 이에 대응하기 위해 스케일 아웃으로 늘린 VM 인스턴스의 갯수를 줄인다.

오토스케일링의 시스템 매트릭 지표

시스템 매트릭은 클라우드 컴퓨팅 환경에서 운영하는 서버의 자원에 해당하는 CPU, 메모리, 네트워크와 같은 클라우드 리소스 사용량 정보를 말한다.

운영중인 서버의 시스템 매트릭 값을 모니터링하고, 모니터링된 시스템 매트릭 값에 따라 스케일 아웃으로 인스턴스 갯수를 늘리거나 스케일 인으로 인스턴스 갯수를 줄인다.

  • 시스템 매트릭 값이 지정 임계값을 초과하는 경우 스케일 아웃으로 인스턴스 갯수를 늘린다.
  • 시스템 매트릭 값이 지정 임계값보다 떨어지는 경우 스케일 인으로 인스턴스 갯수를 줄인다.

AWS에서 모니터링하는 인스턴스의 시스템 매트릭 지표는 아래와 같다.

  • CPU
  • Network
  • Disk I/O
  • Load Average (평균 부하 유지 기간)

시작 구성 템플릿

AWS에서는 서버 인스턴스를 손쉽게 생성하기 위해 시작 구성 템플릿을 제공한다. 증가하는 부하를 처리하기 위해 새롭게 서버 인스턴스를 생성해야 하는 경우 시작 구성 템플릿에 따라 서버 인스턴스를 빠르게 만들어 부하를 처리한다.

오토스케일링 동작 원리

  1. 로드밸런서의 네트워크 정보와 서버의 시스템 매트릭 값들이 모니터링된다.
  2. 모니터링 결과 임계값을 벗어나는 값이 감지되면 오토스케일링 그룹으로 알림을 보낸다.
  3. 오토스케일링 정책에 따라 스케일 아웃 또는 스케일 인 방식으로 서버 인스턴스 갯수를 조절한다.
  4. 서버 인스턴스를 생성하는 경우 로드밸런서를 사용해 새롭게 생성된 서버 인스턴스의 상태를 확인한다.
  5. 서버 인스턴스의 상태가 확인되면 서버 인스턴스를 서비스 로드밸런서에 추가한다.

참고

profile
캐비지 개발 블로그입니다. :)

0개의 댓글