본문 바로가기

가상화/클라우드

AWS와 GCP VPN 연동 예제

Today Keys :   Cloud, VPN, 클라우드, AWS, GCP, 연결, Connection, amazon, google


 

이번 포스팅은 AWS와 GCP에서 제공하는 VPN을 이용해서 AWS와 GCP 상호 간의 VPC 연결하는 예제입니다.

 

VPN을 사용하면 멀티 클라우드 이용 시에, 각 CSP에서 제공하는 VPN을 이용해서 Private하게 네트워크 연결을 할 수 있습니다.


 

 

     이번 포스팅에서 최종 구성한 모습입니다.

AWS와 GCP에 각 VPC를 생성해서, 각각의 VPN 서비스를 이용해서 AWS와 GCP 간의 연동 후

AWS와 GCP에 있는 호스트 간의 VPN을 이용해서 통신이 되는지까지 테스트 합니다.

 

 

 

먼저 VPN 연결 전의 각 호스트 간의 통신이 되지 않는 것을 다음과 같이 확인합니다.

 

본 포스팅에서는 VPN 연결을 위한 생성과 설정에 대해서만 다루고, 

기타 나머지 설정은 기존에 되어 있다는 전제하에 진행합니다     

 

 

 먼저 AWS쪽 작업을 진행 하겠습니다.  

AWS에서 VPC의 VPN(가상 프라이빗 네트워크)의 하위 메뉴 중에서

[사이트 간 VPN 연결] 를 선택해서

VPN 연결 생성을 시작합니다.

 

         VPN 연결용 이름을 정하고,  어떤 가상 프라이빗 게이트웨이VGW에 연결할 것인지 정합니다. 

   고객 게이트웨이는 AWS와 연결한 반대변 VPN의 정보입니다

여기에서는 GCP와 연동하기 때문에 GCP의 VPN에서 사용 할 공인 IP 정보를 입력하면 됩니다.

즉, AWS 작업 전에 GCP에서 공인 고정 IP를 미리 할당하는 작업이 필요로 합니다.

해당 IP를 입력하고, 라우팅 옵션을 선택합니다.

이 예제에서는 Static 라우팅을 사용할 것이기 때문에 static으로 선언합니다.

그리고, GCP에서 사용하게 될 네트워크를 지정하면, VPN에서 GCP 네트워크에 대해서는 터널로 라우팅 처리를 합니다.

그리고 터널을 맺기 위한 내부 CIDR과 공유 키를 입력하게 되는 데, 모두 자동으로 선택해도 되고 직접 입력해도 됩니다.

저는 내부 CIDR은 자동으로 두고, Key 값만 직접 입력 하겠습니다.

 

        생성된 VPN 연결 정보를 보면 다음과 같이 생성된 것을 볼 수 있습니다.    

 

       현재 터널은 연결되지 않았기 때문에 상태는 '작동 중지' 상태로 되어 있습니다.

이 터널 정보에서는 외부 IP 주소가 2개 생성된 것을 볼 수 있는 데, AWS에서는 VPN 연결 생성 시에 이중화를 위한

공인 IP 주소가 2개 생성됩니다. (즉 터널을 2개 맺을 수 있습니다.)    

 

         VPN 생성 시에 지정한 라우팅 정보도 볼 수 있습니다.

라우팅은 대역이 추가될 경우에 이 메뉴에서 추가하시면 됩니다.   

 

 

       이제 AWS 설정이 끝났으니, GCP에서 생성을 하겠습니다. 

GCP에서는 하이브리드 연결의 하위에

[VPN] 메뉴를 선택합니다.    

 

        새로운 VPN 연결 만들기를 시작합니다.   

 

         VPN 연결 만들기에서 VPN 연결에 대한 '이름'을 지정합니다.

그리고, VPC와 리전을 선택 후, 사전에 만든 VPN용 공인 IP 주소를 선택합니다.

이 아이피 주소가 AWS에서 VPN 연결 시에 사용한 고객 게이트웨이 주소입니다.   

         

이제 VPN 터널 정보를 입력합니다.  

이 터널 정보에서는 원격 피어 IP주소와 IKE 버전과 사전 공유키를 입력합니다.

원격 피어는 AWS에서 VPN 연결 생성 시에 자동으로 할당된 공인 IP 주소입니다.

AWS를 먼저 설정한 이유는 바로 VPN 연결을 위한 상대편 공인 IP가

GCP의 경우에는 미리 공인 IP를 할당해서 사용하지만, AWS에서는 VPN 연결 시에 자동으로 할당되기 떄문입니다.

AWS 생성 시에 직접 입력한 사전 공유키를 입력합니다.

라우팅은 마찬가지로 Static 라우팅을 사용할 것이기 때문에 경로반으로 지정하고

AWS의 네트워크 대역을 입력합니다.

 

 

           동일한 방식으로 터널 정보를 1개 더 입력하고, [만들기] 버튼을 눌러서 VPN 연결을 만듭니다.

 

 

         생성된 VPN 연결을 보겠습니다.               

 

         2개의 터널이 모두 정상적으로 생성되어서, 맺어진 상태 (설정됨)인 것을 볼 수 있습니다.

 

         AWS에서도 터널 상태가 '작동 중지' 에서 '작동'으로 변경 된 것을 볼 수 있습니다.   

 

  마지막으로 VPN이 맺어진 이후에는

 처음에 보았던 AWS와 GCP 간의 인스턴스가 이제 서로 통신이 되는 것을 볼 수 있습니다.