IT 공부/AWS
[AWS 고가용성] ELB / ASG
노란망치
2023. 4. 16. 08:13
동일 역할을 수행하는 Instance를 각 가용영역(AZ)에 분산배치하면 서비스 가용성을 높일 수 있다.
하지만 어떻게 각 Instance로 트래픽을 분배할까?
이번 장에서는 AWS에서 제공하는 고가용성 서비스에 대해 알아볼 것이다.
ELB
ELB는 Region 내 Load Balancing 서비스이다.
특징은 아래와 같다.
- 다수의 가용영역(AZ)으로 Traffic 분배
- HTTP/S, TCP/S 프로토콜 지원
- Backend Instance에 대한 Health Check
- 고가용성 기반의 L4 / L7 서비스
- 모든 가용영역 분산 및 Traffic 증가 시 자동 Scale-Out 가능

ELB를 생성할 때, AZ별 활성화가 필요하다.
활성화된 AZ에는 내부 로드밸런서 노드가 생성된다.
기본적으로 해당 AZ에 배치된 Instance는 동일 AZ에 생성된 로드밸런서 노드가 트래픽을 처리한다.
ELB는 기본적으로 DNS 주소를 통해 접속된다. (DNS 주소는 Route53에서 담당한다.)
ELB의 고려사항은 아래와 같다.
- ALB의 IP는 지속적으로 변경될 수 있다. (NLB는 고정 IP 부여 가능)
- SSL을 지원한다.
- Cross-Zone 즉 다중 가용 영역에 대해 Load Balaning이 가능하다.
- Sticky Session 지원 한다.
ASG (Auto Scaling Group)
서비스 부하 증가 시 자동으로 Scale-Out 기능 또는 서비스 부하 감소 시 자동으로 Scale-In 기능을 제공한다.
즉, ELB와 ASG의 조합으로 자동으로 Scale-in & out 되도록 운영이 가능하다.
ASG의 구성요소는 아래와 같다.
- 무엇을 Scale in & out할 것인가?
- Launch Template : AMI, Instance Type 등으로 생성되거나 삭제되는 Instance에 대한 정의
- Launch Configuration : 시작 구성
- 자동화 방식은 어떻게 할 것인가?
- Desired Capacity, Min/Max Size, Target Group 등 자동 변경과 관련된 정의가 가능하다