본문 바로가기
Network Know-how 기록하기

[AWS]Gateway Load Balancer #2(라우팅)

by 네트워크 엔지니어 환영 2023. 8. 6.
반응형

구성도 / VPC, Subnet, Endpoint, GWLB 설정

GWLB의 구성(출처 : https://aws.amazon.com/ko/blogs/korea/introducing-aws-gateway-load-balancer-easy-deployment-scalability-and-high-availability-for-partner-appliances/)
Customer VPC, Partner VPC 생성
4개 Customer Subnet, 2개 Parner Subnet 생성
Partner VPC에 생성된 Gateway LoadBalancer(192.168.0.0/24)
다른 VPC로부터 Endpoint를 통해 유입될 수 있도록 Partner VPC에 생성된 Endpoint Service(Gateway LoadBalaner 연결)
Customer VPC에 생성된 Endpoint(Customer Subnet GWLBe1(AZ A), GWLBe2(AZ B))

 

Ingress Routing(외부 인터넷 Request -  > EC2)

  • 사용자(외부 인터넷)가 EC2(Application Subnet)의 Public IP를 목적지로 삼아 유입될 때의 경로
  • VPC 내부로 진입하는 트래픽의 첫번째 관문은 Internet Gateway(IGW)
  • 이 때, IGW는 Ingress Routing Table을 생성하여 라우팅을 추가 설정해야 함
    • 사용자가 원하는 목적지에 대해 GWLB Endpoint(이하 GWLBe)를 타도록 라우팅을 강제해야 하기 때문
    • 추가로 Ingress Routing Table에는 IGW를 Edge Association에 지정해야 함
    • IGW를 Ingress Routing Table에 설정함으로써 VPC에 진입하기 위한 IGW 접근은 Ingress Routing Table을 거쳐야 하는 것을 정의함

Application Subnet(목적지)에 대해 경유지로 설정된 GWLBe 2개
Ingress Routing Table에 연결된 Edge Asscoation(IGW)

  • 라우팅 테이블에 의해 GWLBe에 진입한 패킷은 GWLB로 향하게 되고, GWLB에 의해 부하분산이 실시됨
  • 대상그룹에 있는 3rd Party Solution에 의해 처리된 패킷은 다시 GWLB를 거쳐 GWLBe가 있는 서브넷으로 되돌아오고 Local Routing에 의해 EC2가 있는 서브넷으로 향함

GWLBe AZ A, GWLB AZ B Subnet의 라우팅 테이블

 

Egress Routing(EC2 Response - > 외부 인터넷)

  • EC2(Application Subnet)에 의해 처리된 패킷이 다시 사용자(외부 인터넷)으로 돌아갈 때의 경로
  • 응답 패킷이 사용자에게 다시 돌아가기 위해서는 반드시 3rd Party Solution을 거쳐야 함
    • 대부분의 세션 장비들은 3-way handshake를 포함하여 자신을 통과한 패킷이 자신을 통과하지 않으면 문제가 있다고 판단, 세션을 생성하지 않음(설정을 통해 이를 무시할 수 있음)
  • GWLBe를 통해 들어온 외부 유입 패킷이 다시 외부 인터넷으로 나아가야 하므로 라우팅 테이블에 Default Gateway를 GWLBe 2개 서브넷로 지정함

Default Gateway에 대해 경유지를 GWLBe AZ A로 잡는 Application Subnet A
Default Gateway에 대해 경유지를 GWLBe AZ B로 잡는 Application Subnet B

  • 응답 패킷은 GWLBe에 도달하게 되고 GWLB로 이동한 후, 이미 요청 패킷 유입시 생성된 세션에 의해 요청을 처리했던 3rd Party Solution으로 진입함(추측)
  • 응답 패킷은 3rd Party Solution에서 처리되고 GWLB로 이동하며 다시 GWLBe로 진입함
  • GWLBe Subnet의 라우팅 테이블(0.0.0.0/0)에 의해 패킷은 IGW를 통해 외부 인터넷으로 나아감

GWLBe AZ A, GWLB AZ B Subnet의 라우팅 테이블

 

Public IP(Elastic IP)

  • 여타 로드밸런서(ALB, NLB)와 달리 GWLB는 Public IP를 사용하지 않음
  • 외부 유입 트래픽이라면 목적지에 해당하는 ELB, EC2 등이 Public IP를 보유하면 됨
  • GWLB는 GWLB Endpoint에 의해 목적지가 강제로 설정되기 때문에 외부에서 GWLB로 목적지를 잡아 진입하게 할 필요가 없음
  • Endpoint와 라우팅에 의해 GWLB와 3rd Party Solution으로 목적지가 강제로 설정되는만큼 3rd Party Solution은 NAT에 대해 신경 쓸 필요가 없고 할 필요도 없음

댓글