처음 만난 AWS 문서


6.1 Auto Scaling

AWS의 Auto Scaling은 어떤 서비스일까요?

이름의 뜻만 해석해보면 자동으로 크기를 조절한다는 뜻이 됩니다.
그래서 Auto Scaling이라고 하면 일반적으로 트래픽에 따라서 자동으로 서버의 개수를 조절해주는 기능을 의미합니다.

그리고 AWS 관점에서는 트래픽에 따라서 자동으로 EC2 인스턴스 개수를 조절해주는 기능이라고 할 수 있습니다.

그렇다면 Auto Scaling이 왜 필요할까요?

AutoScaling necessity 01

보통의 경우에는 위 그림처럼 서버의 최대 용량이 고정되어 있습니다.
하지만 서버로 들어오는 트래픽의 양은 고정되어 있지 않죠.
그래서 갑자기 서버에 트래픽이 몰리게 되면, 빨간 점섬으로 표시한 부분처럼 서버 용량 초과로 인해 서버에 장애가 발생하게 됩니다.
고객들에게 정상적으로 서비스를 제공할 수 없는 상태가 되는 것이죠.

이러한 상황의 가장 대표적인 예로 명절 기차표 예매를 들 수 있습니다.
평소에는 서버의 용량를 초과할 일이 거의 없기 때문에 문제가 되지 않지만, 명절 기차표를 예매하기 위해 갑자기 수많은 사람들이 몰리게 되면 서버가 다운되고 장애가 생길 수 있는 것이죠.

그래서 이러한 상황을 방지하고자, 아래 그림처럼 서버의 최대 용량을 확 늘리는 방법을 사용할 수도 있습니다.

AutoScaling necessity 02

하지만 이렇게 되면, 평소 트래픽이 몰리지 않을 때에도 서버의 용량을 크게 유지해야 하기 때문에 이처럼 낭비되는 자원이 많이 생기게 됩니다.
비용측면에서 굉장히 비효율적인 것이죠.

이러한 상황에서 서비스를 안정적으로 제공하면서 낭비되는 자원이 없도록 비용 효율적으로 하기 위해서 등장한 것이 바로 Auto Scaling입니다.

AutoScaling necessity 03

Auto Scaling을 사용하게 되면, 위 그림처럼 실제 트래픽과 거의 유사한 수준으로 서버의 용량을 조절할 수 있습니다.

이렇게 되면 트래픽이 늘어나도 서버의 용량이 자동으로 늘어남으로써 안정적으로 서비스를 제공할 수 있습니다. 또한 트래픽이 줄어들면 서버의 용량도 자동으로 줄어듦으로써 낭비 되는 자원이 생기지 않도록 할 수 있습니다.

그래서 Auto Scaling을 사용하면 안정적이며 효율적으로 서버를 운영할 수 있습니다.

그리고 참고로 Auto Scaling은 앞에서 배운 ELB와 함께 사용하게 됩니다.
이러한 Auto Scaling의 개념을 잘 기억하면서 다음으로 넘어가도록 하겠습니다.


마지막 업데이트: 2023년 11월 10일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.