Today Keys : network, manager, management, VNET, connectivity, configuration, deploy, across, region, group
이번 포스팅은 Azure에서 가상 네트워크를 전역적으로 그룹화, 구성, 배포 및 관리할 수 있는 관리 서비스인, Azure Virtual Network Manager의 다섯 번째 포스팅입니다.
다섯 번째 포스팅에서는 Hub & Spoke Configuration을 사용하면서 다른 Network Group 간의 통신이 되도록 구성해보고, Spoke에서 Hub의 Gateway를 이용해서 VPN 통신을 하는 예시에 대해서 다룹니다.
Network Manager를 통해서 VNet를 관리 할 때, VNet을 Network Group에 연결하고
Network Group에 대한 네트워크 구성을 어떻게 할지를 Connectivity configuration으로 설정합니다.
Connectivity configuration 설정 시에 Network Group에 대한 Topology를 Mesh 방식으로 연결하는 방법과 Hub and Spoke로 구성 할 수 있습니다.
Mesh로 연결하는 경우에는 Mesh에 속한 Network Group 간을 Full Mesh 형태로 연결하여,
서로 다른 Network Group 간이라도 모든 VNet 간의 통신이 가능하게 됩니다.
VNet이 서로 다른 리전에 속한 경우에도 'Enable mesh connectivity across regions' 옵션을 사용하면, 리전 간의 연결도 가능합니다.
Hub and Spoke의 경우에는 Hub로 지정한 VNet 들이 모두 Hub VNet에 연결되는 구조이며,
기본적으로 Spoke 간의 통신은 되지 않습니다.
만약 Spoke 간의 통신을 허용하려면 Direct Connectivity 옵션을 활성화 해야 합니다.
이 경우에 만약 서로 다른 리전 간에도 허용하려면, Global mesh 옵션도 활성화 하면 됩니다.
하지만, 두 가지 옵션을 사용하더라도 network group이 다른 경우에는 통신이 불가합니다.
물론 용도에 따라서 원하는 Topology를 사용하면 되겠지만, Hub and Spoke 구조를 사용하면서도
Spoke간의 통신을 모두 허용이 필요한 경우가 있을 수 있습니다.
기존의 Virtual WAN 자체도 라우팅 테이블을 분리하지 않으면 기본적으로 Virtual WAN에 연결된 VNet 간의 통신을 허용하고, VPN이나 ER간의 통신을 허용하는 것처럼 말이죠. 물론 용도에 따라서 라우팅 테이블을 분리하여 관리하는 것이 좀 더 나은 구성 일 수 있고, 이러한 분리된 관리가 Network Group별로 나눠서 관리하는 방식이 될 수 있습니다.
하지만, 앞서 얘기한 것처럼 Hub and Spoke 구성이면서, 특정 Network Group간에는 연결을 원하는 경우에는 어떻게 하는지 살펴 보겠습니다.
테스트를 위한 구성을 설명하면,
ZIGI-NM-VNET1, ZIGI-NM-VNET2, ZIGI-NM-VNET5이 있고 각각의 VNet은 개별 Network Group에 속합니다.
그리고, Hub VNet 역할을 할 ZIGI-NM-VNET-Hub-GW이 있습니다.
실제 설정된 Network Group을 보면,
ZIGI-NM-NG-1 Network Group에는 ZIGI-NM-VNET1(10.0.1.0)이 있습니다.
ZIGI-NM-NG-2 Network Group에는 ZIGI-NM-VNET2(10.0.2.0)이 있습니다.
ZIGI-NM-NG-4 Network Group에는 ZIGI-NM-VNET5(10.0.5.0)이 있습니다.
이제 Hub & Spoke로 Connectivity Configuration을 설정합니다.
Topology는 Hub and spoke로 설정하고,
3개의 Network Group을 설정합니다.
각각의 Network Group에는 1개의 VNet만 있어서, Direct Connectivity 설정은 체크하지 않았습니다.
방금 전에 만든 Configuration을 VNet이 위치한 Region에 배포합니다.
모든 VNet이 West US 리전에 위치해 있어서, Target Regions를 West US로만 한정했습니다.
Configuration과 Region을 선택 후, Deploy를 진행합니다.
Configuration 배포 후 ZIGI-NM-VNET1에 있는 ZIGI-VM1에서 유효 경로를 살펴보면,
Hub VNet 네트워크 대역인 10.0.10.0/24 에 대해서만 유효 경로에 추가된 것을 볼 수 있습니다.
그럼 이제 서로 다른 Network Group 간의 연결을 위한 Connectivity Configruation을 만듭니다.
Topology를 Mesh 방식으로 하고, ZIGI-NM-NG-1과 ZIGI-NM-NG-4 Network Group 2개만 등록하고 ZIGI-NM-NG-2는 등록하지 않았습니다.
이제 Configuration을 배포 하는 데,
방금 전에 Mesh Topology를 배포하면 기존 Hub and Spoke 구성이 교체가 됩니다.
만약 Hub and Spoke 구성이면서 Network Group 간의 통신을 하고자 하면,
2개의 Connectivity Configuration을 아래와 같이 배포 하면 됩니다
위에서 만든 Hub Topology와 방금 전에 방든 Mesh Topology Configuration을 함께 배포합니다.
배포 전, 적용된 설정을 Review 해보면 기존의 Hub Topology Configuration 1개에서
2개의 Configuration이 적용될 예정임을 확인 할 수 있습니다.
Configuration 배포 후 ZIGI-NM-VNET1에 있는 ZIGI-VM1에서 유효 경로를 살펴보면,
Hub VNet 네트워크 대역인 10.0.10.0/24 뿐 아니라,
Mesh로 구성한 ZIGI-NM-VNET5의 네트워크 대역이 10.0.5.0/24 대역이 유효 경로에 추가된 것을 볼 수 있습니다.
정리하면, Hub & Spoke 구성을 사용하면서 원하는 Network Group 간의 통신을 허용하려면
원하는 Network Group을 Mesh 형태로 구성한 Configuration을 함께 배포하면 됩니다.
다음은 Hub and Spoke Topology를 쓰는 실질적인 이유인, Hub VNet을 통한 VPN 연결에 대해서 간단하게 알아봅니다.
Hub and Spoke Topology를 사용하면, Hub VNet 한 곳에 Express Route나 VPN 연결을 하고
다른 Spoke VNet에서는 Hub VNet을 통해서 Express Route나 VPN을 연결하여 중앙 관리를 할 수 있습니다.
기존의 Virtual WAN을 사용하여 Express Route나 VPN을 연결하는 것과 유사합니다.
이 연결 구성을 위해서 추가적인 Network Manager의 설정은 필요 없으며,
Hub로 사용하는 VNet에 Express Route나 VPN Gateway를 통해서 ER 혹은 VPN 연결만 하면 됩니다.
실제 연결된 구성이 어떻게 보이고 통신이 되는지 확인하기 위해서
Hub VNet에 VPN Gateway를 구성하고 VPN 연결을 합니다.
제가 테스트한 환경에서는 AWS VPC에 하나의 인스턴스(VM)을 생성하고
이 VPC에 Virtual Private Gateway를 두고, Azure의 VNet Hub의 VPN Gateway와 VPN 연결합니다.
※ 이 포스팅에서는 VPN 연결에 대한 설정을 다루지는 않습니다. Azure와 AWS간의 VPN 연결을 보시려면, 기존 포스팅(https://zigispace.net/1136) 을 확인하시면 됩니다.
Hub and Spoke Topology의 Spoke Network Group에는 ZIGI-NM-NG-1이 등록되어 있고,
해당 Network Group에는 ZIGI-NM-VNET1 VNet이 연결되어 있습니다.
ZIGI-NM-VNET1의 ZIGI-VM1에서 유효 경로를 확인해 보면,
Hub VNet 의 네트워크 대역인 10.0.10.0/24 이 Peering 으로 연결된 대한 유효 경로와 함께
Hub VNet에서 VPN 연결된 ZIGI-VPC의 네트워크 대역인 10.1.0.0/16 에 대한 유효 경로가
Virtual Network Gateway로 연결된 것을 볼 수 있습니다.
실제 Azure Spoke VNet에 있는 ZIGI-VM1(10.0.1.4)에서 AWS의 인스턴스(10.1.1.60)으로 통신 테스트를 하면
아래와 같이 정상적으로 잘 통신 되는 것을 볼 수 있습니다.
이렇게 Hub VNet에 Express Route나 VPN을 연결하고, Network Manager로 Hub & Spoke Topology로 구성하는 것만으로 손쉽게 많은 VNet에서 Express Route나 VPN을 이용한 통신이 가능한 구성을 만들 수 있습니다.