[AWS]오토스케일링(Auto scaling)✨

SUMIN·2023년 1월 27일

1.오토스케일링(Auto Scaling)이란?

  • 오토스케일링은 클라우드의 유연성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링하여 서버 사이즈를 자동으로 조절 하는 서비스를 말한다.

  • 이를 통해 사용자는 예상치 못한 서비스 부하에 효과적으로 대응하고, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지 할수 있다.

스케일링( Scaling)?

  • 오토스케일링에 대해 배우기 앞서 스케일링이 무엇을 의미하는지 간단하게 짚고 넘어가도록 하자.
  • 스케일링 이란 인스턴스 혹은 컴퓨팅 파워를 늘리는 것을 말한다.
  • 스케일링의 방법에는 대표적으로 2가지가 있다.

스케일 업(Scale Up)


cpu가 하나이고 용량이 1기가라고 있다고 가정하자.

만일 cpu 성능을 10배로 늘려야할 상황이 온다면, 말 그대로 10배의 cpu를 사용함으로서 성능을 올리는 것을 스케일 업이라고 한다. 하지만 이는 성능과 비용이 비례하지 않는다는 단점이 있다.

스케일 아웃(Scale Out)

스케일 아웃은 규모를 늘리는 것이다.

예를들어 1000배 성능이 좋은 그래픽카드를 원하지만 현실에서도 존재하지도 않으니 여러개 장착 해서 성능을 올려보자는 개념이다.

하지만 이는 물리적으로 불가능하다. 메인보드에는 그래픽카드를 최대 2개밖에 장착하지 못하며, 만일 수십개를 장착할 수 있다고 해도 공간을 고려해야 되지 때문이다.

그러나 클라우드는 상황이 다르다. (왜 클라우드가 인기있는 이유이기도 하다)

성능을 16배 올리고 싶으면 그냥 16개를 가져다가 쓰면 된다.

공간의 제약이나 하드웨어적인 제약이 없다.

그리고 성능과 비용이 비례하다는 특징도 가지고 있다.

따라서, 클라우드 환경에서는 Scale Out을 항상 염두하며 설계를 해야 한다.

수요에 따라 유연성을 가질 수 있다는 장점도 있다.

오토 스케일링(Auto Scaling)은 이처럼 Scale Out을 자동화(Auto) 하기 위해 나온 서비스라고 보면 된다.

애플리케이션을 모니터링 하고 용량을 자동으로 조정하는 역할을 하며, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지 한다.

그래서 몇 분만에 손쉽게 서비스의 여러 리소스에 대해 애플리케이션 규모 조정을 설정 할 수 있다.

0개의 댓글