Network Load Balancer (v2)
- 4계층을 지원하며 TCP나 UDP에 기반한 트래픽으로 곧장 가도록 허락
- 초당 수백만 개의 요청을 해결하는 극도의 고성능이며 대기 시간이 ALB (평균 400ms) 보다 훨씬 월등 (평균 100ms)
- NLB는 AZ당 하나의 고정 IP를 가지므로 특정한 whitelisting IP를 원할 때 유용하며
NLB 자체에서 제공하는 IP를 가져오는 대신 탄력적 IP 할당을 지원하므로 두 개의 진입점을 갖길 원할 때 NLB를 사용할 수 있음
예) NLB가 앱을 위한 특정 전용 IP 트래픽을 EC2 인스턴스로 전달 - ALB, CLB와 같이 고정 호스트 명을 가지지만, 고정 IP는 가지지 않음
- 극도의 성능을 원하거나 TCP 혹은 UDP 레벨의 트래픽을 원할 때 사용
TCP (Layer 4) Based Traffic
- TCP 기반 트래픽이 목표 그룹에 도달할 수 있으며 외부에서 비롯될 수 있음
Target Groups
- EC2 인스턴스
- IP 주소 – 개인 IP여야 함 : 고정된 개인 IP 주소를 지정하고 NLB가 트래픽을 직접 보냄
- 애플리케이션 로드 밸런서 : 함께 체인으로 연결하는 것이 가능
<NLB 실습>
- 로드 밸런서 콘솔에서 TCP, TLS, UDP 등의 트래픽을 허용하는 유형의 NLB를 생성
이름을 DemoNLB로 지정하고 Internet-facing을 선택, IP 주소 유형은 IPv4로 지정하고
네트워크 매핑에서 모든 VPC를 선택하고 리스너는 80번 포트의 TCP 프로토콜로 설정해 HTTP 실행에 TCP에 의존함으로 작동
HTTP 기반의 로드 밸런서가 아닌 TCP 기반의 로드 밸런서이므로 리스너에서 HTTP 옵션을 찾아볼 수 없음
이후 NLB의 대상 그룹을 my-target-group-nlb-demo로 생성하고 3개의 인스턴스를 모두 등록한 후 리스너에서 이를 선택
NLB 프로비저닝이 끝났지만 실행이 되지 않는데 이는 NLB에서 TCP 기반의 대상 그룹을 실행하면
보안 그룹에서 고려하는 것은 EC2 인스턴스의 보안 그룹이기 때문에
NLB를 생성하거나 TCP에 대상 그룹을 생성할 때 보안 그룹을 수정해 주어야 하므로
보안 그룹에서 NLB가 실행되도록 모든 HTTP를 다시 허용하는 새로운 인바운드 규칙을 생성하여
NLB가 클라이언트에서 EC2 인스턴스로 트래픽을 보내도록 함
- 네트워크 로드 밸런서 작동 확인
- 실습을 마치려면 NLB와 대상 그룹을 삭제하고 인바운드 규칙에서 방금 생성한 규칙을 삭제하면 ALB만 있었던 상태로 돌아감
'Cloud > AWS' 카테고리의 다른 글
[SAA] ELB Sticky Sessions (0) | 2022.03.04 |
---|---|
[SAA] GWLB (0) | 2022.03.04 |
[SAA] ALB (0) | 2022.03.04 |
[SAA] CLB (0) | 2022.03.03 |
[SAA] ELB 개요 (0) | 2022.03.03 |