
AWS에서 여러 개의 VPC 간 통신을 구성할 때는 Transit Gateway(TGW)를 사용하는 것이 일반적인 접근 방식이다.Transit Gateway는 다양한 네트워크 연결을 중앙에서 관리할 수 있게 해주며, 라우팅 테이블(Route Table)을 통해 어떤 트래픽이 어떤 대상 VPC로 전달될지를 제어할 수 있다.
이번 실습에서는 일반적인 TGW 구성에서 한 걸음 더 나아가, Transit Gateway Route Table에 Blackhole 경로를 추가함으로써 특정 트래픽을 의도적으로 차단하는 시나리오를 구현해보았다.
특히 VPC19에서 VPC21으로의 트래픽만 선택적으로 차단하고, 나머지 VPC 간 통신은 그대로 유지되는 구조를 만들어보는 것이 실습의 주요 목표였다.
기존에도 TGW를 구성해 VPC 간 양방향 통신이 가능하도록 만드는 실습은 자주 경험했지만,
이번에는 "TGW를 통해 들어오는 트래픽 중 특정 목적지로 향하는 요청을 중간에서 차단할 수 있을까?" 라는 의문에서 실습이 시작되었다.
보안이나 네트워크 분리 관점에서 보면, 때로는 특정 VPC에는 외부의 접근을 원천 차단하거나, 특정 VPC에서만 다른 VPC로 나가는 트래픽을 제한할 필요가 있다.
이번 실습에서는 미리 구성된 3개의 VPC를 기반으로 TGW와 연결을 완료한 상태에서 시작했다.
각 VPC는 다음과 같은 CIDR과 이름을 가지고 있었다:
MyVPC19: 10.19.0.0/16MyVPC20: 10.20.0.0/16MyVPC21: 10.21.0.0/16각 VPC에는 MyWeb19, MyWeb20, MyWeb21이라는 이름의 EC2 인스턴스가 하나씩 배치되어 있었고, 서로 간의 통신이 정상적으로 이뤄지고 있음을 ping 테스트로 검증한 상태였다.

실습의 핵심은 VPC19에서 VPC21으로 향하는 트래픽을 TGW에서 차단하는 것이었다. 이를 위해 TGW Route Table에 10.21.0.0/16으로 가는 정적(static) 경로를 새로 추가하고,v해당 경로에 대해 Target은 지정하지 않고, Blackhole 속성을 활성화하는 방식으로 설정을 진행하였다.
TGW가 10.21.0.0/16 대역으로 가는 트래픽을 수신하더라도, 이를 어느 VPC에도 전달하지 않고 즉시 폐기(drop) 하게 된다. 실제 트래픽이 TGW까지는 도달하지만 그 이후로는 더 이상 전달되지 않기 때문에, 보안 그룹이나 방화벽과는 다르게 라우팅 계층에서 의도적인 차단이 이루어지는 방식이라고 볼 수 있다.
먼저, MyWeb19에서 MyWeb20, MyWeb21으로 ping 테스트를 수행하여 TGW를 통한 기본적인 VPC 간 통신이 가능한 상태임을 확인하였다.
Transit Gateway 콘솔에서 기존에 사용 중인 TGW Route Table을 선택한 뒤, Routes 탭으로 이동하여 Create static route 버튼을 클릭하였다. Destination에는 10.21.0.0/16을 입력하고, Target은 비워둔 채로 Blackhole 옵션에 체크하여 정적 경로를 추가하였다.

이 설정을 통해 TGW는 해당 CIDR로 향하는 모든 트래픽을 폐기하도록 동작하게 된다.

이번 실습에서는 새로운 TGW Route Table을 생성하지 않고, 기존의 Route Table에 Blackhole 경로를 추가하는 방식을 택했다. 이 경우, 해당 TGW Route Table을 공유하는 모든 VPC Attachment가 이 Blackhole 경로의 영향을 받기 때문에, 결과적으로는 VPC19뿐만 아니라 VPC20에서도 VPC21로의 통신이 차단되는 효과가 나타난다.
실제 결과를 확인하기 위해 다시 MyWeb19에서 10.21.1.101로 ping을 시도했으며, 이번에는 응답이 돌아오지 않는 것을 확인할 수 있었다.
같은 방식으로 MyWeb20에서도 MyWeb21로의 ping은 실패하였고, 반면 MyWeb19 → MyWeb20은 여전히 통신이 정상적으로 이루어짐을 확인할 수 있었다.
Blackhole은 Propagation이 아닌 정적 경로에서만 설정할 수 있다.
TGW가 자동으로 전파하는 경로는 수정이 불가능하므로, 반드시 별도로 정적 경로를 추가해야 한다.
하나의 TGW Attachment는 하나의 Route Table에만 Association될 수 있다.
실습 중 기존에 연결되어 있는 TGW Attachment를 다른 Route Table로 옮기려면,
먼저 기존 연결을 삭제하고 새롭게 연결해야 한다.
기존 TGW Route Table을 사용할 경우, 영향 범위를 명확히 인식해야 한다.
Route Table을 공유하는 다른 VPC까지 영향을 받을 수 있기 때문에,
일부 VPC에만 영향을 주고 싶다면 별도의 TGW Route Table을 생성하는 것이 바람직하다.
이번 실습을 통해 단순히 TGW를 이용해 VPC 간 연결만 설정하는 것이 아니라, 그 위에 트래픽 제어의 논리를 구축할 수 있다는 점에서 TGW Route Table의 가능성을 새롭게 인식하게 되었다.
특히 Blackhole 경로는 특정 목적지를 향한 트래픽을 가장 간단하면서도 명확하게 차단할 수 있는 수단이 되며, 보안이나 분리된 네트워크 환경에서 유용하게 활용될 수 있는 기능이다.