brunch

198. Transit Gateway, VPC 연동

by Master Seo

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으로 확인하기


10 tr.png




<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로 선택

500 tgw연결.png


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

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



Associating

10 asso.png



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로 변경


10 tr.png




참고 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/



감사합니다.

keyword
매거진의 이전글197. IAM계정으로 RDS 생성시 오류 처리법