AWS - Auto Scaling Group (ASG)
목적
ASG에서는 EC2 인스턴스를 자동으로 관리하고, 해당 인스턴스들이 제공하는 서비스의 수요에 따라 *스케일 인/아웃이 가능합니다. 이를 위해 오토스케일링 알람을 설정할 수 있습니다.
기능
- 로드 밸런서와 함께 사용하여 트래픽 증가 시 인스턴스를 자동으로 추가하고, 트래픽 감소 시 인스턴스를 자동으로 제거하여 비용을 절감합니다.
- 오토스케일링 알람을 설정하여 인스턴스 스케일링을 트리거하도록 할 수 있습니다.
- 오토스케일링 정책을 만들어서 인스턴스 스케일링 동작을 자동화합니다. 정책은 추적, 단순/단계, 예약 기반으로 생성할 수 있습니다.
- 인스턴스 스케일링 동작은 세트 기반 또는 네트워크 임계값을 기반으로 할 수 있습니다.
- *스케일링 쿨링 다운 기능을 사용하여 인스턴스를 생성 또는 종료하는 동작을 일시 중지할 수 있습니다.
오토스케일링
AWS에서 제공하는 클라우드워치(CloudWatch) 서비스를 사용하여 지정된 지표를 모니터링하고, 해당 지표가 임계값(threshold)을 초과하거나 미달할 경우 알람을 생성합니다. 이를 통해 애플리케이션 또는 시스템에 이상이 발생할 경우 해당 이상에 대해 빠르게 대응할 수 있습니다.
오토스케일링의 정책
다이나믹 스케일링
다이나믹 스케일링 정책은 CPU 사용량, 네트워크 속도, 사용자 요청 수 등과 같은 실시간 메트릭을 기반으로 스케일링을 수행하는 정책입니다. 예를 들어, CPU 사용량이 80% 이상일 때 인스턴스를 추가하고, 20% 이하일 때 인스턴스를 제거하는 정책이 다이나믹 스케일링 정책입니다. 이 정책은 시스템 부하가 즉각적으로 증가하거나 감소할 때 유용합니다.
단순/단계적 스케일링
CPU 사용량, 네트워크 속도 등과 같은 일정 시간 동안의 평균 메트릭 값을 기반으로 스케일링을 수행하는 정책입니다. 예를 들어, CPU 사용량이 최근 5분 동안 80% 이상일 경우 인스턴스를 추가하고, 최근 10분 동안 20% 이하일 경우 인스턴스를 제거하는 정책이 단순/단계적 스케일링 정책입니다. 이 정책은 시스템 부하가 일정한 주기로 증가하거나 감소할 때 유용합니다.
용어 정의
*스케일 인: 타켓그룹에 인스턴스를 추가하는 것
*스케일 아웃: 타겟그룹에 인스턴스를 제거하는 것
*스케일링 쿨링다운 - Auto Scaling 그룹에서 발생하는 스케일 인 또는 스케일 아웃 후 일정 기간 동안 추가 스케일링을 방지하는 기능입니다.