Cloud Infra Architecture (AWS)/AWS Build

AWS GWLB 인프라 구축하기

seongduck 2025. 1. 21. 13:04

GWLB란?

- 쉽게 말해, 별도의 VPC에 보안, WAF를 구성해두고 들어오는 모든 트레픽을 Endpoint를 통해 VPC에 들렸다가 나오게할 수 있는 로드벨런서


GWLB를 구성하고 실습해보자

 

1) TGW 생성

1) VPC -> Transit Gateway -> 생성

 

2) TGW Attachment 생성 후 부착 및 TGW Routing Table 생성

1) VPC Transit Gateway 연결 -> 생성
- 이름 : 입력
- TGW ID : 위에서 만든 TGW
- 연결 유형 : VPC

2) VPC 연결
- VPC ID : VPC01
- 서브넷 ID : TGW Sunbet A / TGW Subnet B

위와 같은 방식으로 VPC01, VPC02, N2SVPC 3개를 만들어 부착한다.

 

2-1) TGW Routing Table 생성

1) TGW Routing Table 선택 -> 생성
- name : gwrtb-outbound
- name : tgwrtb-inbound
2) TGW는 방금 만든걸로 부착

 

TGW Routing Table 값 입력 (Default 연결은 모두 지우고 시작)

3) Inbound Routing table

- TGW로 들어오는 트래픽이므로 N2SVPC의 TGW Attachment를 연결
- 경로는 VPC01, VPC02로 지정

1) Inbound Routing Table 선택
2) 연결 -> 연결 생성
- TGW Attachment : N2SVPC 선택

3) 경로 -> 정적 경로 생성
- 10.1.0.0/16 : VPC01의 TGW Attachemnt
- 10.2.0.0/16 : VPC02의 TGW Attachment

 

4) Outbound Routing table

- TGW로 나가는 트래픽이므로 VPC01, VPC02의 TGW Attachment를 연결
- 경로는 N2SVPC 로 지정

1) Outbound Routing Table 선택
2) 연결 -> 연결 생성
- TGW Attachment : VPC01 선택
- TGW Attachment : VPC02 선택

3) 경로 -> 정적 경로 생성
- 0.0.0.0/0 : N2SVPC의 TGW Attachemnt

위와 같은 과정을 끝내면 아래와 같은 아키텍처가 완성된다.

 

5) VPC01, VPC02의 Private Subnet에 tgw 라우팅 추가

az#a, az#c 모두 진행한다.

1) VPC01, VPC02 Private Subnet Routing 편집
- 0.0.0.0/0 : TGW 만든거 선택

 

6) N2SVPC의 Private Subnet에 VPC01, VPC02 대상 TGW 추가

1) N2SVPC Private Subent az#a, az#c 편집
- 10.1.0.0/16 : tgw 위에서 만든거 선택
- 10.2.0.0/16 : tgw 위에서 만든거 선택

 

7) N2SVPC의 Public Subnet에 VPC01, VPC02 대상 TGW 추가

1) N2SVPC Public Subent az#a, az#c 편집
- 10.1.0.0/16 : tgw 위에서 만든거 선택
- 10.2.0.0/16 : tgw 위에서 만든거 선택
- 0.0.0.0/0 : GWLB 엔드포인트 선택

 

8) N2SVPC의 GWLB Subent에 0.0.0.0/0 IGW 추가 하기

이런 아키텍처가 완성된다. 

 

9) GWLB 구성

1) EC2 -> 로드벨런서 -> GWLB 생성
- 이름 : 입력
- 네트워크 매핑 VPC : 보안 VPC
- 매핑 : Subnet Public 2개 선택
IP 리스너 라우팅 : 보안툴이 깔려있는 (WAF, FW 등) EC2 선택하여 만든 TG 선택
로드밸런서 생성

6081포트로 프로토콜을 선택하는데 GWLB는 GENEVE 통신이 가능해야 사용할 수 있음.

 

10) VPC Endpoint Service 확인

N2SVPC Private link로 연결하기 위해, GWLB VPC에 Endpoint를 구성해야 한다.

VPC Endpoint 서비스는 GWLB VPC에 생성하고, Endpoint는 Gatway Type으로 만들고 위치는 N2SVPC의 GWLB Subnet에 생성한다.

1) VPC -> 엔드포인트 서비스 선택 -> 생성
- 로드 밸런서 유형 : 게이트웨이
- GWLB 선택
- 리전 선택
2) 생성

 

10-1) VPC Endpoint 생성

1) 방금 만든 Endpoint Service 선택
2) 엔드포인트 연결 선택 -> VPC 엔드포인트 연결 생성

- 유형 : NLB 및 GWLB를 사용하는 엔드포인트 서비스
- 서비스 이름 : 위에서 만든 Endpoint 서비스 이름 복사 (com.amazon~~시작하는거)
- 리전간 엔드포인트 활성화 선택 후 서비스 확인
- VPC : N2SVPC 선택
- 서브넷 : GWLB Subent az_a, az_c 하나씩 클릭해서 2번해서 2개 생성

엔드포인트 유형이 GatewayLoadBalncer가 2개가 생긴다.

 

10-2) VPC Endpoint 생성한 것을 VPC Endpoint Service에 추가

1) 엔드포인트 서비스 선택
2) 엔드포인트 연결 -> 방금 만든 2개 선택해서 연결

그리고 Endpoint Service가서 수락을 눌러준다.

 

11) N2SVPC의 Ingress Route Table에 VPC Endpoint (GWLB EndPoint 추가)

위에서 만든 VPC 엔드포인트를 Public Subnet A, B와 Ingress Route Table에 추가해주자.
- 엣지 연결의 경우 VPC에 들어올 때 최 우선적으로 보는 IGW에 연결하는 라우팅 테이블이다. (어느서브넷에도 속해있지 않은)

1) N2SVPC-IGW-Ingress-RT 라우팅 편집
- 10.11.1.0/24 - GWLB 엔드포인트 1 (GWLB Subent A)
- 10.11.2.0/24 - GWLB 엔드포인트 2 (GWLB Subent B)
- 10.11.11.0/24 - GWLB 엔드포인트 1 (Public Subent A)
- 10.11.12.0/24 - GWLB 엔드포인트 2 (Public Subent B)

2) 엣지 연결
- 자기 자신 IGW VPC

이제 이와 같은 아키텍처가 만들어진다.