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/
감사합니다.