brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 31. 2020

198. Transit Gateway, VPC 연동

AWS  VPC 간 네트워크 구성을 간단하게 하자.

보안상 모든 AWS상의 서버접속을 사내 네트워크에서 내부통신만 하도록 설정할때 유용하다.


https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/transit-gateway-peering-scenario.html



<0> 네트워크 구성

B가 Transit Gateway 이다.

요청사항 :   A VPC에서  C VPC와 통신하기

10.200.10.x대에서 10.200.20.x대로 ping 확인하자.

A, B, C는 서로 다른 AWS 계정이다. 

B 는 TG (Transit Gateway)로 사용한다.



목 차


<1> TGW 생성


<2>   TGW에서  공유

1. 새 계정AWS ID확인

2. TGW에서 공유

Resource Access Manager > Resource shares >  Modify

새로 생성한 계정 AWS ID 입력

3.  새 계정에서 공유 수락

Resource Access Manaver > Resource shares > 공유 수락

4.  VPC > TGW   공유하기 


<3>  새 계정에서  Attachments  만들고 연결하기

1.  VPC >  Transit Gateway Attachments 만들기.  자동 요청 된다.

2. TGW  

 VPC >  Transit Gateway Attachments > 수락  (초기 자동 수락으로 만들었으면  자동 수락)


<4> 라우팅 설정하기

새로 생성한 계정에서 

Public  :  10.0.0.0/8  TGW 

Private  :  10.0.0.0/8  TGW 

DB :    10.0.0.0/8  TGW 


<5>   신규 계정 하나 더 TGW  연결해보기


<6> ping으로 확인하기





<1> TGW 생성


1. VPC >   Transit Gateway >  Create Transit Gateway

생성되는데 10분은 걸린다.

  


// 아래 옵션중 

Auto accept shared attachments enable 체크를 하자.

작업중 승인 부분에 대한 작업 하나를 줄일수 있다 ^^

해당 부분은 Transit Gateway 생성후 나중에 변경할수 없다.

Transit Gateway를  다시 생성해야 enable 할수 있다.




2. 생성 완료 



3. 확인

1) Transit Gateways : 생성 완료.

2)  Transit Gateway Attachments  확인 : 아무것도 없다. (정상)

3)  Transit Gateway RouteTables :  Associateions / Porpagations /routes 에 아무것도 없다. (정상)

연결된 네트워크가 없으니 당연히 없다.


아직은 Transit Gateway Route tables에서 연결된 게 없다.


4

Associations 탭 보기  - Associations 되어 있으면,  새로운 네트워크가 생겨도 자동 IP가 반영 된다.

Propagations 탭 보기

Routes 탭 보기 - Black hole설정으로 차단도 가능하다.





5

VPC 라우팅 테이블과 트랜짓 게이트웨이 라우팅은 별개이다.

VPC 라우팅 테이블은 제한이 100개

트랜짓 게이트웨이 라우팅 테이블은 수천개 가능



6

Resource Access Manager 가면 만들어진 리소스를  볼수 있다.

Shared by me 에서 만들어진 TGW를 볼수 있다.


7

Transit Gateway 연결을 만든다.




  


<2>   TGW에서 리소스 공유하기



1. 새로 생성한 계정AWS ID확인

우선  새로 생성간 계정 A에서  Account ID를 확인한다.

xxxxxxxxxxxx



2.  TGW에서 리소스 공유하기


최초는  RAM > 내가 공유 > 리소스 공유 한다.

트랜짓 게이트웨이를 공유 해야 한다.


or


이미  생성 되었다면 , 수정해  A 네트워크 Account ID를 입력한다.


 RAM (Resource Access Manager)  > Resource shares >  Modify



3.  Modify에서 


리소스를 Transit gateway로 선택


Principals는 A 네트워크 Account ID를 입력한다.

Allow external accounts  에서  A 네트워크 Account ID를 입력한다.



Associating 



4. 사로 생성한  A 계정에서  공유 수락하기

 Resource Access Manaver




수락후

B TG에 대한  공유 받아서 정보가나온다.





<3>  새로 생성한 계정에서  Attachments  만들고 연결하기


1. 새로 생성한 계정에서  Attachments  만들기

TGW에 자동  요청 된다.

VPC >  Transit Gateway Attachments 




3. 트랜짓 게이트웨이에서 

VPC > Transit Gateway Attachments에서 승인하기

오른 마우스 Accept 




승인되면 

Transit Gateway Route Tables  > > Associations / Propagations / Routes 정보는 자동으로  가져온다.






<4> 라우팅 설정하기


1. B    Transit Gateway에서 


1) VPC > Transit Gateway Attachements > Create  Transit Gateway Attachements 해서

B  자신에 대한 Transit Gateway를 만든다.


2) VPC > Route Tables > 10.0.0.0/8 에 대해 B네트워크 TGW로 가도록 설정한다.




2.  새로 생성한 계정에서  라우팅 잡아 통신 되게 하기

Transit Gateway와 라우팅과는 별개이다.

2개 Route Tables에 추가로 잡아준다.


Public  :  10.0.0.0/8  TGW 

Private  :  10.0.0.0/8  TGW 

DB : 설정 없음.





<5>   신규 계정 하나더 TGW  연결해보기


1) Transit Gateway에서  Account ID  추가하기

TGW에서

네트워크 Account ID   추가하기

modify


2) 신규 AWS계정에서

공유 수락하기

Resource Access Manaver


3) 신규 AWS계정에서

Transit Gateway Attachments 생성하기. 자동  요청됨.


4) TGW에서   

Transit Gateway Attachments에서 승인하기   (초기 자동 수락으로 만들었으면  자동 수락)





<6> ping으로 확인하기


1.  A  계정 서버에서    C 계정 서버로 통신되는지 확인한다.


64 bytes from 10.200.21.219: icmp_seq=145 ttl=254 time=0.915 ms

64 bytes from 10.200.21.219: icmp_seq=146 ttl=254 time=0.779 ms

64 bytes from 10.200.21.219: icmp_seq=147 ttl=254 time=0.793 ms

64 bytes from 10.200.21.219: icmp_seq=148 ttl=254 time=0.796 ms

64 bytes from 10.200.21.219: icmp_seq=149 ttl=254 time=1.12 ms

64 bytes from 10.200.21.219: icmp_seq=150 ttl=254 time=0.754 ms

64 bytes from 10.200.21.219: icmp_seq=151 ttl=254 time=0.797 ms

64 bytes from 10.200.21.219: icmp_seq=152 ttl=254 time=0.833 ms

64 bytes from 10.200.21.219: icmp_seq=153 ttl=254 time=0.805 ms

64 bytes from 10.200.21.219: icmp_seq=154 ttl=254 time=0.992 ms





별도

Transit Gateway 의  NAT Gateway 


1. 트랜짓 게이트웨이  로그인

Attachment  생성 

Private  :  10.0.0.0/8  TGW   , 0.0.0.0/0  NAT-GW


2. 트랜짓 게이트웨이 라우팅 테이블

0.0.0.0/0  VPC-A


3.  VPC-C 라우팅 테이블

0.0.0.0/0 을  TGW로 변경





참고 1

TGW   https://aws.amazon.com/ko/blogs/korea/new-use-an-aws-transit-gateway-to-simplify-your-network-architecture/



참고2

https://brunch.co.kr/@topasvga/1221



참고3

2020년 11개 추가 리전  지원

https://aws.amazon.com/ko/about-aws/whats-new/2020/04/aws-transit-gateway-now-supports-inter-region-peering-in-11-additional-regions/



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari