로드 밸런서를 사용하면 애플리케이션의 로드를 분산할 수 있다.
그럼 로드가 분산될 서버가 백엔드에서 자동으로 만들어지는건 어떻게 가능한걸까?
# Auto Scaling Group
오토 스케일링 그룹(ASG)이 그 역할을 한다.
현실 세계에서 웹사이트 로드는 시간에 따라 차이가 있다. 예를 들어 오프라인 쇼핑몰에 낮에는 사람이 많고, 밤에는 비어있는 것처럼 말이다.
클라우드에서는 매우 빠르게 서버를 만들고 없앨 수 있고, 오토 스케일링 그룹이 이 역할을 한다.
다시 말해, 로드가 증가하는 만큼 그에 맞게 EC2 인스턴스를 추가하고, 로드가 감소하면 EC2 인스턴스를 줄인다.
덕분에 어느 시점에서든 실행되는 머신의 숫자를 최대/최소로 보장한다.
오토 스케일링 그룹이 EC2 인스턴스를 추가하거나 제거하면, 해당 인스턴스들이 로드 밸런서에 자동으로 등록되거나 등록 해지된다.
ASG와 로드 밸런서가 함께 동작하는 것!
서버의 상태가 비정상적이어서 애플리케이션에 버그가 있을 때도, ASG가 감지하여 비정상 인스턴스의 등록을 해지하고 종료한 후 새로운 정상 인스턴스로 교체한다.
이렇듯 오토 스케일링 그룹을 사용하면, 항상 최적의 용량에서 실행되고, 당연하게도 비용이 절감된다.
(⬆️ 이러한 탄력성은 클라우드의 기본 원칙!)
# Auto Scaling Group w/ Load Balancer
로드 밸런서와 오토 스케일링 그룹이 함께 동작하는 방식을 좀 더 자세히 들여다 보자.
1개의 EC2 인스턴스가 있을 때, 로드 밸런스를 통해 들어온 웹 트래픽은 바로 EC2 인스턴스로 리디렉션 된다.
오토 스케일링 그룹이 EC2 인스턴스를 추가하여 스케일 아웃하면, 로드 밸런서는 해당 인스턴스를 등록하고 새로 등록된 인스턴스에도 트래픽을 보내기 시작한다.
EC2 인스턴스를 추가할수록, 로드밸런서는 더 많은 트래픽을 오토 스케일링 그룹의 최대 크기까지 분산한다.
'AWS' 카테고리의 다른 글
Amazon S3를 이용한 데이터 관리: 버킷, 오브젝트, 키의 이해 (0) | 2025.02.21 |
---|---|
오토 스케일링 그룹(ASG)의 스케일링 전략 (0) | 2025.02.20 |
Load Balancer에 대해 알아보기 - AWS의 대표적인 로드 밸런서 3가지(ALB, NLB, GWLB)까지 (0) | 2025.02.18 |
클라우드의 수평/수직 확장성과 고가용성 이해하기 (0) | 2025.02.17 |
EC2 인스턴스의 데이터를 저장하고 관리하는 방법 - EBS, 스냅샷, AMI, EFS의 활용과 차이점 (0) | 2025.02.16 |