Auto Scaling Group 이란
Auto Scaling Group(오토 스케일링 그룹)은 AWS에서 제공하는 EC2 인스턴스를 자동으로 늘리고 줄이는 기능을 제공하는 서비스
트래픽 변화에 따라 서버 수를 자동으로 조절하여 가용성(Availability)을 유지하고 비용 효율성(Cost Efficiency)을 높일 수 있습니다.
그렇다면, Auto Scaling Group의 목적은 무엇일까?
1. Scale Out(EC2 갯수 증가)을 통해 트래픽에 대응
2. Scale In을 통해 트래픽에 대응(트래픽이 적어지면 EC2 갯수 감소)
3. 최대 EC2 갯수 혹은 최소 갯수 유지
4. 자동으로 새로운 EC2 인스턴스를 ELB에 등록
5. 특정 EC2에 장애 발생시 대응(health check, Routing 끊기)
총 5가지의 목적을 갖고 ESG를 운영한다고 보면 된다. 여기서 가장 장점이자 강점은 알아서 트래픽에 대응하여
Scale out을 진행해준다는 점이다. 또한 ESG 그룹 생성에 따른 추가 비용은 없다.
(다만, Scale Out된 Instance에 대해서는 추가비용이 당연히 있다)
Scaling 기준은 무엇일까?
위의 사진 처럼, 총 다음과 같은 규칙을 통해 ASG는 운영된다.
1. Minimum Capacity:
말그대로 최소 인스턴스 갯수, ASG가 트래픽 양이 적어 Scale In을 하더라도 해당 갯수 아래로는 줄이지 않는다.
2. Desired Capacity:
희망 인스턴스 갯수, 평소에 해당 갯수로 운영이 된다.
3. Maximum Capacity:
트래픽이 과도하게 많아질 경우, 해당 갯수 안에서 Scale Out을 진행한다.
Auto Scaling과 Cloud watch
특정 트래픽을 모니터링하려면 AWS에서 제공하는 Cloud Watch를 사용해야한다.
Cloud Watch를 통해서 특정 트래픽이나 사용률이 과도하게 높아지거나 낮아지면 Scaling을 진행한다.
1. Dynamic Track Scaling
a. Traget Tracking Scaling: 기본적인 set up (예시로 CPU 사용률을 70아래로 계속 유지하고 싶다)
b. Simple/Step Scaling: Cloud Watch Alarm의 Trigger 형식으로 작동 (예시로 CPU 사용률이 70을 넘어가면 새로운 인스턴스 생성)
2. Scheduled Scaling
특정 패턴/주기를 간격으로 Scaling (오전 10시부터 오후 5시까지는 Scale Out)
3. Predictive Scaling
과거의 트래픽을 분석해서 미리 Scaling 진행
ASG가 Scaling을 진행하면 쉬어야한다.
Scaling이 끝나고 곧 바로 서비스가 전부 운영이 되는 것이 아니라 Cool-Down시간이 필요하다.
이 시간동안 모든 인스턴스가 문제가 없는지, 잘 실행되었는지 등의 상태를 확인한다.
마무리
확실히 ASG가 편리하다는 것을 알 수 있었다. 또한 Scaling되는 과정을 제외하면 추가 비용이 없다니, 충분히 작은 프로젝트에서도 부담없이 사용할 수 있을 것 같다.
'AWS' 카테고리의 다른 글
AWS Cloudfront와 CDN 이해하기 (0) | 2025.04.14 |
---|---|
Classic Solution Architecture 비교하며 이해하기(AWS) (1) | 2025.04.09 |
Lambda presigned URl로 S3 파일 올리기 (0) | 2025.03.27 |
AWS 계정 해킹과 ECS 과금 (2) | 2025.03.21 |
AWS: Route53 - ALB - VPC - EC2 실습 (0) | 2025.03.18 |