[AWS VPC] Transit-gateway로 네트워크를 연결하면 ?
사용자는 VPC(Virtual Private Cloud)를 사용하면 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 구축할 수 있습니다.
격리된 VPC 간 연결 또는 VPC와 온프레미스 네트워크 간 연결이 필요한 경우 Transit gateway로 연결합니다.(다른 방법도 있습니다.)
이러한 작업을 위해 Transit gateway에 대한 이해를 높이고자 Transit gateway와 VPC를 연결할 때 어떤 작업이 진행되고 Traffic 흐름은 어떻게 되는지 정리해봤습니다.
* 아래 문단부터 Transit gateway는 tgw으로 언급하겠습니다.
TGW와 VPC를 연결하면?
TGW와 VPC를 연결하려면 TGW Attachment를 생성해야합니다. TGW Attachment를 생성할 때 연결하려는 VPC와 Subnet을 선택 후 생성 버튼을 누르게 되면 선택한 subnet에 아래와 같이 ENI(Elastic Network Interface)가 생성이 됩니다.
위와 같이 ENI가 생성이 되고 TGW 라우팅 테이블에도 몇 가지 설정이 추가됩니다.
A. TGW 라우팅 테이블 정보 업데이트
1. TGW Attachment ID와 VPC ID 정보 Update
Associations에는 VPC와 연결하기 위해 생성한 TGW attachment ID와 VPC ID의 정보가 추가 되었습니다.
2. Propagations(전파) 정보 Update
Propagations에는 TGW의 Routing Table이 어떤 Attachment들로 부터 Routes 정보를 자동으로 받고있는가에 대한 정보가 추가되었습니다. 즉 정보가 의미 하는 것은 Resource ID(VPC)의 전체 CIDR 블록이 TGW와라우팅되고 있다는 것입니다.(3번 항목)
3. Routes(경로) 정보 업데이트
2. Propagations(전파) 정보 설명에서 언급한 것과 같이 전파되고있는 VPC의 CIDR값을 확인 할 수 있습니다. Routes의 type을 보면 Propagated으로 설정되어있는 것을 볼 수 있는데, 이는 Attachment를 생성할 때 자동으로 추가된 경로를 의미합니다. 또한
사용자가직접 경로를 추가하게되면 Route type은 static으로 표시가 됩니다.
B. 설정 후 Traffic은 어떻게 흐를까?
답 : "TGW는 VPC CIDR을 알고 있다"
(1) TGW는 VPC Attachment로 부터 VPC 전체 CIDR 블록(예) 172.31.0.0/16)을 전파받습니다.
(2) TGW는 트래픽의 목적지가 172.31.1.0/24 서브넷을 가지고 있더라도 일단 Attachment를 Next Hop으로 인식합니다.
(3) TGW는 Attachment를 통해 트래픽을 VPC으로 송신합니다. 이때, Attachment를 생성할 때 지정했던 Subnet에 만들어진
TGW ENI 중 하나를 통해 VPC 내부로 Traffic이 진입 하게 됩니다.
(4) 트래픽이 TGW ENI를 통해 VPC 내부로 들어오게 되면, 이제 VPC 라우팅 테이블을 보고 목적지 경로를 찾아갑니다.
예를 들어 트래픽의 목적지가 172.31.2.0/24 대역이고, TGW Attachment eni가 172.31.1.0/24인 상태이지만 172.31.2.0/24
으로 가는 경로가 Local으로 설정되어있으므로 TGW Attachment ENI에서 172.31.2.0/24 서브넷으로 트래픽이 전달됩니다.
나의 어리석은 꼬꼬무
목적지의 Subnet 대역에 Attachment ENI가 없어도 Traffic은 인입될까?
TGW는 특정 VPC로 트래픽을 송신할 때, 그 VPC의 모든 Subnet에 ENI가 있어야만 해당 서브넷으로 트래픽을 보낼 수 있는 것은 아닙니다. TGW는 VPC CIDR을 하나의 목적지로 인식하고, 해당 VPC와 연결된 TGW Attachment를 Next Hop으로 인식합니다.
서브넷들에 생성된 ENI 중 하나를 통해 VPC 내부로 트래픽이 인입되게 됩니다.
부산에서 서울의 강북 지역(목적지 Subnet)으로 들어가려고 할때 고속도로(TGW)를 타고 서울 톨게이트를 지납니다. 이때 고속도로(TGW)는 당신을 강남 나들목(TGW Attachment ENI)로 안내합니다. 강남 나들목(TGW Attachment ENI)으로 빠져나와 서울 시내 도로(VPC 내부 Routing Table)을 통해 강북 지역(목적지 Subnet)으로 갈 수 있습니다.
목적지의 Subnet의 Attachment ENI으로 우선적으로 Traffic이 인입될까?
일단 우선적인 개념은 TGW에는 없습니다. TGW는 특정 VPC로 트래픽을 보낼 때, 고가용성을 고려하여 여러 AZ의 ENI 중 하나를 선택하여 Traffic을 전달합니다. 먼저 선택된 ENI에 문제가 발생하였을 때 TGW는 자동으로 다른 ENI으로 전환하여 가용성을 보장합니다.
다음 포스팅
1. TGW의 경로 평가 순서의 이해
2. Transit gateway 시나리오 실습