230510 TIL #81 오토스케일링 정책 세팅

김춘복·2023년 5월 9일
0

TIL : Today I Learned

목록 보기
81/543
post-custom-banner

230510 Today I Learned

실전 프로젝트 6주차. 오늘 TIL에는 저번에 다 정리하지 못한 오토스케일링 실제 설정 내용을 정리해보려 한다.


오토스케일링 정책 세팅

  • 이번 프로젝트에서 오토스케일링을 적용하면서 서버 인스턴스가 자동으로 Scale Out / Scale in 되도록 세팅을 했다.

특정 시간에 자동으로 Scale out / in

18시에 티케팅이 시작된다고 치면 트래픽을 대비하기 위해 미리 매일 17시 30분부터 18시 30분까지 1시간동안 서버 인스턴스의 수를 1대 늘리도록 예약 설정을 해두었다.
평소 최소 1대에서 17시 30분에 2대로 수정

  • 그리고 18시 30분부터 다시 최소 1대로 수정

  • 이렇게 해서 서버에 트래픽이 몰리는 시간에 자동으로 Scale Out이 되고 그외의 시간에는 Scale in 이 되도록 설정할 수 있었다.

리소스 사용량에 따라 서버 개수를 동적으로 조절

  • 위의 설정과는 별개로 평시에도 CPU 사용량이 임계값을 초과한다면 자동으로 Scale out이 되어 서버 부하를 나눌 수 있게 동적으로 설정해두었다.

  • CPU 사용량이 일정치 이상과 이하일때 CloudWatch 경보가 울리도록 설정하고

  • 해당 경보가 발동하면 동적으로 인스턴스의 숫자를 조절하도록 경보마다 세팅해준다.

  • 이렇게 해서 서버 리소스 사용량에따라 클라우드워치를 연동해 Scale out/ in이 자동으로 되도록 설정했다.

오토스케일링 서버 인스턴스 생성 테스트

  • 서버 부하가 발생하고 임계치까지 서버 리소스가 사용되어 클라우드워치 경보가 울리고 나서 서버 인스턴스가 추가되고 어플리케이션이 정상적으로 켜질 때 까지 얼마나 시간이 걸리는 지 테스트해보았다.
  • AutoScaling 적용 시간 테스트(230509)

    서버 부하 적용 시작 : 2시 20분 00초
    Scaling-out 경보 시작 : 2시 23분 08초
    추가 인스턴스 생성 시작 : 2시 23분 09초
    애플리케이션 정상 실행 : 2시 24분 02초
    인스턴스 생성 시작 ~ 애플리케이션 정상 실행까지 53초

  • 인스턴스가 만들어지고 애플리케이션이 정상적으로 실행되기까지 생각보다 오랜시간이 걸리지 않았다. 1분도 되지 않는 시간에 생성되고 바로 부하를 나눠받아 성공적으로 실제 서비스 환경에서도 유용하게 쓸 수 있을 것 같았다.
profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글