안녕하세요 서후아빠입니다. ^_^
이번 세션은 대기업에서 주로 구성하는 방식에 대해서 실습을 해보겠습니다.
동일 Region에서 Hub역할을 하는 TGW를 구성하고, 여기에 서비스에 해당하는 VPC와 On-premise를 연결하는 구성입니다. 이렇게 구성하게 되면 새로운 서비스가 추가되더라도 TGW에만 연결하면 기존 연결된 리소스와 통신이 가능하다는 장점이 있습니다.
구성도
Hub 역할을 할 vpcA에 TGW 1개(tgw)를 생성하고, AWS에 위치하는 서비스(vpcB)는 tgw 공유를 통해 연결을 하고, On-premise(vpcC)는 Site-to-Site VPN 연결을 합니다. vpcB의 priB-ec2가 On-premise(vpcC)와 통신하는 순서는 아래와 같습니다. ① vpcB의 priB-ec2는 연결된 라우팅(priB-sn-rt)을 참조하여 tgw-vpcB(tgw-eni : tgw-vpcB의 인터페이스)로 패킷 전송 ② tgw-vpcB로부터 패킷을 수신한 tgw는 라우팅 테이블(tgw-rt)을 참조하여 tgw-Onpremise로 패킷 전송하여 cgwA를 통해 VPN 통신 시도 ③ cgwA로부터 패킷을 수신한 On-premise VPN(pubB-ec2)는 패킷을 복호화하고, 라우팅 테이블(pubC-sn-rt)을 참조하여 priC-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( vpcB)가 연결되면 tgw-rt에 자동으로 라우팅 테이블이 등록됩니다. |
2단계 (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 |
3단계 (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계정에서만 가능하다는 의미입니다. |
4단계 (A계정) : TGW에 라우팅 테이블 확인
VPC > Transit gateway route tables > tgw-rt > Routes (tab) : Route state “Active“ 확인
5단계 (A계정) : CGW 생성, TGW에 Static 방식으로 VPN 연결
On-premise 역할을 할 vpcC의 리소스를 별도로 구성해 놓은 후, 아래 내용 진행
VPC > Customer gateways > Create customer gateway
Name tag | BGP ASN | IP Address | ||
cgwA | 65000 | eipB (pubB-ec2의 public IP) |
ASN값은 BGP(동적)으로 구성할 때만 사용되며, Openswan을 BGP(동적)으로 구성하지 않기 때문에 기본값(65000)으로 진행하시면 됩니다. |
VPC > Transit gateway attachments > Create transit gateway attachment
Detail | VPN attachment | Tunnel | ||
Name : tgw-Onpremise Transit gateway ID : tgw Attachment type : VPN |
Customer Gateway : Existing Customer Gateway ID : cgwA Routing options : Static Enable Acceleration : Disabled |
설정하지 않음 |
Acceleration는 Tunnel 성능 향상이 필요할 때, Enable하시면 됩니다. |
VPC > Site-to-Site VPN Connections > 자동으로 생성된 VPN 선택 > Download configuration > 다운받은 파일을 On-premise VPN장비에 전달하여 설정 진행
VPN 장비가 없는 경우 2022.07.19 - [Networking] - AWS와 Openswan 사이 Site-to-Site VPN 구성하기 참조하여 Openswan으로 VPN 연결을 구성하시기 바랍니다. |
VPC > Site-to-Site VPN Connections > 자동으로 생성된 VPN 선택 > Tunnel details (tab) > On-premise VPN 설정이 완료되면 Status “Up”
6단계 : VPC의 라우팅 테이블 설정
구성도의 라우팅 테이블 참조하여 라우팅 설정 : 설명 SKIP
7단계 : vpcB에서 On-premise 통신 확인
priB-ec2에서 priC-ec2로 ping 통신 요청 : sucess 확인
'Networking' 카테고리의 다른 글
[실습] Amazon CloudFront (CDN) 이용하여 HTTP/HTTPS 서비스 구성하기 (S3 정적 웹 호스팅, Route 53, ACM, S3 Logging) (0) | 2022.07.21 |
---|---|
[실습] Amazon Route 53에서 Public & Private domain (도메인) 등록하기 (0) | 2022.07.20 |
[이론] Amazon CloudFront (CDN 서비스) 기본 개념 (0) | 2022.07.19 |
[Tip] NAT 구조, L2 동작하는 3rd party 인스턴스에서 이상 동작하는 경우 해결하기 (0) | 2022.07.19 |
[실습] AWS Site-to-Site VPN 구성하기 (Static, Openswan)-2편 (0) | 2022.07.19 |