Cloud/AWS

[AWS] Auto Scaling을 통한 인스턴스 자동 추가, 제거

cho2cee 2022. 2. 23. 22:12

앞서 생성한 Auto Scaling 그룹 [EXERCISE-GROUP]는 CPU 사용률이 80%를 넘으면 인스턴스를 하나 추가하고 80% 이하로 떨어지면 인스턴스를 하나 줄이는 조정 정책을 추가했다. 

이 Auto Scaling 기능이 제대로 동작하는지 확인해보자. 

 

1. [Auto Scaling] - [Auto Scaling 그룹] 메뉴에서 EXERCISE의 인스턴스 목표 용량을 확인한다.

 

2. 인스턴스 탭에서 실행된 하나의 인스턴스의 상태가 InService가 될 때까지 기다린다. 


3. 서버에 접속한 뒤 임의로 CPU의 사용률을 높이기 위해 stress라는 애플리케이션을 설치한다. 
stress는 원하는 CPU의 수를 원하는 시간만큼 100% 사용하게 만드는 기능이다. 

# Linux 2 AMI의 repo 추가
sudo amazon-linux-extras install epel -y
sudo yum install stress -y

 

4. 600초 동안 1개의 CPU 사용량을 최대로 늘린다. 10분이나 하는 이유는 현재 인스턴스의 사용량 지표를 5분에 한 번씩만 모니터링 서버로 전송하고 있기 때문이다. 인스턴스를 생성할 때 [세부 모니터링 활성화] 옵션을 활성화해두면 인스턴스가 1분마다 지표를 보내기 때문에 더 빠르게 대응할 수 있게 된다. 
📌 다만 이 옵션은 약간의 추가 비용이 발생하므로 지금은 활성화하지 않았다. 운영 환경과 같이 필요한 경우에는 활성화하면 좋다. 

$ stress --cpu 1 --timeout 600
stress: info: [25655] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd

 

5. 5~10분을 기다려보면 인스턴스가 자동으로 한 대 더 추가되는 것을 볼 수 있다. 

➔ EXECISE-GROUP의 [활동] 탭을 클릭하면 CPU 사용률 증가로 인해 인스턴스의 수가 1대에서 2대로 늘었다는 이력이 생긴 것을 확인할 수 있다. 활동에서는 발생한 이려과 그 이력에 대한 상세한 원인도 보여준다. 

 

또한 CPU 사용률이 다시 정상적으로 줄어든 후 대기 시간인 300초가 지나면 인스턴스 수가 1대로 줄어드는 것을 확인할 수 있다. 

인스턴스 수 2대로 증가
300초 후 인스턴스 1대로 감소