AWS/Transit Gateway (TGW)

[ Transit Gateway #1 ] Transit Gateway란?

BigCo 2023. 9. 12. 22:54

 

 

 

TGW(Transit Gateway)란 

Transit Gateway는 여러 VPC와 온프레미스 네트워크를 중앙 집중식으로 연결하고 관리할 수 있게 해주는 서비스입니다. Transit Gateway를 사용하면 수십, 수백 개의 VPC와 온프레미스 환경을 쉽게 연결하고, VPN Connection을 이용한 On-premise와의 연결 또한 중앙에서 관리할 수 있어 네트워크 트래픽을 더 효율적으로 라우팅 할 수 있습니다. 

 

 

Transit Gateway의 사용 이유

  • 중앙 집중식 관리 : 여러 VPC와 온프레미스 네트워크를 하나의 지점에서 관리할 수 있어 네트워크를 단순화하고 쉽게 관리할 수 있습니다.

  • 확장성 : Transit Gateway는 수백 개, 수천 개의 VPC 연결을 지원하므로, 큰 규모의 네트워크 환경에서도 유용합니다.

  • 보안 : 보안 그룹과 네트워크 ACL (Access Control List) 등을 사용하여 트래픽을 세밀하게 제어할 수 있습니다.

  • VPN 및 Direct Connect 지원 : 온프레미스 네트워크와의 연결도 지원합니다. 이를 통해 기존 데이터 센터와 AWS 클라우드 간에 안전하게 통신할 수 있습니다.

가장 큰 강점은 수많은 VPC, VPN, On-premise를 쉽고 자유롭게 연결하고, 그 모든 걸 TGW에서 관리하므로 네트워크의 단순화로 인해 쉽게 관리할 수 있는 장점이 있는 것 같습니다.

 

VPC Peering   VS  Transit Gateway  

VPC Peering과 AWS Transit Gateway는 둘 다 AWS VPC 간의 통신을 가능하게 하는 서비스입니다. 

VPC Peering은  VPC 간 일대일 연결을 설정해야 하므로, VPC가 많아질수록 연결과 관리가 복잡해집니다.
그림과 같이 4개의 VPC만해도 피어링 개수는 n(n-1)/2 개로 6개의 피어링 설정을 해야 됩니다.
하지만 vpc가 10개 이상일 때는...?? 수많은 피어링설정을 해야 되며 장애가 발생해도 너무 많은 피어링 설정들 때문에 어디에서 장애가 났는지 발견하기 어려울 수 있습니다.

           Transit Gateway                                                                                                        VPC Peering  

Transit Gateway를 사용하면 이러한 복잡성을 크게 줄일 수 있습니다. TGW를 사용하면 중앙 허브와 VPN을 통해 VPC와 온프레미스 네트워크를 연결할 수 있습니다. 그림처럼 관리 해야되는 VPC와 End point들이 늘어나도 TGW에 연결만 시켜주면 종단 간 통신이 가능해지고 관리 또한 편리해집니다.픽을 전달할 수 있습니다.

 

 

Transit Gateway 생성

하나의 리전에 VPC 3대를 생성한 후 각 vpc에서 ping 통신을 해보겠습니다.

Transit Gateway 아키텍처

 

 

Transit gateway 생성

 

Transit Gateway 생성 완료

[Amazon ASN]
Direct connect Gateway, VPN과 BGP연동 시 필요한 Amazon ASN (Private ASN)

[VPN ECMP 지원]
단일 대상에 대한 다수의 VPN연결이 있는 경우, ECMP를 사용할지 선택

[기본 라우팅 테이블 연결] Association
해당 옵션을 활성화하면 Transit Gateway을 생성할 때, 기본 라우팅 테이블이 자동으로 생성됩니다.
또한 TGW에 Attach되는 VPC, VPN을 Default Route Table에 포함시킵니다.

[기본 라우팅 테이블 전파] propagation
해당 옵션을 활성화하면, 새로운 VPC, VPN 연결 등이 Transit Gateway에 추가될 때, 해당 라우팅 정보 (CIDR 블록)가 자동으로 Transit Gateway의 라우팅 테이블에 추가됩니다. 즉, 수동으로 라우팅테이블을 추가할 필요가 없도록 해 주는 편리한 기능입니다. 

Association(연결), propagation(전파) 둘 다 같은 개념의 옵션입니다.

 

생성 완료

 

Attachment 생성

TGW ATT(Attachment)는 TGW와 연결하려는 VPC, VPN 등을 연결하는 설정입니다.

 

TGW ATT를 생성해서 VPC와 TGW를 연결합니다.

[이름태그] : 생성할 TGW 이름

[Transit gateway ID] : 생성한 TGW 선택

[연결 유형] 
VPC - Transit Gateway를 VPC에 연결
VPN - Transit Gateway를 온프레미스 데이터 센터와 같은 외부 네트워크와 연결
Peering connection - 다른 리전이나 계정의 리소스와 통신할 수 있게 연결
Connect - 다른 소프트웨어가 실행되는 네트워크 장비나 서비스(SD-WAN)를 연결

[ VPC ID ] : TGW에 연결하려는 VPC를 선택

[서브넷 ID] : 서브넷 ID는 가용영역 a, c zone으로 나뉘는데 아무것이나 선택해도 무관합니다
왜냐하면 크게 가용영역을 선택하기 위해서 해당 옵션이 존재한다 그래서 가용영역 안에 서브넷은 아무거나 선택해도 무관하다.

 

TGW ATT에 같은 방법으로 VPC1,2,3을 연결시켜 줬습니다.

 

TGW 라우팅테이블로 이동합니다. 해당 라우팅테이블은 TGW를 생성할 때 [기본 라우팅 테이블 연결] 옵션을 활성화해서 자동으로 생성된 TGW 라우팅테이블입니다.

TGW 라우팅테이블

 

TGW 라우팅테이블에 중요한 3가지가 있습니다.

Association(연결) : TGW의 라우팅테이블과 Attachment를 연결합니다.

 

Propagation(전파) : 전파 설정을 하면 VPC의 CIDR는 API를 통해, On-premise는 BGP 및 Static Routing을 통해 각 라우팅테이블을 공유합니다. 그래서 라우팅테이블에 변화가 생길 시 전파하여 테이블을 자동으로 업데이트합니다. 

 

Routes(경로) : Routes에 포함된  CIDR은 서로 통신이 된다. (블랙홀 설정을 안 한 상태에서만 유효함)
예를 들어 Association에 vpc3(10.0.30.0/24)가 포함되어 있어도 Routes에 해당 경로가 포함되지 않으면 통신이 안됩니다.

 

TGW설정은 완료됐습니다. 이제 VPC의 라우팅테이블에 TGW경로를 추가해 주면 됩니다.

 

VPC 1
vpc 2
vpc 3

VPC 1 (Public, private subnet) 에는 VPC2, VPC3 대역을 추가
VPC 2 (Public, private subnet) 에는 VPC1, VPC3 대역을 추가
VPC 3 (Public, private subnet) 에는 VPC1, VPC2 대역을 추가을 추가해 줍니다.

 

 

ping 통신 테스트

테스트 완료!

 

오늘은 TGW에 대한 개념을 알아봤습니다. 다음 게시글에 Transit Gateway 2탄을  더 자세하게 포스팅해놨습니다.
https://bigco-growth-diary.tistory.com/54

 

[ Transit Gateway #2] TGW Route Table 활용

안녕하세요 :) 오늘은 TGW의 Route table을 분리해서 각 VPC A, B와 VPC C, D가 통신되도록 설정해 보겠습니다. 실습 전에 전에 포스팅한 게시물을 참고하시면 좋을 거 같습니다. https://bigco-growth-diary.tistor

bigco-growth-diary.tistory.com

감사합니다.