본문 바로가기

AWS

AWS와 Azure간 Transit Gateway을 통한 Site to Site VPN 연동

반응형

1. 개요

Public Cloud에서 가장 많이 사용되고 있는 AWS와 Azure간의 Site to Site VPN 연동 예제이며, Transit Gateway를 통해 진행하겠다.

 

  1.  AWS
    1. Site to Site VPN
    2. Transit Gateway
    3. Customer Gateway
    4. Resource Access Manager
  2. Azure
    1. Virtual Network Gateway : Azure측 VPN 장비
    2. Local Network Gateway : AWS의 CGW와 동일한 개념
    3. Connection : Virtual Network Gateway와 Local Network Gateway를 연결하는 리소스

2. 아키텍처

  1. AWS
    1. VPC : 10.0.0.0/16
    2. Subnet : 10.0.0.0/24
    3. EC2
  2. Azure
    1. Virtual Network : 10.2.0.0/16
    2. Region : South Central US
    3. Subnet : 10.2.0.0/24 
    4. VM
  • AWS와 Azure 간의 VPN 연결을 하기 위해서는 각 Cloud에서 서로의 VPN 장비 공인 IP를 알고 있어야 한다.
  • Azure에서는 Virtual Network Gateway 생성 시 Public IP 1개 생성되며, AWS에서는 Site to Site VPN 생성 시 2개의 Tunnel에서 각각의 Tunnel Endpoint가 생성됨

전체 과정 요약

1. [Azure] Virtual Network Gateway 생성

    AzureVPN 장비이며, 생성까지 대략 20 ~ 30분 소요

    Public IP1개 생성되며, AWSCGW에 기입

 

2. [AWS] Customer Gateway, Transit Gateway 생성

 

3. [AWS] Site to Site VPN 생성

    기 생성한 CGW, TGW 입력, Pre-SharedKey 입력

 

4. [Azure] Local Network Gateway 생성

    AWS Site to Site VPN에서 2Tunnel 중 활성화하고자 하는 TunnelEndpoint 기입

 

5. [Azure] Connection 배포

    Local Network Gateway – Virtual Network Gateway 연결 작업

 

6. [AWS – Azure] 테스트

 

7. 타 계정 VPC에서 Azure VM과의 VPN 통신 테스트

 

3. 연동 과정

1. [Azure] Virtual Network Gateway 생성

    A. ‘Create a resource’ 클릭

    B. ‘virtual network gateway’ 입력 후 클릭

    A.     Virtual network gateway 생성

Region, SKU, Virtual Network, Public IP Address name 등은 사용자가 지정하여 설정,

VPN Type이랑 Gateway Type은 Route-based, VPN 으로 설정해주었다.

배포 완료까지 대략 약 20 ~ 30분 소요되며, 최대 45분까지 걸립니다.

 

2.     Customer Gateway, Transit Gateway 생성

A.     Customer Gateway : Azure측의 VPN 장비가 어느 Public IP를 가지고 있는지 명세

B.     Transit Gateway : VPC, VPN 간의 라우팅해주는 중앙 관리형 Hub

* TGW 대신 Virtual Private Gateway(VGW)를 사용해도 무방합니다.

- TGW 생성

- TGW Attachment (해당 계정 VPC와 연결)

 

3.     Site to Site VPN 생성

A.     Create VPN Connection

기 생성한 Transit Gateway와 Customer Gateway를 선택해주고, Routing Options으로는 Static을 체크해준다. 또한 Pre Shared Key의 경우 HelloWorld라고 기입해주었다. (추후 Azure 쪽에서 설정할 때 필요하며, 만약 아래와 같이 별도로 지정하지 않았다면 Configuration 파일 다운로드하여 확인할 수 있다.)

Tunnel Endpoint를 기입해두자. (Outside IP Address)

=> Azure Local network gateway를 설정할 때 필요함

 

4. Local Network Gateway 생성

=> IP Address는 AWS Site to Site VPN 터널의 Endpoint 주소 기입하고, Address Sapce는 AWS VPC CIDR 대역을 입력해주면 된다.

생성까지 1~2분 소요된다.

 

5. Connection 배포

Site to Site (IPSec)으로 커넥션 타입 변경

기 생성해 두었던 Virtual Network Gateway와 Local network gateway를 연결해준다.

PSK는 AWS Site to Site VPN 신규 생성 때 만든 Pre-Shared Key를 입력해준다.

Connection 생성까지 대략 1분 가량 소요되며, 최초 Connection 생성 시 StatusUnknown이지만 약 3~5분 정도가 지난 후 연결되면 StatusConnected로 표시된다.

AWS쪽 Site to Site VPN 터널 또한 Status : UP으로 변경된 것을 확인할 수 있다.

 

6. AWS – Azure 테스트

1) 라우트 설정

2) TGW Static 라우트 설정

    CIDR : 10.2.0.0/16 (Azure CIDR 대역, Subnet CIDR로 설정하여도 무방하다.)

    Attachment : 기 생성한 VPN

 

Azure VM -> AWS EC2

Azure VM에 대해서만 ICMP 오픈하였으며, Ping 테스트 잘 성공하였다.

 

AWS EC2 -> Azure VM

 

 

7. TGW로 연결된 다른 VPC에서의 VPN을 통한 Azure VM과의 통신

각 계정의 VPC에 대해 Transit Gateway를 연결해주면 서로 통신이 가능하며, 이를 통한 타 계정에서의 VPN 통신 또한 가능하다.

 

다른 계정의 두 VPC를 우선 연결해야 하며, AWSResource Access Manager를 사용하여 TGW를 공유 가능

 

 

A. 계정 A[Resource Access Manager] -> [리소스 공유] -> [리소스 공유 생성]에서 기 생성한 Transit Gateway를 공유

B. B 계정의 Account ID 입력 후 추가

C. 공유된 리소스 확인

D. B 계정에서의 설정 작업

  1) Transit Gateway Attachment

  2) 공유 리소스

  3) 라우트 테이블

E. 접속 테스트

  1) B 계정 VPC EC2 -> Azure VM

  2) Azure VM -> B 계정 VPC 내의 EC2

      local network gateway -> configuration 탭에서 Address Space에 B 계정의 CIDR 대역 추가

 

 

 

반응형