#DevOps

포스타입 서버가 변화무쌍한 트래픽에 대응하는 방법

포스타입 서버가 변화무쌍한 트래픽에 대응하는 방법
01

Summary

매년 새해 첫날 터지던 서버, 포스타입은 어떻게 오토 스케일링으로 구원했을까?

플래핑 현상 해결부터 웜 풀 활용까지, 변화무쌍한 트래픽을 견뎌내는 실전 AWS 인프라 구축기

이 아티클은 매년 1월 1일 새벽 폭발적인 사용자 유입으로 서버 마비를 겪던 포스타입이 AWS 오토 스케일링 고도화를 통해 무장애 인프라를 완성한 실무 과정을 담고 있습니다. 자동화 정책의 맹점인 플래핑 이슈를 '단계 조정 정책'으로 우회하고, 느린 스프링 부트 로딩 문제를 '웜 풀'로 극복한 생생한 인프라 트러블슈팅 경험을 공유합니다.

  • 01대상 추적 조정 정책이 자동 생성하는 알람 한계를 인지하고 커스텀 설정이 가능한 '단계 크기 조정 정책'으로 전격 교체
  • 02인스턴스 추가와 삭제 임계값 사이에 충분한 갭을 두어 시스템 수명을 갉아먹는 '플래핑(flapping)' 현상을 완벽 방지
  • 03SpringBoot API 서버의 느린 프로비저닝 단점을 극복하기 위해 대기 인스턴스를 즉각 구동하는 '웜 풀(Warm Pool)' 전략 전개
  • 04신년 자정처럼 확실한 트래픽 폭증이 예상될 경우 최소 용량을 사전 조정하여 헬스 체크 지연으로 인한 초기 장애 리스크 예방
  • 05Blue-Green 배포 도중 발생할 수 있는 오토 스케일링 그룹과 CloudWatch 모니터링 연동 유실 주의 사항 전파

RECOMMENDATION

갑작스러운 트래픽 폭증으로 오토 스케일링이 너무 느리게 동작하거나, 스케일 아웃/인 반복으로 서버 비용이 낭비되는 인프라 및 DevOps 엔지니어에게 일독을 권장합니다.

The Problem

매년 1월 1일 자정처럼 단시간에 트래픽이 폭증할 때 서버가 다운되거나 장애가 발생하는 문제가 있었으며, 심야와 주간의 트래픽 편차가 심해 고정된 대수의 서버를 유지하는 것은 비효율적인 상황이었습니다.

The Solution

AWS EC2 '단계 크기 조정 정책'을 적용해 스케일 인/아웃 임계값에 충분한 격차를 두어 플래핑 현상을 잡았고, '웜 풀(Warm Pool)' 기능을 도입해 인스턴스 초기 가동 시간을 극적으로 단축했으며, 예측 가능한 대규모 이벤트 전에는 최소 인스턴스 제한 값을 수동으로 선제 확장했습니다.

The Result

불필요한 인스턴스의 증설과 삭제가 반복되는 플래핑 현상이 완전히 제거되었으며, 매년 서버 다운이 반복되던 새해 첫날 새벽에도 전혀 장애 없는 안정적인 서비스를 유지하는 데 성공했습니다.

Trade-off

Blue-Green 배포 프로세스 장애 시 CloudWatch 알람과 ASG 간의 연결이 누락될 위험이 상존하며, 웜 풀 구성을 위한 스토리지(EBS) 및 미사용 IP 비용이 추가 과금되는 구조적 비용 트레이드오프가 있습니다.

03

Key Concepts

Concept · 01

단계 크기 조정 정책 (Step Scaling Policy)

트래픽 변화 폭에 따라 서버 확장 및 축소 규모를 여러 단계로 정의하여 대응력을 높이는 AWS의 스케일링 방식입니다.

  • 대상 추적 조정 정책의 고질적 한계였던 플래핑 현상을 해결하기 위해 포스타입의 주력 전략으로 채택되었습니다.
  • CPU 사용률 폭증 시 일괄적으로 여러 대의 인스턴스를 한 번에 가동할 수 있도록 세밀하게 제어합니다.
Concept · 02

플래핑 현상 (Flapping)

오토 스케일링 환경에서 서버 확장과 축소 기준이 너무 밀접해 인스턴스 생성과 삭제가 끊임없이 반복되는 리소스 낭비 현상입니다.

  • 서버가 부팅 단계에 머무르는 동안 전체 인프라 성능의 저하와 시스템 불안정성을 발생시킵니다.
  • 스케일 인과 아웃 측정 주기 및 알람 임계값의 간격을 넓혀 완전히 극복했습니다.
Concept · 03

웜 풀 (Warm Pool)

인스턴스를 완전히 정지 혹은 최대 절전 모드로 유지하며 대기시켜, 스케일 아웃이 필요한 순간에 즉각 가동할 수 있도록 돕는 AWS의 기능입니다.

  • SpringBoot 서비스 초기화 및 로드 밸런서의 헬스 체크 통과까지 걸리던 수 분 이상의 지연 시간을 효과적으로 예방합니다.
  • 자원의 낭비를 막고 트래픽 급증 시의 반응 속도를 극대화하는 보조 장치로 주요 ASG 그룹에 상시 적용 중입니다.