이전까지는 EC2 인스턴스를 하나 띄우고 IAM이나 보안 그룹을 설정해 외부에서 접속하는 '단일 서버' 관점에 머물러 있었다면, 이번 로드 밸런싱과 오토 스케일링 학습을 통해 비로소 '클라우드다운 클라우드'의 동작 원리를 이해하게 되었습니다. 실제 서비스에서 트래픽이 폭주해도 서버가 다운되지 않고 유연하게 대처하는 고가용성(High Availability)과 확장성(Scalability)이 어떻게 구현되는지 큰 그림을 그릴 수 있는 시간이었습니다.
단순히 비싼 서버로 교체하는 수직적 확장(Scale-up)이 아니라, ELB가 트래픽을 똑똑하게 분산해주고 ASG가 목표치에 맞춰 인스턴스를 자동으로 늘리거나(Scale-out) 줄이는(Scale-in) 수평적 확장 과정이 인상 깊었습니다.
특히 ELB의 상태 확인(Health Check) 기능이 ASG와 연동되어, 응답이 없는 비정상 인스턴스를 감지하면 알아서 종료하고 새 인스턴스로 교체해 주는 무중단 서비스의 핵심 원리를 깨달았습니다.
이번에 정리한 ELB와 ASG 개념은 모던 웹 서비스 아키텍처에서 선택이 아닌 필수라는 것을 실감했습니다. 추후 개인 프로젝트나 서비스를 클라우드에 배포할 때, 오늘 배운 내용들을 바탕으로 단일 장애점(SPOF)을 없애고 트래픽 변화에 유연하게 대응할 수 있는 튼튼한 인프라를 직접 설계해 보고 싶습니다.