Microsoft/Azure

Azure VPN Gateway를 통한 Spoke Network 간의 연결

megapain 2022. 6. 8. 23:26

지난 글에서 Windows RRAS를 사용한 VPN 연결 방법에 대해서 설명했었습니다.

https://mpain.tistory.com/238

 

지난 번의 구성을 확장해서 Hub & Spoke 구조를 만들어 보겠습니다.

구성도는 아래와 같습니다.

Hub & Spoke

 

Hub-VNET을 중심으로 온프레미스, Prd-VNET, Dev-VNET이 연결되어 있으며, 각 네트워크 간의 통신은 Hub-VNET을 통해 연결됩니다. 일반적인 Hub & Spoke 네트워크 구조입니다.

 

Hub-VNET과 온프레미스 네트워크는 S2S VPN으로 연결되며, Hub-VNET과 Prd-VNET, Dev-VNET은 Peering으로 연결됩니다.

Peering 구성 옵션에서 VPN Gateway transit을 사용하여 온프레미스와 Azure Virtual Network 간의 통신이 가능해집니다.

* 참고
Configure VPN gateway transit for virtual network peering - https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-peering-gateway-transit

Peering의 VPN Gateway transit 옵션

 

 

Peering의 VPN Gateway transit 옵션때문에 온프레미스 네트워크와 Azure Virtual Network 가 아래와 같이 서로 통신할 수 있습니다.

VPN Gateway transit을 통한 온프레미스 네트워크와 Azure Virtual Network 연결

 

 

Azure를 경험해보신 분들은 위의 네트워크 연결에 대해서는 대부분 잘 알고 계십니다.

그렇다면, Azure Virtual Network 간의 통신도 VPN Gateway transit을 사용해서 서로 연결될까요?

예를 들어, Prd-VNET의 Prd-web01과 Dev-VNET의 dev-web01이 Hub Network의 VPN Gateway transit을 사용해서 서로 연결될 수 있을까요? 이 질문에 대한 답이 이번 글의 핵심입니다.

 

기본적으로는 연결이 안됩니다.

(의외로 연결이 될거라고 생각하시는 분들이 많습니다.)

위와 같은 구성에서 prd-web01과 dev-web01간에 통신을 시도해보면 아래와 같이 연결이 안됩니다.

(테스트의 편의를 위해 Windows Firewall은 중지하십시오.)

 

기본적으로 VPN Gateway transit은, Hub 네트워크에 Peering된 Azure Virtual Network(Spoke 네트워크)와 온프레미스 네트워크 간의 통신에서만 동작합니다.

 

Azure Virtual Network 간에도 VPN Gateway transit을 사용해서 통신하기 위해서는 UDR(User Define Route)을 사용해서 명시적으로 라우팅을 구성해 주어야 합니다.

예를 들어, 테스트 구성에서는 아래와 같이 UDR을 구성해야 합니다.

VPN Gateway transit을 위한 UDR

 

UDR을 구성할 때,

Address prefix destination에는 상대방 Virtual network의 IP 주소 대역을 입력하고,

Next hop type은 Virtual network gateway를 선택합니다.

UDR - Route 예제

 

이렇게 만들어진 UDR을 서브넷에 연결해야 합니다.

 

예제에서는 아래와 같이 두개의 UDR을 만들고 각각의 서브넷에 연결했습니다.

테스트에서 사용된 UDR

 

위와 같이 UDR을 적용하고 난 후 다시 Azure Spoke 네트워크 VM 간의 통신을 테스트해보면,

아래와 같이 정상적으로 통신이 되는 것을 확인할 수 있습니다.

UDR 적용 전 후 비교

 

 

 

추가로, Azure Spoke 네트워크 간의 통신은 Azure Firewall이나 3rd party NVA(Network Virtual Appliance)를 사용하여 라우팅을 처리할 수도 있습니다.

Azure Firewall 또는 NVA를 통한 Spoke 네트워크 간 라우팅

 

위 구성에 대한 내용은 아래 글에서 설명하고 있습니다.

https://mpain.tistory.com/216

 

Azure Firewall - 라우팅, DNAT, 네트워크 규칙(Network rule)

Azure 가상 네트워크에 Azure Firewall을 배포하고, 가상 네트워크 간 라우팅, DNAT, 네트워크 필터링 규칙을 구성하는 방법을 설명합니다. 아래와 같은 테스트 환경을 구성하고 Azure Firewall을 테스트하

mpain.tistory.com

 

-끝-