안녕하세요 서후아빠입니다. ^_^
이번 세션은 Amazon TGW에서 가장 보편적으로 사용하는 TGW 공유 상황에 대해서 실습을 해보겠습니다. TGW를 소유하는 계정(A계정)과 TGW를 공유받아 연결하는 계정(B계정)으로 구성되며, 모든 인터넷 트래픽은 TGW를 소유하는 계정(A계정)을 통해 이루어집니다.
구성도
TGW 1개(tgw)를 생성하여 VPC를 연결하면 TGW는 연결된 VPC(vpcA, vpcB)의 대역 정보를 모두 등록됩니다. vpcB의 priB-ec2가 인터넷으로 통신하는 순서는 아래와 같습니다. ① vpcB의 priB-ec2는 연결된 라우팅(priB-sn-1_2-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)을 참조하여 natA로 패킷 전송 ④ natA는 수신 패킷을 라우팅 테이블(pubA-sn-rt)를 참조하여 igwA로 패킷 전송하여 인터넷 통신 |
사전 작업
인프라 생성 : 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 |
1 | 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) > Create static route
구분 | CIDR | Type | Choose attachment |
내용 | 0.0.0.0/0 | Active | tgw-vpcA |
VPC > Transit gateway route tables > tgw-rt > Routes (tab) : Route state “활성“ 확인
6단계 : VPC의 라우팅 테이블 설정
구성도의 라우팅 테이블 참조하여 라우팅 설정 : 설명 SKIP
7단계 : vpcB에서 인터넷 통신 확인
priB-ec2에서 인터넷으로 ping 통신 요청 : sucess 확인
'Networking' 카테고리의 다른 글
[이론] AWS Endpoint(Interface, Gateway) 기본 개념 (0) | 2022.07.19 |
---|---|
[실습] AWS Site-to-Site VPN 구성하기 (Azure, BGP, Active-Active)-1편 (0) | 2022.07.15 |
[실습] Amazon TGW (Transit Gateway) 구성하기 (2개 이상의 AWS 계정+동일 Region, Split)-4편 (0) | 2022.07.15 |
[실습] AWS ELB (Gateway 방식 Endpoint) 구성하기 (0) | 2022.07.15 |
[실습] Amazon TGW (Transit Gateway) 구성하기 (동일 AWS 계정+다른 Region, Split)-3편 (0) | 2022.07.14 |