본문 바로가기

Cloud/AWS

[AWS Developer Associate] ASG 정리

ASG란?

애플리케이션에 사용자가 많아질수록 더 많은 부하가 걸리게 된다.

클라우드를 사용하는 이점 중 하나는 이런 상황에서 빠르게 서버를 생성 및 제거할 수 있다는 것이다.

 

Auto Scaling을 사용하면 애플리케이션의 로드를 처리할 수 있는 정확한 수의 EC2인스턴스를 유지할 수 있다.

Auto Scaling이라는 EC2 인스턴스 모음을 생성하고, 각 오토 스케일링의 최소, 최대 인스턴스를 지정할 수 있으며 Amazon EC2 Auto Scaling 에서는 그룹의 크기가 이 값을 넘지 않는다.

즉, 설정한 정책에 따라서 시스템을 자동으로 늘리고 줄여주는 서비스이다.

ELB에 연결하여 자동화된 인스턴스 환경을 구축할 수 있다.

 

오토 스케일링을 사용하면

1. 정확한 수의 EC2 인스턴스를 보유하도록 보장

2. 다양한 스케일링 정책 적용 가능

3. 가용영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스를 분배

4. 로드 밸런서에 자동으로 새 인스턴스를 등록

 

스케일링 정책

무엇이 스케일 아웃이나 스케일 인을 촉발하는지 정해주는 정책

ex) CPU, 요청 수, Network, Custom metric 등등

알람을 기반으로 스케일 아웃 및 스케일 인 정책을 만들 수 있다.

-> 측정항목을 설정하고 해당 측정항목이 설정한 값 이상 혹은 이하가 됐을 때 대응(평균 CPU 양 등)

 

ASG - Cooldowns

- 조정 활동 이후, 쿨다운 시간을 가진다.

- 이 시간 동안에는 인스턴스를 추가하거나 삭제하지 않는다.

 

[동적 스케일링 정책]

 

대상 추적 스케일링

기본 기준선을 세우고 상시 가용이 가능하도록 해줌. CloudWatch 지표와 애플리케이션의 이상적인 평균 사용률 또는 처리량 수준을 나타내는 목표 값을 지정.

ex) 오토 스케일링 그룹의 평균 CPU 사용률을 추적하여 이 수치가 40%대에 머무를 수 있도록 할 때 사용

 

단순/단계 스케일링

조정 프로세스를 호출하는 CloudWatch 경보에 대한 조정 지표와 임계값을 선택하고 지정한 평가 기간에 임계값을 위반했을 때 오토 스케일링을 어떻게 조정할지 정의

 

예약된 작업

나와 있는 사용 패턴을 바탕으로 스케일링을 예상

스케일링이 필요함을 미리 알 때에 설정하면 유용

 

[예측 스케일링 정책]

 

예측 조정을 사용(머신러닝 기반)하여 트래픽 흐름의 일일 및 주간 패턴에 앞서 Auto Scaling 그룹의 ㄷEC2인스턴스 수를 늘릴 수 있다.

사용하면 좋은 경우

  • 주기적 트래픽(예: 정규 업무 시간 동안 리소스 사용량이 많고 저녁 및 주말에는 리소스가 적게 사용되는 경우)
  • 반복적인 온/오프 워크로드 패턴(예: 배치 처리, 테스트 또는 주기적 데이터 분석)
  • 초기화하는 데 시간이 오래 걸려 확장 이벤트 중에 애플리케이션 성능에 눈에 띄는 지연 영향을 받는 애플리케이션

일반적으로 규칙적인 트래픽 증가 패턴과 초기화하는 데 시간이 오래 걸리는 애플리케이션이 있는 경우 예측 조정 사용을 고려해야 한다.