Cross-Zone Load Balancing(교차 영역 밸런싱)
- 교차 영역 밸런싱을 사용하면, 모든 영역에 있는 EC2 인스턴스에 트래픽이 고르게 분배된다.
- ALB(Application Load Balancer)
: 교차 영역 로드 밸런싱이 기본으로 활성화되어 있다.
(대상 그룹 설정에서 비활성화할 수 있다.)
: 데이터를 다른 가용 영역으로 옮기는 데 비용이 들지 않는다.
(교차 영역 로드 밸런싱이 기본으로 활성화 되어있기 때문이다.
일반적으로 AWS에서는 데이터를 다른 가용 영역으로 옮길 때 비용을 지불해야 합니다.) - NLB(Network Load Balancer) & GLB(Gateway Load Balancer)
: 기본으로 교차 영역 로드 밸런싱이 비활성화 되어 있다.
(활성화 하려면 비용을 지불해야한다. 가용 영역 사이에서 데이터를 옮기려면 비용이 드니깐!) - CLB(Classic Load Balancer)
: 기본적으로 교차 영역 로드 밸런싱이 비활성화 되어 있다.
(그러나 활성화 시켜도 AZ간 데이터 이동에 비용이 들지 않는다.)
첫 번째 예시
- 아주 불균형한 상태를 가정해보자.
- 두 가용 영역이 있고, 한쪽에는 EC2 인스턴스 2개짜리 로드 밸런서가 있다.
그리고 다른 쪽에는 인스턴스 8개짜리 로드 밸런서가 있다.
클라이언트는 이 로드 밸런서에 접속을 한다. 그리고 교차 영역 로드 밸런싱을 쓰면,
각각의 로드 밸런서 인스턴스가 모든 가용 영역에 등록된 모든 인스턴스에 부하를 고르게 분배한다.
클라이언트가 트래픽의 절반을 첫 번째 ALB 인스턴스로 보내고, 나머지 절반을 다른 쪽으로 보내면,
ALB는 받은 트래픽을 10개의 EC2 인스턴스 모두에게 전달한다. (가용 영역에 상관없이!)
이 부분이 그래서 "교차 영역" 로드 밸런싱인 것 이다.
이미지에 나온 인스턴스의 개수가 10개니깐 각각이 트래픽의 10%를 할당받는다.
두 번째 예시
- 영역을 교차하지 않고 부하를 분산해 보자.
- 같은 상황일 때 영역을 교차하지 않고 요청을 분산하면 탄력적(Elastic) 로드 밸런서 노드의 인스턴스로 분산된다.
아까와 동일하게 클라이언트가 트래픽의 절반을 첫 번째 영역으로 보내고, 나머지 절반을 두 번째 영역으로 보냈다고 해보자.
첫 번째 ALB 인스턴스는 자기 영역에 있는 두 개의 인스턴스에게만 트래픽을 보낼 것 이다. 그래서 AZ1에 있는 두 개의 인스턴스는 각각 트래픽의 25%씩 할당 받을 것이다.
오른쪽에서도 받은 트래픽을 AZ2에 등록된 EC2 인스턴스 개수로 나눌 것이다. 교차 영역 밸런싱이 아니기 때문에
각 가용 영역 안에서 부하가 분산된다.
만약 가용 영역마다 EC2 인스턴스의 개수가 다르다면, 특정 영역에 있는 EC2 인스턴스에게 좀 더 많은 트래픽이 할당 될 것이다.
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] ELB의 연결 드레이닝 (0) | 2024.10.04 |
---|---|
[AWS] SSL(TLS)인증서 (1) | 2024.10.03 |
[AWS] ELB의 고정 세션(Sticky Seccions) (0) | 2024.10.01 |
[AWS] GWLB(AWS의 관리형 로드 밸런서 中) (0) | 2024.09.30 |
[AWS] NLB (AWS의 관리형 로드 밸런서 中) (0) | 2024.09.29 |