안녕하세요 서후아빠입니다. ^_^
이번 세션은 Amazon TGW에서 가장 보편적으로 사용하는 TGW 공유 상황에 대해서 실습을 해보겠습니다. TGW를 소유하는 계정(A계정)과 TGW를 공유받아 연결하는 계정(B계정)으로 구성되며, 인터넷 트래픽은 각 계정별로 연결됩니다.
구성도
TGW 1개(tgw)를 생성하여 VPC를 연결하면 TGW는 연결된 VPC(vpcA, vpcB)의 대역 정보를 모두 등록됩니다. vpcB의 priB-ec2가 vpcA의 priA-ec2로 통신을 하는 순서는 아래와 같습니다. ① vpcB의 priB-ec2는 연결된 라우팅(priB-sn-rt)을 참조하여 tgw-vpcB(tgw-eni : tgw-vpcB의 인터페이스)로 패킷 전송 ② tgw-vpcB로부터 패킷을 수신한 tgw는 라우팅 테이블(tgw-rt)을 참조하여 tgw-vpcA로 패킷 전송 ③ tgw로부터 패킷을 수신한 tgw-vpcA(tgw-eni : tgw-vpcA의 인터페이스)는 라우팅 테이블(tgwA-sn-1_2-rt)을 참조하여 최종 목적지인 vpcA의 priA-ec2로 패킷 전송 |
사전 작업
인프라 생성 : vpc, subnet, igw, routing table, ec2 등은 설명 생략합니다.
2022.07.02 - [Networking] - [실습] Amazon VPC 구성요소 생성하기
1단계 (A계정) : TGW 생성
VPC > Transit gateways > Create transit gateway
구분 | Name | ASN | Configure the transit gateway (체크 항목) |
내용 | tgw | Auto | Check (DNS & VPN ECMP supportInfo, Default route table association & propagationInfo) Check (Auto accept shared attachments) |
Default route table association & propagationInfo 활성화 시 VPC(vpcA, vpcB)가 연결되면 tgw-rt에 자동으로 라우팅 테이블이 등록됩니다. |
2단계 (A계정) : TGW에 VPC 연결
VPC > Transit gateway route tables : 기본 생성 라우팅 테이블 이름 변경 “tgw-rt”
VPC > Transit gateway attachments > Create transit gateway attachment
구분 | Name | Transit gateway ID | Attachment type | VPC attachment |
내용 | tgw-vpcA | tgw | VPC | DNS support : check VPD ID : vpcA Subnet IDs : tgwA-sn-1, tgwA-sn-2 |
지정되는 Subnet IDs에 tgw-eni (인터페이스)가 생성됩니다. |
VPC > Transit gateway route tables > tgw-rt > Routes (tab) : Route state “활성“ 확인
3단계 (A계정) : TGW를 다른 계정 (B계정) 으로 공유
Resource Access Manager > Shared by me > Resource shares > Create resource share
구분 | Specify resource share details | Associate permissions | Grant access to principals |
내용 | Resource share name : tgw-share Select resource type, ID : Transit Gateways, tgw 선택 |
Permission for ec2:TransitGateway 확인만 | Principals : Allow sharing with anyone AWS account : B계정 번호 입력 > Add |
4단계 (B계정) : 공유 수락, TGW에 VPC 연결
Resource Access Manager > Shared with me > tgw-share 선택 > Accept resource share > Status “Associated” 확인
VPC > Transit gateway attachments > Create transit gateway attachment
구분 | Name | Transit gateway ID | Attachment type | VPC attachment |
내용 | tgw-vpcB | tgw-share | VPC | DNS support : check VPD ID : vpcB Subnet IDs : tgwB-sn-1, tgwB-sn-2 |
지정되는 Subnet IDs에 tgw-eni (인터페이스)가 생성됩니다. B계정에서는 권한이 없기 때문에 Transit gateway route tables를 볼 수 없습니다. 즉 TGW에 대한 Static route table 설정은 A계정에서만 가능하다는 의미입니다. |
5단계 (A계정) : TGW의 라우팅 테이블 확인
VPC > Transit gateway route tables > tgw-rt > Routes (tab) : Route state “활성“ 확인
6단계 : VPC의 라우팅 테이블 설정
구성도의 라우팅 테이블 참조하여 라우팅 설정 : 설명 SKIP
7단계 : VPC간 통신 확인
priB-ec2에서 priA-ec2 사설 IP로 ping 통신 요청 : sucess 확인