[고가용성 및 스케일링성] Auto Scaling Group (ASG) - Scaling Policies

IMKUNYOUNG·2024년 8월 12일
0

AWS-SAA

목록 보기
38/91

클라우드 환경에서 애플리케이션의 효율적인 운영을 위해서는 서버 자원의 자동 조정이 매우 중요합니다. 특히, AWS의 오토 스케일링 그룹(ASG)은 이런 작업을 자동으로 처리해주는 핵심적인 도구입니다. ASG는 트래픽의 변화에 따라 EC2 인스턴스를 자동으로 추가하거나 제거하여, 애플리케이션의 안정성과 성능을 유지합니다. 이번 글에서는 ASG의 다양한 스케일링 정책과 그 설정 방법에 대해 알아보겠습니다.

동적 스케일링 (Dynamic Scaling)

동적 스케일링은 실시간으로 변화하는 트래픽에 따라 자동으로 인스턴스를 조정하는 방법입니다. 이 중에서도 목표 추적 스케일링(Target Tracking Scaling)은 설정이 간단하고 효과적입니다.

목표 추적은 특정 메트릭을 기준으로 스케일링을 설정하는 방식입니다. 예를 들어, CPU 사용률을 40%로 유지하고자 한다면, ASG는 자동으로 인스턴스를 추가하거나 제거하여 평균 CPU 사용률을 40%에 가깝게 유지합니다. 이는 매우 직관적인 방법으로, 설정 후 별다른 추가 작업 없이 안정적인 스케일링이 가능합니다.

또한 단순/단계 스케일링(Simple/Step Scaling)도 있습니다. 이 방법은 클라우드와치(CloudWatch) 알람을 설정해, 특정 조건이 발생할 때 인스턴스를 추가하거나 제거하도록 합니다. 예를 들어, CPU 사용률이 70%를 초과하면 인스턴스를 2개 추가하는 식으로 설정할 수 있습니다.

예약 스케일링 (Scheduled Scaling)

예약 스케일링은 특정 시간에 따라 인스턴스를 조정하는 방법입니다. 예를 들어, 매주 금요일 오후 5시에 트래픽이 급증하는 패턴이 있다면, 미리 최소 인스턴스 수를 늘려 트래픽에 대비할 수 있습니다. 이는 주기적인 사용 패턴이 있는 애플리케이션에 특히 유용합니다.

예측 스케일링 (Predictive Scaling)

예측 스케일링은 과거의 트래픽 데이터를 분석하여, 향후 발생할 트래픽을 예측하고 이에 따라 미리 스케일링 작업을 수행합니다. 주기적인 트래픽 패턴이 있는 애플리케이션에 매우 효과적입니다. 예를 들어, 매일 아침 9시마다 트래픽이 증가하는 경우, 예측 스케일링은 이를 인식하고 자동으로 필요한 인스턴스를 미리 준비합니다.

스케일링 메트릭 선택

적절한 스케일링 메트릭을 선택하는 것은 ASG 설정의 핵심입니다. 메트릭은 애플리케이션의 성능과 안정성에 직접적인 영향을 미치기 때문입니다.

  • CPU 활용도: 가장 일반적인 메트릭 중 하나입니다. CPU 사용률이 높아질수록 인스턴스를 추가하는 방식으로 스케일링할 수 있습니다.

  • 타깃당 요청 수: EC2 인스턴스가 동시에 처리할 수 있는 최적의 요청 수를 기준으로 스케일링할 수 있습니다. 예를 들어, 각 인스턴스가 1000개의 요청을 처리할 수 있다면, 이 값을 기준으로 스케일링을 설정할 수 있습니다.

  • 네트워크 사용량: 애플리케이션이 네트워크에 많이 의존하는 경우, 네트워크 사용량을 기준으로 스케일링을 설정하는 것이 좋습니다.

스케일링 쿨다운 (CoolDown)

스케일링 작업 후에는 쿨다운 시간이 적용됩니다. 기본적으로 ASG는 인스턴스를 추가하거나 제거한 후 300초(5분) 동안 추가적인 스케일링 작업을 하지 않습니다. 이는 메트릭이 안정화되고, 새로운 인스턴스가 트래픽을 처리하는 데 걸리는 시간을 고려하기 위함입니다.

만약 애플리케이션이 더 빠르게 반응해야 한다면, 쿨다운 시간을 줄이거나, EC2 인스턴스의 설정 시간을 최적화하여 더 빠르게 처리할 수 있도록 하는 것이 좋습니다. 이와 더불어, 상세 모니터링을 활성화하여 메트릭이 더 자주 업데이트되도록 설정하면, 더욱 효율적인 스케일링이 가능합니다.

마치며

오토 스케일링 그룹은 AWS 환경에서 애플리케이션의 안정적인 성능을 유지하는 데 필수적인 도구입니다. 동적 스케일링, 예약 스케일링, 예측 스케일링 등 다양한 정책을 활용해 트래픽 변화에 유연하게 대응할 수 있습니다. 또한, 적절한 메트릭 선택과 쿨다운 시간 조정은 스케일링 전략의 성공 여부를 결정짓는 중요한 요소입니다. 애플리케이션의 특성에 맞는 최적의 스케일링 정책을 설정해 보세요.

0개의 댓글