이번 강은 로드밸런서(LB)와 오토스케일로 트래픽 변화에 견디는 구성을 만든다.
VM 한 대로 서비스를 운영하면, 그 한 대가 죽는 순간 서비스 전체가 멈춘다. 트래픽이 몰리면 느려지고, 한산할 땐 자원이 낭비된다. 로드밸런서와 오토스케일이 이 두 문제를 함께 푼다.
이 강의 목표는 다음과 같다.
- 로드밸런서가 왜 필요한지 이해한다.
- 오토스케일의 확장·축소 동작을 안다.
- 둘을 묶어 고가용성 구성을 잡는다.
1. 로드밸런서 (LB)
로드밸런서는 사용자의 트래픽을 여러 VM에 고르게 나눠 주는 장치다.
- 사용자는 LB 주소 하나만 바라본다. 뒤에 VM이 몇 대인지 알 필요가 없다.
- LB는 각 VM의 상태를 헬스체크로 확인해, 죽은 VM에는 트래픽을 보내지 않는다.
- 그래서 VM 한 대가 죽어도 나머지가 요청을 받아 서비스가 계속된다.
2. 오토스케일 (Auto Scaling)
오토스케일은 부하에 따라 VM 수를 자동으로 늘리고 줄이는 기능이다.
- 확장(Scale-out): CPU·트래픽이 임계치를 넘으면 VM을 자동으로 추가한다.
- 축소(Scale-in): 부하가 내려가면 남는 VM을 자동으로 줄여 비용을 아낀다.
- 확장 대상 VM은 미리 정한 템플릿(이미지·사양)으로 똑같이 찍어낸다.
3. 둘을 묶으면
로드밸런서 뒤에 오토스케일 그룹을 두는 것이 표준 구성이다.
| 상황 | 동작 |
|---|---|
| 평상시 | LB가 상시 VM 2대에 분산 |
| 트래픽 급증 | 오토스케일이 VM 3·4대로 확장, LB가 자동 인식 |
| 트래픽 감소 | 오토스케일이 VM 축소, 비용↓ |
| VM 1대 장애 | 헬스체크 실패 → LB가 제외, 서비스 유지 |
4. 설정 흐름
- 확장에 쓸 템플릿(머신 이미지·사양)을 준비한다.
- 오토스케일 그룹을 만들고 최소/최대 VM 수와 임계치(예: CPU 70%)를 정한다.
- 로드밸런서를 만들어 그 그룹을 대상으로 연결한다.
- LB 주소를 서비스 도메인에 연결한다.
예제
예제) 최소 2대, 최대 5대, CPU 70% 임계치로 설정했다. 평소 2대로 돌다가 이벤트로 트래픽이 3배가 됐다. 어떻게 되나?
해설) CPU가 70%를 넘으면 오토스케일이 VM을 3→4→5대까지 순차로 늘린다. LB는 새로 뜬 VM을 헬스체크로 확인한 뒤 트래픽을 나눠 준다. 이벤트가 끝나 부하가 내려가면 다시 2대까지 자동 축소된다. 운영자가 밤에 깨어 서버를 켜지 않아도 된다.
정리
- 로드밸런서는 트래픽을 여러 VM에 분산하고 죽은 VM을 자동으로 뺀다.
- 오토스케일은 부하에 따라 VM 수를 자동 증감해 성능과 비용을 맞춘다.
- LB + 오토스케일 그룹이 고가용성의 표준 구성이다.
- 확장은 미리 정한 템플릿으로 동일한 VM을 찍어낸다.
다음 강에서는 기존 워크로드를 Zadara로 옮기는 마이그레이션을 다룬다.
댓글 0
댓글은 운영자만 작성할 수 있어요.