Introduction

VPC 피어링(Peering)은 두 VPC 사이의 가장 간단한 연결 방식입니다. 1:1 직접 연결로 최저 지연 시간과 무제한 대역폭을 제공하며, 트래픽 처리 비용이 없는 것이 특징입니다. 이 글에서는 VPC 피어링의 동작 원리, 핵심 제약인 비전이성, 그리고 어떤 상황에서 피어링을 선택해야 하는지 살펴봅니다.

동작 원리

VPC 피어링(Peering)은 두 VPC 사이에 1:1 직접 연결을 생성한다. 트래픽은 AWS 백본 네트워크를 통해 암호화되어 전송되며, 게이트웨이나 중간 장비를 거치지 않고 직접 라우팅된다. 따라서 지연 시간이 가장 낮고 대역폭 제한이 없다(인스턴스 성능에 종속됨).

피어링을 설정하려면 양쪽 VPC의 라우팅 테이블에 상대 VPC의 CIDR을 타겟으로 하는 경로를 추가해야 한다.

VPC-A 라우팅 테이블:
  10.1.0.0/16 → pcx-xxxxxxxx (Peering Connection)

VPC-B 라우팅 테이블:
  10.0.0.0/16 → pcx-xxxxxxxx (Peering Connection)

VPC Peering은 동일 리전뿐 아니라 다른 리전Inter-Region Peering과 다른 AWS 계정의 VPC와도 연결할 수 있다. 전제 조건은 두 VPC의 CIDR 블록이 겹치지 않아야 한다는 것이다. CIDR이 겹치면 라우팅 충돌이 발생하여 피어링 자체가 불가능하다. 이것이 CIDR 설계에서 IP 중복 방지를 강조하는 이유다.

비전이성의 한계

VPC 피어링의 핵심 제약은 비전이성non-transitivity이다. VPC-A가 VPC-B와 피어링되고, VPC-B가 VPC-C와 피어링되어 있더라도, VPC-A와 VPC-C는 VPC-B를 경유하여 통신할 수 없다. A와 C가 직접 통신하려면 별도의 피어링 연결이 필요하다.

이 특성 때문에 VPC 수가 늘어나면 필요한 피어링 연결 수가 기하급수적으로 증가한다.

필요 연결 수=N(N1)2\text{필요 연결 수} = \frac{N(N-1)}{2}

VPC가 5개이면 10개, 10개이면 45개, 50개이면 1,225개의 피어링이 필요하다. 이는 관리가 불가능한 수준이며, 이 문제를 해결하기 위해 트랜짓 게이트웨이가 등장했다.

피어링의 적합한 사용 사례

비전이성에도 불구하고, VPC 피어링은 다음 상황에서 여전히 최선의 선택이다.

첫째, VPC 수가 적고(2~5개), 앞으로도 크게 늘어나지 않는 환경. 둘째, 두 VPC 간 대량의 트래픽을 최저 지연으로 전송해야 하는 경우. 트랜짓 게이트웨이는 트래픽이 중간 허브를 거치면서 미세한 지연이 추가되지만, 피어링은 직접 연결이므로 지연이 없다. 셋째, 트랜짓 게이트웨이의 데이터 처리 비용을 회피하고 싶은 경우. Peering 자체에는 처리 비용이 없고, 일반적인 데이터 전송 비용만 부과된다.

VPC Peering과 Transit Gateway 선택 기준

기준VPC PeeringTransit Gateway
VPC 수소규모 (2~5개)대규모 (10개 이상)
토폴로지1:1 직접 연결허브 앤 스포크
전이적 라우팅불가지원
지연 시간최저 (직접 연결)미세하게 추가 (허브 경유)
데이터 처리 비용없음$0.02/GB
관리 복잡성VPC 수 증가 시 기하급수적선형적
온프레미스 연결불가VPN/DX 통합 가능
라우팅 도메인 분리불가지원

실무에서는 두 서비스를 혼합하여 사용하는 패턴이 일반적이다. 대량의 데이터를 교환하는 두 VPC 사이에는 피어링을, 나머지 VPC들은 트랜짓 게이트웨이로 연결하여 비용과 관리 효율의 균형을 맞춘다.


출처