본문 바로가기

AWS/ASG

[AWS/ASG] ASG scaling policies 그리고 dynamic policy 설정 해보기

반응형

 

 

기존 포스트 이어서 진행하겠습니다! 같이 따라 해 보실 분들은 아래 게시글 통해서 ASG 만들고 이어서 하시면 됩니다

2024.09.11 - [AWS/ASG] - [AWS/ASG] Auto Scaling Group (ASG) 만들기

 

ASG policies 통해 어느 기준으로 instance들을 생성 또는 제거할지 정해주는 역할을 해준다 

 

ASG policy는 총 3가지 종류가 있다 

1. Dynamic Scaling - 특정 기준 달성시 인스턴스 수를 증가/감소 

    ex. cpu 사용량 평균 40% 유지 

 

2. Schedule scaling - 특정 시간 때 기준으로 인스턴스 수를 증가/감소 

    ex. 평일 점심시간 때 11 ~ 13시까지 

    ex. 특별한 이벤트 행사가 있을 시 미리 트랙픽 예측 후 대비 

 

3. Predictive Scaling - 예전 데이터 수치 가지고 인스턴스 수를 증가/감소 

 

예시로 dynamic scaling를 만들어 보고 테스트까지 해보겠습니다! 

(Schedule + predictive scaling은 재현하기 어려워 간단하게 설명만 해보겠습니다) 

 


1. 생성한 ASG 선택

 

 

2. Automatic scaling policy 종류 

 

 

3. Dynamic scaling policies 생성 

Create dynamic scaling policy 선택 

 

4. Create dynamic scaling policy 

 

옵션 아래와 같이 진행, 자동으로 Cloudwatch 생성해 줍니다

CPU가 40% 이상 사용 시 인스턴스 새로 생성하는 조건으로 진행하겠습니다 

이따가 과부하 주면서 테스트도 해보겠습니다 

 

5. Dynamic scaling policy 확인 

 

아래와 같이 보시면 정상적으로 생성되었습니다

 

 

6. Dyanmic policy 테스트 해보기 

먼저 Maximum capacity를 3으로 설정하겠습니다 

기존 instance개수는 1로 설정합니다 

 

아래와 같이 보시면 지금 현재 1개의 인스턴스가 있는 걸로 확인됩니다 

 

 

7. Dyanmic policy 테스트 해보기 

ASG 통해 생성된 인스턴스에 과부하 주도록 하겠습니다 

SSH 또는 ec2 instance connect으로 진행하겠습니다 

 

SSH로 접속 or instance connect 방법은 아래 게시글 참고해 주세요 

2024.09.02 - [AWS/EC2] - [AWS/EC2/SSH] AWS EC2 SSH로 접속 방법 (Windows)(Putty 사용)

2024.09.02 - [AWS/EC2] - [AWS/EC2] AWS EC2 인스턴스 EC2 Instance Connect 사용해서 서버 접속하는 방법

 

 

 

 

8. 인스턴스 접속 후 과부하 스트레스 주기 

 

먼저 과부하 주기 전에 현재 ASG 상태입니다 

인스턴스는 현재 하나 생성되어 있고 

 

그리고  cpu 사용률은 0% 때 가깝습니다 

 

 

이제 인스턴스 접속해서 진행하겠습니다!

인스턴스 접속한 화면입니다 

 

아래 명령어 쳐서 진행해 주세요 

sudo yum install stress -y

stress -c 4

 

 

스트레스 명령어 실행 후 몇 분 뒤 확인해 보니 

CPU 사용률 거의 100% 까지 도달했습니다 

 

그리고 history에는 instance 수를 1 -> 3으로 바로 증가했네요 

 

현재 관리하고 있는 인스턴스는 총 3개가 보이네요! 성공입니다 ㅎㅎ 

 

 

 

etc. Schedule action

아래와 같이 보시면 시간 때, 인스턴스 개수등 설정할 수 있습니다!

 

 

 

etc. Predictive scaling policies 

이렇게 수치를 통해 설정할 수 있습니다 ㅎㅎ (자세한 건 나중에 배우면서 다른 게시글로 추가해 보겠습니다 ㅎㅎ)

 


ASG policies에 대해 알아봤습니다! 

 

 

 

 

 

반응형