본문 바로가기

Cloud/AWS

AWS - VPC : Part 14 [VPC Transit Gateway-3]

Today Keys :  transit gateway, vpc, share, resource, aws, ram, tgw, 게이트웨이, nat, gateway


이번 포스팅에서는 Resource Access Manager를 이용해서 Transit Gateway를 다른 계정으로 공유한 후,

각 계정에 속한 VPC를 Transit Gateway에 Attach해서

인터넷으로 나가는 IGW가 없는 VPC에서도 IGW가 있는 다른 계정의 VPC를 통해서 인터넷 통신을 하도록 합니다.

단, 각 서브넷의 라우팅 테이블 설정이나, TGW의 라우팅 설정은 구성도로만 대체합니다.


 

아래의 구성도는 2개의 계정에 대한 VPC 3개를 Transit Gateway를 통해서 연결한 구성입니다.

계정 1은 ZIGI-Coomon-VPC와 ZIGI-SVC1-VPC, 

계정 2은 ZIGI-SVC2-VPC

로 구성 되어 있으며, SVC1과 SVC2는 모두 사설 서브넷만 가진 VPC이며,

Common VPC는 사설 서브넷과 인터넷 연결을 위한 공인 서브넷이 있으며, 공인 서브넷에 NAT Gateway가 존재합니다.

                                

 

   계정 1에서  TGW를 갖고 있고, 해당 TGW를 이용해서 계정2의 VPC인 SVC2를 Attach하기 위해서

계정 1에서 RAM으로 TGW를 계정 2로 공유합니다.

    

계정 2의 RAM을 확인해보면, 아래와 같이 Invitation이 온 것을 볼 수 있습니다.

 

  Resource shares에서 상세 내용을 보면, 아래와 같이  공유된 TGW 리소스가 Pending 상태인 것을 확인 할 수 있습니다.

 

   해당 TGW 리소스를 클릭하면, 다음과 같이 공유된 정보와 함께 해당 리소스 공유를 수락하는 버튼을 볼 수 있습니다. 

 

   수락하고나면, 다음과 같이 수락되었다는 메시지가 뜹니다. 

 

  Principals에서 보면, 공유된 리소스와 세부 리소스 갯수가 표시 됩니다.  

 

   계정 2에서 계정 1로부터 공유된 TGW를 정상적으로 수락하고 나면,

   계정 2의 SVC2 VPC를 TGW에서 Attach 합니다.  

 

   공유된 TGW를 사용하면, 최초 TGW를 생성 시에 옵션에 따라서 바로 Attach 될 수도 있지만,

아래와 같이 TGW을 원래 계정에서 수락을 해줘야 할 수도 있습니다. 

 

 

    TGW의 원래 계정인 계정 1에서 Attach 상태를 확인하면,

다음과 같이 pending 상태인 attachment를 볼 수 있습니다.

 

  pedning 상태인 계정 2의 attachment를 선택해서, 'Accept'를 하면,

TGW를 공유 받은 계정 2의 SVC2 VPC가 Attach 됩니다.

    이제 Transit Gateway를 공유하고, 공유된 계정에서 VPC를 Attach하는 과정은 모두 끝나게 됩니다.

이제 TGW에 연결된 각 VPC의 서브넷에서 TGW에 대한 라우팅 설정을 하고 나면, 

인터넷으로 나가는 경로가 없는 TGW를 공유받은 계정의 VPC에서도

다른 계정의 NAT 게이트웨이를 통해서 외부와 통신이 가능해집니다.