Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS EC2 Auto Scaling 만들기 및 실습(2)

seongduck 2023. 1. 5. 01:02

ASG 크기 변경해보기 (자동조정)


예약된 작업

 

  • 원하는 요일, 원하는 날짜에 따라 (트래픽이 증가할 날 예를들어 연말, 게임 이벤트 등등) 조정할 수 있다.
  • 선택한 날이 되었을 때, 트래픽이 적으면 최소치로 EC2를 낮추고 (원하는건 2개니까 2개로)
  • 트래픽이 많으면 최대 EC2를 5대까지 생성할 수 있다.

 

예측 크기 조정 정책

 

CPU사용량, 네트워크 사용량 등등 어느정도 넘어갈 경우를 목표치를 정해놓는다.

넘어갈 경우 수집된 데이터(기록된 데이터)들을 머신러닝하여 자동적으로 늘리거나 줄이는 역할을 해준다.

 

동적 크기 조정 정책

 

[단계 크기 조정]과 [단순 크기 조정]은 CloudWatch 경보를 통해 작업을 진행한다.

즉, CloudWatch가 트리거가 되어 용량 단위 (개수) 혹은 현재의 퍼센트지 (10% 등등..)만큼 증가, 감소 시킬 수 있다.

 

[대상 추적 크기 조정]은

지표 유형의 임계값을 설정하고 그 이상이면 EC2를 생성, 그 이하면 EC2를 제거하는 식의 방식이다.

생성을 눌러준다.

 

그룹 크기에서 최대 용량을 3개로 늘려보자

 

설정이 완료됐다.

원하는 용량이 1이므로 현재는 1개로 유지되어있지만 CPU 사용량이 50%가 증가하면 EC2는 최대 3개까지 증가한다.

반대로 CPU 사용량이 50% 미만으로 내려가면 최소 1개까지 EC2가 줄것이다.

강제로 트래픽을 줘서 실험해보자

 

ASG 실습 (트래픽 줘서 자동적으로 EC2 증가시키기)


만들어진 EC2에 Instance Connect를 이용하여 접속하자.

 

접속완료

 

임의적으로 트래픽을 증가시키기 위해 다음과 같은 명령어를 통해 설치를 진행해보자

> sudo amazon-linux-extras install epel -y
> sudo yum install stress -y #cpu 강제 사용 sw설치
> stress -c 10 #cpu 10개 할당

 

스트레스 부여한다.

 

이제 증가할 것이다 한번 확인해보자 (10분정도 기달)

 

증가한것을 확인할 수 있다!

 

이제 자동적으로 EC2가 증가했는지 확인해보자

[인스턴스 관리]에 들어가면

  • 이렇게 새롭게 EC2가 한대 추가된(추가되고 있는) 것을 확인할 수 있다.
    • (EC2 증가 조건에서 CPU 사용량이 50% 이상일 경우 한대 추가하도록 만들었기 때문에)

최대치인 3대까지 늘어난 것을 확인할 수 있다.

 

[자동 크기 조정]에 들어가서 우리가 설정한 내용들을 다시 봐보자

 

 

ASG 실습 (CPU 사용량을 낮춰서 자동적으로 EC2 감소시키기)


아까 Stress를 줬던 EC2를 찾아 재부팅을 눌러준다.

재부팅하게되면 Stress를 준것이 초기화되기 때문에 CPU 사용량이 감소할 것이다. (10분정도 기달..)

 

 

다시 [모니터링]에서 CPU 사용량을 보면 50%미만으로 줄어들었다.

 

[인스턴스 관리]에 들어가서 확인해보면 1개로 줄은 것을 확인할 수 있다.

Terminating되어 줄이고 있는 과정이다. 잠시후 확인하면 1개로 뜰 것이다.

 

이처럼 자동크기 조정을 통해 CPU의 사용량에 따라 EC2가 자동적으로 Auto Scaling되는 것을 확인해봤다.