
[network] Transit Gateway
VPC가 늘어날수록 연결선이 거미줄처럼 폭발합니다. 가운데 허브 하나로 이 복잡함을 정리하는 게 Transit Gateway예요.
One-Line Summary
Transit Gateway(TGW)는 여러 VPC와 온프레미스(VPN/Direct Connect)를 하나의 허브에 연결해, 복잡한 full-mesh 피어링 없이 서로 통신하게 해 주는 리전 단위 네트워크 허브다. VPC 피어링이 전이(transitive) 라우팅이 안 되고 연결 수가 폭발하는 문제를, "가운데 허브 하나에 각자 붙는" hub-and-spoke로 풀어 준다. 붙는 것마다 attachment이고, TGW Route Table로 어떤 attachment끼리 통신할지(격리/세그먼트)를 통제한다.
Why It Exists
VPC가 3개면 서로 통신시키려고 피어링 3개, 5개면 10개, 10개면 45개다. 게다가 피어링은 전이가 안 되므로(A-B, B-C가 있어도 A는 C와 통신 못 함) 결국 모든 쌍을 직접 이어야 하고 연결 수는 N*(N-1)/2로 폭발한다. 온프레미스 VPN·DX까지 각 VPC마다 따로 엮으면 라우팅과 운영이 감당이 안 된다.
Transit Gateway가 이 mesh 폭발을 없앤다.
[full-mesh VPC Peering] 전이 X, 연결 N*(N-1)/2 개로 폭발
VPC-A ── VPC-B
│ ╲ ╱ │
│ ╳ │ ← VPC 5개면 피어링 10개, 10개면 45개
│ ╱ ╲ │ ← A-B, B-C 있어도 A는 C와 못 감(비전이)
VPC-C ── VPC-D
╲ ╱
VPC-E
[hub-and-spoke Transit Gateway] 전이 O, 각 VPC는 허브에 1개만 연결
┌─────────────┐ ┌─────────────┐ ┌──────────┐
│ VPC-A │ │ VPC-B │ │ On-prem │
│ 10.1.0.0/16 │ │ 10.2.0.0/16 │ │ (VPN/DX) │
└──────┬──────┘ └──────┬──────┘ └────┬─────┘
│ │ │
└────────┬────────┴───────────────┘
┌───────▼────────────────────────┐
│ Transit Gateway (hub) │ ← 새 VPC는 attachment 1개만 추가
└────────────────────────────────┘
시험 감각:
"VPC가 많아지며 피어링 mesh가 감당 안 됨 / 중앙에서 라우팅 관리 / 온프레미스까지 한 번에" = Transit Gateway.
Abbreviations
| 약어 | 풀네임 | 의미 |
|---|---|---|
TGW | Transit Gateway | 여러 VPC·온프레미스를 잇는 리전 단위 네트워크 허브 |
Attachment | TGW Attachment | TGW에 붙는 연결 단위(VPC/VPN/DX GW/TGW peering) |
TGW RT | TGW Route Table | TGW 내부 라우팅·격리를 정하는 테이블 |
DX GW | Direct Connect Gateway | DX를 TGW/여러 리전 VPC에 연결하는 게이트웨이 |
VGW | Virtual Private Gateway | VPC 쪽 VPN 종단(단일 VPC용, TGW와 대비) |
Peering | VPC Peering | 두 VPC를 1:1로 잇는 방식(비전이) |
ASN | Autonomous System Number | BGP 라우팅용 번호(TGW는 Amazon-side ASN 보유) |
Attachment — TGW에 무엇을 붙이나 (빈출)
TGW에 연결되는 모든 것은 attachment 단위다. 각 attachment이 시간당 요금의 기준이 되고, TGW Route Table과의 연결(association) 대상이 된다.
| Attachment 종류 | 무엇을 붙이나 | 비고 |
|---|---|---|
| VPC attachment | 같은 리전의 VPC | AZ별 서브넷을 지정, 그 서브넷에 TGW ENI가 생김 |
| VPN attachment | Site-to-Site VPN | 온프레미스를 IPsec으로 연결 (Site-to-Site VPN) |
| Direct Connect Gateway attachment | DX를 통한 온프레미스 | 전용선 기반 저지연·고대역 (Direct Connect) |
| TGW peering attachment | 다른 리전의 TGW | 리전 간 연결(inter-region peering) |
| Connect attachment | SD-WAN 등 GRE/BGP | 서드파티 어플라이언스 연결(심화) |
┌──────────── Transit Gateway (리전 허브) ────────────┐
VPC-A attach ─┤ │
VPC-B attach ─┤ [ TGW Route Table(s) 로 attachment 간 라우팅 통제 ]│
VPN attach ─┤ │
DX GW attach ─┤ │
TGW peering ─┤── 다른 리전 TGW로 │
└────────────────────────────────────────────────────┘
시험 감각: 온프레미스를 여러 VPC와 한 번에 엮어야 하면 각 VPC에 VGW를 다는 대신 TGW에 VPN/DX GW attachment 하나를 붙이고 VPC들을 TGW에 연결한다.
전이 라우팅(Transitive Routing) — 피어링과의 결정적 차이 (빈출)
VPC 피어링의 핵심 한계는 **비전이(non-transitive)**다. TGW는 허브를 거쳐 전이 라우팅을 지원해, 허브에 붙은 attachment끼리는 (라우트 테이블이 허용하는 한) 서로 통신한다.
[Peering] A-B, B-C 두 피어링이 있어도
A ──► B ──► C : A가 C로는 못 감(비전이). A-C 피어링을 또 만들어야 함
[TGW] A, B, C 모두 TGW에 붙으면
A ──► TGW ──► C : 허브 경유로 A↔C 통신 가능(전이). 라우트만 열면 됨
| 항목 | VPC Peering | Transit Gateway |
|---|---|---|
| 전이 라우팅 | 불가 (직접 연결한 쌍만) | 가능 (허브 경유) |
| 온프레미스 경유 | 피어링 너머로 못 감 | VPN/DX attachment로 전이 연결 |
시험 감각: "A와 C가 B를 경유해 통신해야 한다 / 피어링인데 통신이 안 된다(전이 기대)" = 피어링으로는 안 됨 → TGW(또는 A-C 직접 피어링).
TGW Route Table — 세그먼트/격리의 핵심 (빈출)
TGW는 내부에 자체 라우트 테이블을 가진다. 각 attachment을 어떤 TGW RT에 **연결(association)**하고, 어떤 경로를 **전파(propagation)**받게 하느냐로 "누가 누구와 통신하는가"를 통제한다. 기본 TGW RT 하나만 쓰면 모두 서로 통신하지만, 여러 RT로 나누면 격리가 된다.
| 개념 | 내용 |
|---|---|
| Association | attachment이 어떤 TGW RT를 보고 라우팅할지 지정(하나만) |
| Propagation | attachment의 경로(CIDR)를 어떤 TGW RT에 자동 등록할지 |
| 격리(isolation) | attachment마다 다른 RT를 붙여 특정 그룹끼리만 통신하게 |
| 중앙 검사(inspection) | 모든 경로를 **검사 VPC(방화벽)**로 몰아 통과 검사 후 전달 |
[dev / prod 격리 예]
Dev-VPC ─assoc─► TGW-RT-Dev (prod 경로 전파 안 받음 → prod와 단절)
Prod-VPC ─assoc─► TGW-RT-Prod (dev 경로 전파 안 받음 → dev와 단절)
Shared-VPC─assoc─► 양쪽 RT에 전파 → dev·prod 둘 다와 통신 가능(공유 서비스)
[중앙 검사(inspection) 예]
Spoke VPC들 ──► TGW ──► 모든 경로를 Inspection VPC(방화벽)로
└─► 검사 후 목적지 VPC로 전달
시험 감각: "dev와 prod는 서로 못 보게, 공유 서비스만 양쪽과 통신 / 모든 VPC 간 트래픽을 중앙 방화벽으로 검사" = TGW Route Table 분리(세그먼테이션). 참고로 각 VPC의 서브넷 Route Table에는
tgw-xxxx대상 경로가 필요하다.
리전 간 연결(Inter-Region Peering)
| 기능 | 내용 |
|---|---|
| TGW Peering | 서로 다른 리전의 TGW를 peering attachment로 연결. 트래픽은 AWS 백본으로 암호화되어 흐름 |
| 활용 | 글로벌 다중 리전 아키텍처를 허브-투-허브로 연결(리전별 허브 + 리전 간 peering) |
[Region A] [Region B]
VPC들 ─► TGW-A ── peering(백본) ── TGW-B ◄─ VPC들
시험 감각: "여러 리전의 VPC를 서로 연결" = 각 리전 TGW + 리전 간 TGW peering.
규모·운영 감각
| 항목 | 내용 |
|---|---|
| 규모 | 수천 개 VPC까지 하나의 허브로 연결(계정 간 공유는 RAM으로) |
| 운영 | 새 VPC는 attachment 1개만 추가하면 끝(mesh처럼 모든 쌍 갱신 불필요) |
| 대역폭 | attachment당 최대 수십 Gbps 수준으로 자동 확장 |
| 계정 간 공유 | AWS **Resource Access Manager(RAM)**로 여러 계정이 하나의 TGW 공유 |
규모가 커질수록 mesh 대비 운영 단순화 이득이 커진다. "관리 오버헤드 최소화 + VPC 다수" = TGW의 전형적 정답 근거.
VPC Peering vs Transit Gateway (빈출 비교)
둘 다 VPC를 잇지만 성격이 다르다. 소수(2개)면 피어링, 다수/하이브리드/중앙 라우팅이면 TGW.
| 구분 | VPC Peering | Transit Gateway |
|---|---|---|
| 전이 라우팅 | 불가(직접 쌍만) | 가능(허브 경유) |
| 연결 수/확장성 | N*(N-1)/2로 폭발 | 각자 attachment 1개(허브형, 수천 VPC) |
| 온프레미스(VPN/DX) | 직접 통합 안 됨 | VPN/DX GW attachment로 통합 |
| 비용 모델 | 시간당 요금 없음, 데이터 전송료만(동일 AZ면 저렴) | attachment 시간당 요금 + 데이터 처리(GB) 요금 |
| 복잡도 | 소수면 단순, 많아지면 급격히 복잡 | 초기 구성은 있으나 규모에서 단순 |
| 리전 간 | 리전 간 피어링 가능(여전히 비전이) | TGW peering으로 허브 간 연결 |
| 적합한 상황 | VPC 2개 등 소수의 단순 연결 | 다수 VPC/하이브리드/중앙 세그먼테이션 |
비용 직관:
VPC 2~3개 → 피어링(시간당 요금 없음) 이 더 쌀 수 있음
VPC 다수/온프렘 혼합 → TGW(운영 단순화·전이 라우팅) 이 이득
시험 감각: "단 두 개의 VPC를 최저 비용으로 연결" = 피어링(TGW는 attachment 시간당 요금이 붙음). "VPC가 계속 늘어나는데 중앙에서 관리 / 온프레미스도 함께" = TGW. 자세한 피어링 특성은 VPC Peering 참고.
언제 무엇을 고르나 (정리)
| 상황 | 선택 |
|---|---|
| VPC 딱 2개, 단순·저비용 | VPC Peering |
| VPC가 많고 서로 통신 필요 | Transit Gateway |
| 온프레미스를 여러 VPC와 한 번에 | TGW + VPN/DX GW attachment |
| dev/prod 등 그룹 격리, 중앙 검사 | TGW + Route Table 세그먼테이션 |
| 여러 리전 VPC 연결 | 리전별 TGW + TGW peering |
Common Wrong Directions
| 오답 방향 | 왜 부족한가 |
|---|---|
| VPC 많은데 피어링 mesh로 계속 확장 | N*(N-1)/2 폭발 + 비전이 → TGW가 정답 |
| 피어링 A-B-C면 A↔C도 될 거라 기대 | 피어링은 비전이, 전이는 TGW |
| VPC 2개 연결에 무조건 TGW | attachment 시간당 요금이 붙어 소수엔 피어링이 저렴 |
| 온프레미스를 VPC마다 VGW로 각각 연결 | VPC 다수면 TGW에 VPN/DX attachment 하나로 통합 |
| TGW만 만들면 VPC 간 자동 통신 | 각 VPC 서브넷 라우트 테이블에 tgw-xxxx 경로 + TGW RT 설정 필요 |
| dev/prod 격리를 SG로만 하려 함 | 네트워크 레벨 격리는 TGW Route Table 분리가 정석 |
| CIDR이 겹치는데 TGW로 연결 | 겹치는 대역은 라우팅 모호 → CIDR 중복 금지(피어링과 동일 제약) |
| 리전 간 VPC를 단일 TGW로 | TGW는 리전 단위 → 리전별 TGW + peering |
Exam Triggers
| 문제에서 이런 표현이 나오면 | 떠올릴 것 |
|---|---|
| "connect hundreds of VPCs / mesh peering unmanageable" | Transit Gateway |
| "transitive routing between VPCs / via a hub" | Transit Gateway(피어링은 비전이) |
| "connect on-prem (VPN/DX) to many VPCs centrally" | TGW + VPN/DX Gateway attachment |
| "isolate dev from prod / route all traffic through inspection VPC" | TGW Route Table 세그먼테이션 |
| "connect VPCs across regions" | 리전별 TGW + TGW peering |
| "just two VPCs, lowest cost" | VPC Peering(TGW는 시간당 요금) |
| "share one network hub across accounts" | TGW + AWS RAM 공유 |
Memory Sentence
Transit Gateway는 리전 단위 hub-and-spoke 네트워크 허브다. 피어링의 비전이 +
N*(N-1)/2mesh 폭발을 없애고, VPC·VPN·DX GW·다른 리전 TGW를 attachment로 붙여 전이 라우팅한다. TGW Route Table을 나눠 dev/prod 격리나 중앙 검사(inspection VPC)를 만들고, 수천 VPC를 attachment 하나씩으로 확장한다. 비용은 attachment 시간당 + 데이터 처리료라, VPC 2개 정도면 시간당 요금 없는 피어링이 더 싸고, 다수/하이브리드/중앙 라우팅이면 TGW가 이긴다.
References
댓글
아직 댓글이 없습니다.