문서의 목적
Site To Site VPN은 Public망이 아닌 Private 한 통신을 하기 위해 만들어진 방식
GCP, AWS간 VPN 구성 후 통신을 하는 것이 본 문서의 목적이며
인터넷에 있는 문서들이 2021년경 작성 되어있으며, 2025년 현재 AWS, GCP메뉴가 달라져서 작성하게 되었습니다.
주의사항
AWS VPN은 기본적으로 HA로 구성되게 되어 있습니다.
VPN 생성시 기본적으로 Tunnel이 2개 생성 되며 삭제는 불가능 합니다.
GCP에서 HA VPN은 NIC Interface 2개를 사용하여 터널을 맺습니다. AWS에서는 자기의 IP들은 2개지만, 상대편(Peer IP)는 한개만 지정할 수 있습니다.
AWS적용하자면 GCP Interface 2개, AWS VPN연결을 2개 생성하여 총 4개의 Tunnel을 맺어야 서로간 HA VPN으로 구성됩니다.
AWS적용하자면 GCP Interface 2개, AWS VPN연결을 2개 생성하여 총 4개의 Tunnel을 맺어야 서로간 HA VPN으로 구성됩니다.
글로써 보면 복잡한데, 아래 구성도를 보면 바로 이해가 됩니다.
본 문서에서 목표로 하는 구성도 입니다.
![](https://blog.kakaocdn.net/dn/bbHMYJ/btsL3XwYxSX/BRzf2eS0R6Fk4I64YHW3A0/img.png)
- GCP 설정
Console : 네트워크 연결 -> VPN -> 고가용성(HA) VPN 선택
![](https://blog.kakaocdn.net/dn/dhrWqW/btsL3xZpNAu/zyIBiVX8qaqhKHnDW32wd0/img.png)
![](https://blog.kakaocdn.net/dn/5Zl37/btsL4o1Wmhl/SJjOJLH6Z42GtD5kit2xeK/img.png)
입력
|
비고
|
VPN 게이트웨이 이름
|
명명규칙에 따라 입력
|
네트워크
|
AWS VPC와 연결할 GCP의 네트워크
|
리전
|
VPC를 구성하는 리전 선택 IP6를 사용한다면 이중스택, IP4만 사용한다면 단일 스택으로 진행
|
- VPN터널추가
피어 VPN게이트웨이 (상대방 VPN정보)
온프렘 - Google Cloud 외부 (AWS, Azure) 로 선택 후 “새 피어 VPN 게이트웨이 만들기” 선택
온프렘 - Google Cloud 외부 (AWS, Azure) 로 선택 후 “새 피어 VPN 게이트웨이 만들기” 선택
![](https://blog.kakaocdn.net/dn/bLt9yN/btsL46GfqPR/huQlw6F1J0pf8x6vsM4BCk/img.png)
![](https://blog.kakaocdn.net/dn/nEhP1/btsL3Y3AL0p/eqN4lDMuepwjeBsqKBWRs1/img.png)
화면에는 2개로 되어있으나, 4개의 터널을 만들어야하므로 인터페이스 4개를 선택합니다.
이후 피어 VPN 게이트웨이 AWS측의 Tunnel IP (public)을 받아 입력
AWS측에 구성 다운로드 파일을 받으면 구축에 필요한 정보가 모두 있으므로, 되도록 요청합니다.
AWS측에 구성 다운로드 파일을 받으면 구축에 필요한 정보가 모두 있으므로, 되도록 요청합니다.
입력
|
비고
|
이름
|
명명규칙에 따라 작성
|
인터페이스
|
AWS Site to Site 생성시 발급된 Tunnel 4개의 Public IP 입력
|
- AWS 설정
AWS에서는 고객 게이트웨이, 가상 프라이빗 게이트웨이, Site to Site VPN연결설정이 필요합니다.
Console : VPC -> 고객 게이트웨이 -> 고객 게이트웨이 생성
![](https://blog.kakaocdn.net/dn/BoYO0/btsL45gcRAn/kDKDNA1sHvcI6XLF4UmE0K/img.png)
입력
|
비고
|
BGP ASN
|
GCP의 Route에서 설정할 BGP ASN값 (값은 64,512~65,534 또는 4,200,000,000~4,294,967,294 범위)
|
IP주소
|
GCP Cloud HA VPN게이트웨이 만들기 → VPN터널 추가 하였을때 인터페이스 (NIC0, NIC1)에 대한 IP를 발급되므로 해당 값 입력
|
가상 프라이빗 게이트웨이
Console : VPC -> 가상 프라이빗 게이트웨이 -> 가상 프라이빗 게이트웨이 생성
Console : VPC -> 가상 프라이빗 게이트웨이 -> 가상 프라이빗 게이트웨이 생성
![](https://blog.kakaocdn.net/dn/S4YTN/btsL53B86LL/yEjoWzBUkiqmlmiKFVqQG1/img.png)
AWS에서 사용할 ASN 번호 생성된 후 작업을 진행합니다.
가상 프라이빗 게이트웨이와 VPC 연동 생성된 후 -> VPC에 연결선택
![](https://blog.kakaocdn.net/dn/Zg8Ee/btsL47SDqu4/bIAYOnCRykbzuskKrrwuC0/img.png)
GCP와 연결해야 하는 VPC을 선택하여 연결
![](https://blog.kakaocdn.net/dn/oSD6g/btsL4pGGvhx/oiPkdKpKSCbiRzkYaiId5K/img.png)
Site to Site VPN 연결
Console : VPC -> Site-to-Site VPN연결 -> VPN연결 생성
![](https://blog.kakaocdn.net/dn/b2m8C4/btsL5tnOHMu/5aVxpo5PUf8JgpOfRradtK/img.png)
입력
|
비고
|
대상 게이트웨이 유형
|
미리 설정한 가상 프라이빗 게이트웨이 설정
|
고객 게이트웨이 유형
|
미리 설정한 고객 게이트웨이 설정
|
로컬 IPv4
|
AWS 대역
|
원격 IPv4
|
GCP 대역
|
터널을 생성하고, 해당 VPN을 선택하면 나오는 정보에서 터널 상태 확인
Tunnel1, 2 Public IP를 메모하여 GCP설정으로 다시 진행합니다.
![](https://blog.kakaocdn.net/dn/bKdona/btsL5rXDntB/rvODoYVfk1xiD4bCftWaRk/img.png)
설정(구성)정보 다운로드
상단의 구성 다운로드 선택
상단의 구성 다운로드 선택
![](https://blog.kakaocdn.net/dn/MpJOa/btsL5sI0Ag5/qv5OupRknBOb2QI4NH7ooK/img.png)
공급업체, 플랫폼을 선택 후 AWS VPN의 설정 값을 다운로드 합니다.
GCP와 연동할때는 Generic/Vendor Agnostic 로 하여 받는게 Config값을 보기 쉽습니다.
GCP와 연동할때는 Generic/Vendor Agnostic 로 하여 받는게 Config값을 보기 쉽습니다.
![](https://blog.kakaocdn.net/dn/2cTg2/btsL4LvFJOT/AeFI1sykCulOjRsBmj9CEK/img.png)
![](https://blog.kakaocdn.net/dn/dapadE/btsL5rXDnvs/pOe2MJ63X2X6ufuP9LKpP0/img.png)
다시 GCP설정으로 진행하겠습니다.
피어 VPN 게이트웨이 인터페이스를 생성한 후에는 VPN터널 생성으로 진입합니다.
피어 VPN 게이트웨이 인터페이스를 생성한 후에는 VPN터널 생성으로 진입합니다.
![](https://blog.kakaocdn.net/dn/blRoOD/btsL6aVqpQF/ooSJhIKqo3kezHSqmaa8lK/img.png)
피어 VPN 게이트웨이는 “온프렘” 선택
고가용성 옵션은 터널의 갯수를 선택하는 것입니다.
VPN 터널 쌍 만들기, VPN 터널 4개 만들기가 있으며, 여기서 “VPN 터널 4개 만들기(AWS에 연결하는 데 필요)” 선택합니다.
단 이때에 사전에 피어 VPN게이트웨이가 4개로 되어있어야 합니다.
VPN 터널 쌍 만들기, VPN 터널 4개 만들기가 있으며, 여기서 “VPN 터널 4개 만들기(AWS에 연결하는 데 필요)” 선택합니다.
단 이때에 사전에 피어 VPN게이트웨이가 4개로 되어있어야 합니다.
Router를 신규로 생성하며, 생성시 GCP BGP에 사용할 ASN을 입력
![](https://blog.kakaocdn.net/dn/Tyjp5/btsL5NTHbeb/fqe5vHCkg89u5Us8pKKtb0/img.png)
VPN터널을 생성합니다.
IKE 사전 공유키는 기존에 다운받은 AWS의 config파일내에 존재합니다.
아니면, AWS엔지니어와 서로 Key값을 맞추면 됩니다.
IKE 사전 공유키는 기존에 다운받은 AWS의 config파일내에 존재합니다.
아니면, AWS엔지니어와 서로 Key값을 맞추면 됩니다.
![](https://blog.kakaocdn.net/dn/b8A9s0/btsL3xyp720/6tHuZMgQ3gSEtKq6cUhSY0/img.png)
동작 라우팅을 하기 위해 BGP에 대한 세션을 구성합니다.
![](https://blog.kakaocdn.net/dn/xhEMD/btsL4KXPhmJ/TwW5WtkaM94u4W9r4FzVi1/img.png)
BGP세션 구성 선택 후 생성
입력
|
비고
|
이름
|
명명규칙에 따라 작성
|
피어 ASN
|
AWS의 ASN번호 입력
|
Cloud Router BGP IP
|
AWS의 Customer Gateway IP
|
BGP 피어 IP
|
AWS의 Virtual Private Gateway IP
|
AWS config 파일에서 #3 Tunnel Interface Configuration - Inside IP Addresses 참조
![](https://blog.kakaocdn.net/dn/clPd7h/btsL451zQv9/2EvOi6CqEuEKwfDrK8ilL1/img.png)
- GCP, AWS 동작 확인
AWS
각 VPN을 선택하여, 2개의 터널 상태 확인 (총 4개 터널 확인)
각 VPN을 선택하여, 2개의 터널 상태 확인 (총 4개 터널 확인)
![](https://blog.kakaocdn.net/dn/6cK5C/btsL5lwwVo2/yacoBiPMstAjbn0ta8nwn0/img.png)
![](https://blog.kakaocdn.net/dn/kBU5y/btsL4PLsbYa/0hSqqRu9uLHBOCJbHkr4Kk/img.png)
GCP
VPN터널과 BGP 세션 상태가 녹색(정상) 체크 인지 확인
GCP의 경우 한화면에서 4개의 터널 상태를 확인할 수 있습니다.
![](https://blog.kakaocdn.net/dn/zdqiz/btsL5ri3uvd/IUYE2VBheckLfM2dtDFZO0/img.png)
참고 : GCP의 HA VPN도 AWS처럼 config를 다운받을 수는 있습니다. (Classic VPN은 불가)
![](https://blog.kakaocdn.net/dn/d6ltoZ/btsL3RcoGKl/RDLKO0Xs6OjUctO2WYgAK0/img.png)
- 방화벽, 라우팅 설정
AWS - 자동전파 설정
VPC > 라우팅테이블 > VPN과 연결한 VPC선택
작업 > 라우팅 전파 편집 선택
작업 > 라우팅 전파 편집 선택
VGW (가상 프라이빗 게이트웨이)가 존재하며, 활성화를 체크하고 저장
![](https://blog.kakaocdn.net/dn/9jn4t/btsL5sCeVwp/RbS0DehXtdkDG9bWjB8ulK/img.png)
저장 후 라우팅테이블에서 GCP의 라우팅 대역이 전파 되었는지 확인
![](https://blog.kakaocdn.net/dn/l3wuk/btsL4o1Wmf8/fKOoKZC0QplxbfvZKkse70/img.png)
수동으로 라우팅 적용시
AWS VPC → 라우팅 테이블 → 해당 VPC선택 → 라우팅 편집 GCP대역을 가상 프라이빗 게이트웨이로 선택
AWS VPC → 라우팅 테이블 → 해당 VPC선택 → 라우팅 편집 GCP대역을 가상 프라이빗 게이트웨이로 선택
![](https://blog.kakaocdn.net/dn/bjERtY/btsL3sw8i2C/BPNEPQzbqaQMVThu93CiC0/img.png)
방화벽은 보안그룹에서 인바운드쪽에 GCP VPC대역과 필요한 IP, Port대역 설정하여 진행
이후 각 양단의 VPC에 존재하는 VM에서 Ping이나 서비스 체크를 통해 통신 되는지를 확인합니다.
이후 각 양단의 VPC에 존재하는 VM에서 Ping이나 서비스 체크를 통해 통신 되는지를 확인합니다.
마지막으로 Active - passive / Active - Active 구성은 아래 Docs를 참고합니다.
Active-active and active-passive routing
Active-active and active-passive routing
'Cloud > GCP' 카테고리의 다른 글
GCE, GCS, Bigquery Audit Log 확인 (0) | 2025.02.18 |
---|---|
[GCP] 2단계(MFA) 인증을 조직 단위로 설정하기 (0) | 2025.02.09 |
[GCP] No-ORG → ORG(조직 도메인) 이전 (0) | 2025.01.31 |
[GCP] 프로젝트간 VM Image 공유 (0) | 2025.01.10 |
GCP Web console 접근을 위한 X-windows 구성 (0) | 2025.01.09 |
[GCP] Bigquery DB Tool접속을 위한 SA Key 설정 방안 (0) | 2024.12.09 |
GCP에서 SSH 포트 변경시 다양한 방안 (0) | 2024.12.05 |