인프라

Auto Scaling을 통한 확장성 및 탄력성 구현

김도리개발자 2023. 3. 1. 18:56

가상 서버의 용량을 자동으로 증가 또는 축소하는 오토 스케일링 기능을 사용하여 인프라에 확장성과 탄력성을 구현해보자

 

클라우드 컴퓨팅의 가장 큰 장점이자 클라우드 컴퓨팅을 사용하는 이유 중 하나이다.

오토 스케일링은 서버에 설정한 특정값에 따라 규모를 조정하여 안정적으로 시스템이 운영되도록 하는 기능이다.

 

1. Auto Scaling을 위한 Launch Template 및 Application Load Balancer 구성

  • Private subnet의 EC2에 대한 Custom AMI 생성
  • Auto Scaling을 위한 Launch Template 생성
    • AMI
    • Key pair
    • Network
    • Storage 등
  • Auto Scaling 용 Application Load Balancer 구성 (+ Target group)

2. Auto Scaling Group 및 Scaling Policy 구성

  • Auto Scaling Group 생성
    • Launch options
    • Group size
    • Load balancer
    • Tags 등
  • Scaling Policy 구성 (Auto Scaling 을 생성하는 과정에서 설정하게 되는데 매우 중요하여 따로 빼둠)
  • 콘솔 및 웹 브라우저를 통해 Auto Scaling Group 시작 확인

3. Auto Scaling Scale-Out 테스트 (Policy에 따라 서버 용량이 증가하는 Scale-Out 테스트)

  • Apache Bench Test를 위한 패키지(httpd-tools) 설치
  • Application Load Balancer에 부하(로드) 테스트
  • CloudWatch를 통해 CPU Utilization rate 증가 확인
  • Scale-Out으로 EC2 증가 확인

4. Auto Scaling Scale-In 및 Termination policy 살펴보기

  • Scale-In으로 EC2 감소 확인
  • Auto Scaling Group의 Termination policy 확인 

 

(오토 스케일링이 작동하는 기준값, 정책을 설정하여 오토 스케일링에 따라 서버 용량이 증가하게 되는데 이것을 Scale out이라고 한다.)