블록체인
블록체인

Transit Gateway(TGW, 전송 게이트웨이)

목차

개요

VPC나 온프레미스 등의 네트워크를 단일 지점으로 연결할 수 있는 라우팅 서비스
다른 네트워크에 연결할 필요 없이 AWS 전송 게이트웨이만 연결하면 되므로 관리를 간소화하고 운영 비용을 줄여줌
복잡한 AWS 네트워크 아키텍처를 간소화하여 관리 및 운용 효율이 보장되며, 향상된 보안과 멀티캐스트를 활용하여 유용한 통신 가능
연결의 접점이 되는 중앙 집중형 단일 게이트웨이로 허브&스포크 환경에서 허브 역할

Transit Gateway 환경 비교

Transit Gateway 미사용시

VPN, VPC 연결 수가 많아지면 게이트웨이 연결이 매우 복잡
VPC 는 1:1 연결만 지원하므로 많은 VPC 끼리 연결되면 연결이 매우 복잡해짐
많은 연결을 개별적으로 관리해야함

Transit Gateway 사용 시

HUB 역할을 하는 Transit Gateway 를 구성
모든 게이트웨이는 Transit Gateway 에 연결
구성이 단순해지고 단일 위치에서 관리 및 모니터링 가능

Transit Gateway 주요 기능

라우팅

동적 라우팅, 정적 라우팅 지원

엣지 연결

VPN을 사용하여 AWS 전송 게이트웨이와 온프레미스 장비 간 VPN 연결 생성 가능

VPC 기능 상호 운용성

VPC에 있는 인스턴스가 전송 게이트웨이에 연결된 다른 AWS VPC에 있는 NAT 게이트웨이, NLB, AWS 엔드포인트 서비스 및 EFS 등에 액세스 가능

모니터링

CloudWatch, VPC 플로우 로그와 같은 서비스에서 사용하는 통계와 로그 제공

리전 간 VPC 피어링

AWS 글로벌 네트워크를 사용하여 AWS 리전을 통해 트래픽을 라우팅할 수 있도록 지원

멀티캐스트

고객이 클라우드에서 멀티캐스트 애플리케이션을 쉽게 구축하고 모니터링, 관리 및 확장할 수 있도록 지원

보안

IAM과 통합되므로 전송 게이트웨이에 대한 액세스를 안전하게 관리 가능

지표

성능과 송수신된 바이트, 패킷, 폐기된 패킷을 비롯한 트래픽 지표를 통해 글로벌 네트워크를 모니터링

Transit Gateway 관련 용어

Transit Gateway 연결

전송 게이트웨이에 연결되는 방식으로 3가지 방식 지원

1. VPC 연결

전송 게이트웨이와 동일 리전의 VPC를 직접적으로 연결

2. VPN 연결

전송 게이트웨이와 Site-to-Stie VPN 연결

3. Transit Gateway 피어링

전송 게이트웨이 다른 리전의 전송 게이트웨이를 연결

Transit Gateway 라우팅 테이블

전송 게이트웨이에서 관리하는 라우팅 테이블

Transit Gateway 공유

전송 게이트웨이를 공유하여 다른 AWS 계정에 전달하여 연결 가능

Transit Gateway 멀티캐스트

전송 게이트웨이를 통해 멀티캐스트 트래픽 전달

Transit Gateway 네트워크 매니저

논리적 다이어그램 또는 지리적 맵과 중앙 대시 보드에서 글로벌 네트워크를 시각화

[실습] Transit Gateway를 통한 연결

1. CloudFormation 적용

VPC0인스턴스는 VPC1, VPC2의 외부인터넷 웹 접속을 위한 웹 프록시 서버

2. 기본 환경 검증

1.
VPC0-Instance1 VPC1-Instance1간 통신 과정
#VPC1과 VPC2의 인스턴스들과 ping 통신 확인 [ec2-user@VPC0Instance1 ~]$ ./pingall.sh Sat Jan 22 04:36:55 UTC 2022 host 10.0.1.10 is up host 10.10.1.10 is up host 10.10.2.10 is up host 10.20.1.10 is up host 10.20.2.10 is up
Bash
복사
1) 서브넷라우팅 테이블 확인하여 전송 게이트웨이로 전달
2) 전송게이트웨이의 기본 라우팅 테이블을 확인하여 VPC1로 전달
2. VPC1-Instance1의 외부 인터넷 통신 과정
[root@VPC1Instance1 ~]# curl http://checkip.amazonaws.com/ --connect-timeout 3 10.10.1.10 # VPC0-Instance1 프라이빗 IP [root@VPC1Instance1 ~]# curl https://checkip.amazonaws.com/ --connect-timeout 3 3.36.67.77 # VPC0-Instance1 퍼블릭 IP
Bash
복사
3. VPC 엔드포인트 환경 검증
일반적으로 VPC별로 VPC엔드포인트를 생성해야 하지만 전송 게이트웨이로 내부 간 통신이 되는 환경이므로 VPC0(공용자원배치)에만 VPC 엔드포인트를 생성
[root@VPC1Instance1 ~]# dig +short vpce-0a1accaefa2d5ea0b-lme0u6d4.cloudformation.ap-northeast-2.vpce.amazonaws.com 10.0.1.103 10.0.2.234
Bash
복사

3. 전송 게이트웨이 라우팅 테이블을 이용한 트래픽 제어

기본 라우팅 테이블 외 별도의 테이블을 설정하여 트래픽 제어
1. 기본 라우팅 테이블에서 VPC1과 VPC2의 Association을 삭제
2. Blue 라우팅 테이블 설정
1) VPC1을 Association 설정
2) VPC0, VPC1을 선택하여 Blue 라우팅 테이블에 Propagation(전파)
3) Blue 라우팅 테이블 확인
10.0.0.0/16
VPC0
10.10.0.0/16
VPC1
3. Red 라우팅 테이블 설정
1) VPC2을 Association 설정
2) VPC0, VPC2을 선택하여 Blue 라우팅 테이블에 Propagation(전파)
3) Red 라우팅 테이블 확인
10.0.0.0/16
VPC0
10.20.0.0/16
VPC2
4.
동작 확인
1) 기본 라우팅 테이블을 사용하는 VPC0-Instance1 확인
VPC0, VPC1, VPC2 모든 경로 정보가 있으므로 VPC1과 VPC2대역과 통신 가능
2) Blue 라우팅 테이블을 사용하는 VPC1-Instance1 확인
VPC0, VPC1 경로 정보가 있으므로 VPC0과 VPC1 대역과 통신이 가능하지만, VPC2대역과는 통신 불가능
3) Red 라우팅 테이블을 사용하는 VPC2-Instance1 확인
VPC0, VPC2 경로 정보가 있으므로 VPC0과 VPC2대역과 통신이 가능하지만, VPC1대역과는 통신 불가능

4. 블랙홀 라우팅을 이용한 통신 차단

VPC0-Instance1은 VPC1과 VPC2의 모든 대역으로 통신이 가능한 상태인데, 블랙홀 라우팅을 통해 VPC2 대역 중 10.20.2.0/24대역만 차단 설정 해보기
1) 블랙홀 라우팅 설정
VPC0이 속한 기본 라우팅 테이블에 블랙홀 라우팅 설정
2) 블랙홀 라우팅 동작 확인
# VPC0-Instance1에서 Ping 테스트 [ec2-user@VPC0Instance1 ~]$ ping 10.20.1.10 PING 10.20.1.10 (10.20.1.10) 56(84) bytes of data. 64 bytes from 10.20.1.10: icmp_seq=1 ttl=254 time=1.27 ms 64 bytes from 10.20.1.10: icmp_seq=2 ttl=254 time=0.823 ms ^C --- 10.20.1.10 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.823/1.051/1.279/0.228 ms [ec2-user@VPC0Instance1 ~]$ ping 10.20.2.10 PING 10.20.2.10 (10.20.2.10) 56(84) bytes of data. ^C --- 10.20.2.10 ping statistics --- 9 packets transmitted, 0 received, 100% packet loss, time 8176ms
Bash
복사
[참고]
전송 게이트웨이의 블랙홀 라우팅에 의해 차단된 경우 CloudWatch의 ‘packetDropCountBlackhole’ 지표에서 확인 가능