[AWS] AWS to GCP Site-to-Site VPN 연결하기
안녕하세요
남영재입니다.
오늘은 AWS 와 GCP 간 VPN 연결을 해보겠습니다.
퍼블릭 클라우드 간 연결이다보니 양쪽 다 HA구성이 기본적으로 제공됩니다.

1. VPC 만들기
gcloud compute networks create gc-vpc --subnet-mode custom --bgp-routing-mode global
2. VPN Gateway 만들기
gcloud compute vpn-gateways create gcloud-vpn-gw --network gc-vpc --region asia-northeast3
3. 라우터 만들기
--network gc-vpc \
--asn 65002 \
--advertisement-mode custom \
--set-advertisement-groups all_subnets
4. 고가용성 VPN 터널 만들기

Google Cloud VPN Gateway를 생성합니다. 테스트 환경은 모두 서울 리전에서 수행하겠습니다.

VPN Gateway를 생성하면 터널추가 메뉴가 이어집니다. 아래 화면이 보이신다면 지금까지는 문제없이 수행하고 있는겁니다.

위 과정까지 진행했다면 잠시 AWS Console 로 돌아가서 Google Cloud의 Peer VPN Gateway주소가 될 AWS VPN IP를 획득해야 합니다.
AWS 화면으로 전환하기 전에 Google 에서 제공한 인터페이스의 Public IP 2개를 복사합니다.
- 0: 34.64.64.122 , 1: 34.64.128.171
1. CGW 만들기
WEB Console


2. AWS Virtual Private Gateway 만들기
이 명령어는 다음 예시와 비슷하게 표시됩니다.
3. Virtual Private Gateway VPC 에 연결
4. Site-to-Site VPN Connection 생성


AWS 측에서 생성한 VPN 연결에서 Configuration을 다운로드하여
1. IKE Version
2. Pre-Shared Key
3. Outside Address 와 Inside Address
를 복사해 둡니다.
각 AWS VPN Connection은 2개의 터널을 가지고 있습니다.
따라서 총 4개의 Outside Public IP를 제공합니다. 이 4개의 IP는 Google Cloud의 Peer Gateway Interface로 등록할 예정입니다.
아래 그림 참고. 총 2개의 Configuration 다운로드 필요.
여기까지 진행하고 다시 Google Cloud Console로 돌아갑니다.
1. GCP peer Gateway 만들기
WEB Console

AWS VPN Connection 에서 내려받은 Configuration 파일 활용
-
Cloud Router BGP IP: 169.254.154.190(Look for “IPSec Tunnel #1 Configuration file” -> “#3: Tunnel Interface Configuration” -> “Inside IP Addresses:” -> Customer Gateway)
-
BGP peer IP: 169.254.154.189
(Look for “IPSec Tunnel #1 Configuration File ” -> “#3: Tunnel Interface Configuration” -> “Inside IP Addresses:” -> Virtual Private Gateway)
모든 과정이 정상적으로 종료되었다면 아래와 같이 Google Cloud 및 AWS Console 에서 확인.
[성능테스트]
Client Side : 10.0.3.231
Server Side : 10.5.0.3
Client & Server Side 양 서버에 iperf 설치.
서버사이드(10.5.0.3) : iperf -s
클라이언트 사이드(10.0.3.231) : iperf -c 10.5.0.3 -p 5001
평균 861Mbps 의 속도가 측정되었음. (24년 5월 31일 기준)
(BGP 세션을 맺었음에도 통신이 안된다면, AWS의 Routing table, Security Group, NACL 을 확인하고, GCP에서 Firewall을 확인 바람)