실습 구성도 및 트래픽 흐름도
AWS GWLB
AWS GWLB 백서
AWS GWLB란 AWS에서 제공하는 로드밸런서의 한 종류입니다.
GWLB를 사용하면 AWS 파트너사의 어플라이언스, 즉 방화벽이나 WAF와 같은 어플라이언스 장비를 편리하게 연동하고 관리할 수 있습니다.
기존 로드밸런서의 경우 외부에서 온 트래픽이 로드밸런서를 통과할 때 출발지 IP가 로드밸런서 IP로 변경되어 패킷을 추적하는 것이 어렵습니다.
하지만 GWLB에서는 통신 과정에서 Geneve 프로토콜을 이용해 패킷을 캡슐화하여 전달하는데,
이 과정에서 어플라이언스 장비로 패킷을 전달하게 되면 출발지 IP가 변경되지 않은 상태로 어플라이언스 장비에 도달하기 때문에 패킷을 통한 추적이 용이합니다.
실습 구성도
이번 실습의 구성도는 다음과 같습니다.
Inbound 트래픽 흐름
- WEB 서비스에 접근하고자 하는 사용자는 WEB 서버의 공인 IP를 이용해 접근
- IGW-01에 10.0.2.170(WEB 서버)를 Destination으로 하는 패킷이 도달하면 Ingress Routing Table에 의해 Endpoint로 패킷을 전달
- Endpoint는 Endpoint Service로 패킷 전송
- Endpoint Service는 GWLB로 패킷 전송
- GWLB는 타겟그룹(어플라이언스)로 패킷 전송
- 어플라이언스가 패킷 체크 후 GWLB로 전송
- GWLB가 Endpoint Service로 패킷 전송
- Endpoint Service가 Endpoint로 패킷 전송
- Endpoint가 WEB서버로 패킷 전송
인바운드 트래픽은 위와 같은 흐름을 가지며,
5~6번의 GWLB와 어플라이언스가 패킷을 주고받는 과정에서 GENEVE 프로토콜을 통해 패킷을 캡슐화해 주고받습니다.
Outbound 트래픽 흐름
- WEB 서버가 Endpoint에게 패킷 전송
- Endpoint가 Endpoint Serivce에게 패킷 전송
- Endpoint Service가 GWLB에게 패킷 전송
- GWLB는 타겟그룹으로 패킷 전송
- 어플라이언스가 패킷 체크 후 GWLB로 전송
- GWLB가 Endpoint Service로 패킷 전송
- Endpoint Service가 Endpoint로 패킷 전송
- Endpoint가 외부로 패킷 전송
아웃바운드 트래픽은 위와 같은 흐름을 가지며,
인바운드와 동일하게 GWLB와 어플라이언스가 패킷을 주고 받을때 GENEVE 프로토콜을 통한 캡슐화가 이루어집니다.