스포크 가상 네트워크의 기본 경로 삽입

Azure에서 가장 일반적인 아키텍처 중 하나는 허브 및 스포크 디자인입니다. 여기서 스포크 VNet(가상 네트워크)에 배포된 워크로드는 허브 VNet에 있는 공유 네트워크 디바이스를 통해 트래픽을 보냅니다. 일반적으로 UDR(사용자 정의 경로)은 트래픽이 허브의 보안 디바이스를 향하도록 스포크 VNet에서 구성해야 합니다. 그러나 이 디자인을 사용하려면 관리자가 여러 스포크에서 이러한 경로를 관리해야 합니다.

Azure Route Server는 NVA(네트워크 가상 어플라이언스)가 스포크 VNet에 삽입하는 경로를 보급할 수 있는 중앙 집중식 지점을 제공합니다. 이렇게 하면 관리자가 스포크 VNet에서 경로 테이블을 만들고 업데이트할 필요가 없습니다.

토폴로지

다음 다이어그램에서는 허브 VNet과 두 개의 스포크 VNet이 있는 간단한 허브 및 스포크 디자인을 보여줍니다. 허브에는 네트워크 가상 어플라이언스와 Route Server가 배포되었습니다. Route Server가 없으면 모든 스포크에서 사용자 정의 경로를 구성해야 합니다. 이러한 UDR에는 일반적으로 스포크 VNet에서 NVA를 통해 모든 트래픽을 보내는 0.0.0.0/0의 기본 경로가 포함됩니다. 예를 들어 이 시나리오를 사용하여 보안을 위해 트래픽을 검사할 수 있습니다.

Diagram showing a basic hub and spoke topology.

허브 VNet에서 Route Server를 사용하면 사용자 정의 경로를 사용할 필요가 없습니다. NVA는 네트워크 접두사를 Route Server에 보급하여 원격 가상 네트워크의 게이트웨이 또는 Route Server 사용 설정으로 허브 VNet과 피어링된 허브 VNet 또는 스포크 VNet에 배포된 모든 가상 머신의 유효 경로에 표시되도록 삽입합니다.

NVA를 통해 온-프레미스에 연결

NVA를 사용하여 IPsec VPN 또는 SD-WAN 기술을 통해 온-프레미스 네트워크에 대한 연결을 제공하는 경우 동일한 메커니즘을 사용하여 스포크에서 NVA로 트래픽을 유치할 수 있습니다. 또한 NVA는 Azure Route Server에서 Azure 접두사에 대해 동적으로 학습하고 동적 라우팅 프로토콜을 사용하여 온-프레미스에 보급할 수 있습니다. 다음 다이어그램은 이 설정을 설명합니다.

Diagram showing a basic hub and spoke topology with on-premises connectivity via an NVA.

NVA를 통한 프라이빗 트래픽 검사

이전 섹션에서는 NVA에서 Route Server로 0.0.0.0/0 기본 경로를 삽입하여 NVA(네트워크 가상 어플라이언스)에서 검사하는 트래픽을 보여 줍니다. 그러나 NVA를 통해 스포크-스포크 및 스포크-온-프레미스 트래픽만 검사하려는 경우 Azure Route Server는 NVA에서 학습된 가상 네트워크 주소 공간과 동일하거나 더 긴 접두사가 포함된 경로를 보급하지 않는다는 점을 고려해야 합니다. 즉, Azure Route Server는 이러한 접두사를 가상 네트워크에 삽입하지 않으며 허브 또는 스포크 VNet에 있는 가상 머신의 NIC에서 프로그래밍되지 않습니다.

그러나 Azure Route Server는 NVA에서 학습된 VNet 주소 공간보다 더 큰 서브넷을 보급합니다. NVA에서 가상 네트워크에 있는 항목의 슈퍼넷을 보급할 수 있습니다. 예를 들어 가상 네트워크에서 RFC 1918 주소 공간 10.0.0.0/16을 사용하는 경우 NVA는 Azure Route Server에 10.0.0.0/8을 보급할 수 있으며 이러한 접두사는 허브 및 스포크 VNet에 삽입됩니다. 이 VNet 동작은 VPN Gateway가 포함된 BGP 정보에서 참조됩니다.

Diagram showing the injection of private prefixes through Azure Route Server and NVA.

Important

길이가 같은 접두사를 ExpressRoute 및 NVA에서 보급하는 시나리오가 있는 경우 Azure는 ExpressRoute에서 배운 경로를 선호하고 프로그래밍합니다. 자세한 내용은 다음 섹션을 참조하세요.

가상 네트워크 게이트웨이를 통해 온-프레미스에 연결

온-프레미스 네트워크에 대한 연결을 제공하기 위해 Route Server 및 NVA와 동일한 가상 네트워크에 VPN 또는 ExpressRoute 게이트웨이가 있는 경우 이러한 게이트웨이에서 학습한 경로는 스포크 VNet에서도 프로그래밍됩니다. 이러한 경로는 더 구체적이기 때문에(더 긴 네트워크 마스크) Route Server에서 삽입하는 기본 경로(0.0.0.0/0)를 재정의합니다. 다음 다이어그램은 ExpressRoute 게이트웨이가 추가된 이전 디자인을 설명합니다.

Diagram showing a basic hub and spoke topology with on-premises connectivity via an NVA and ExpressRoute.

스포크 VNet의 서브넷은 Azure Route Server에서만 경로를 학습하도록 구성할 수 없습니다. 서브넷에 연결된 경로 테이블에서 “게이트웨이 경로 전파”를 사용하지 않도록 설정하면 두 가지 유형의 경로(가상 네트워크 게이트웨이의 경로 및 Azure Route Server의 경로)가 해당 서브넷의 NIC에 삽입되지 않습니다.

기본적으로 Route Server는 NVA에서 학습한 모든 접두사를 ExpressRoute로 보급합니다. 예를 들어 ExpressRoute 또는 경로 서버 자체의 경로 제한 때문에 이는 바람직하지 않을 수 있습니다. 이 경우 NVA는 BGP 커뮤니티 no-advertise(값 65535:65282)를 포함하여 Route Server에 대한 경로를 알릴 수 있습니다. Route Server는 이 BGP 커뮤니티가 포함된 경로를 수신할 때 서브넷으로 경로를 삽입하지만 다른 BGP 피어(예: ExpressRoute, VPN Gateway 또는 기타 NVA)에 보급하지는 않습니다.

ExpressRoute 및 Azure Firewall과 SDWAN 공존

이전 디자인의 특정 사례는 고객이 ExpressRoute 또는 SD-WAN/VPN 어플라이언스를 통해 온-프레미스 네트워크로 가는 모든 트래픽을 검사하기 위해 트래픽 흐름에 Azure Firewall을 삽입하는 경우입니다. 이 상황에서 모든 스포크 서브넷에는 다음 다이어그램과 같이 스포크가 ExpressRoute 또는 경로 서버에서 경로를 학습하지 못하도록 하는 경로 테이블이 있고 Azure Firewall을 다음 홉으로 사용하는 기본 경로(0.0.0.0/0)가 있습니다.

Diagram showing hub and spoke topology with on-premises connectivity via NVA for VPN and ExpressRoute where Azure Firewall does the breakout.

Azure Firewall 서브넷은 ExpressRoute와 VPN/SDWAN NVA 모두에서 오는 경로를 학습하고 트래픽을 한 방향으로 보낼지 아니면 다른 방향으로 보낼지 결정합니다. 이전 섹션에서 설명한 대로 NVA 어플라이언스가 Route Server에 200개가 넘는 경로를 보급하는 경우 BGP 커뮤니티 no-advertise로 표시된 BGP 경로를 보내야 합니다. 이렇게 하면 SDWAN 접두사가 ExpressRoute를 통해 온-프레미스로 다시 삽입되지 않습니다.

트래픽 대칭

복원력 또는 확장성을 높이기 위해 활성/활성 시나리오에서 여러 NVA 인스턴스를 사용하는 경우 NVA가 연결 상태를 유지해야 하는 경우 트래픽 대칭이 요구 사항입니다. 예를 들어 차세대 방화벽의 경우입니다.

  • Azure 가상 머신에서 퍼블릭 인터넷으로 연결하기 위해 NVA는 SNAT(Source Network Address Translation)를 사용하여 송신 트래픽이 NVA의 공용 IP 주소에서 소싱되어 트래픽 대칭을 달성하게 됩니다.
  • 인터넷에서 가상 머신에서 실행되는 워크로드로의 인바운드 트래픽의 경우, DNAT(Destination Network Address Translation) 외에 NVA는 가상 머신의 반환 트래픽이 첫 번째 패킷을 처리한 동일한 NVA 인스턴스에 도달하도록 SNAT(Source Network Address Translation)를 수행해야 합니다.
  • Azure-Azure 연결의 경우 원본 가상 머신이 대상과 독립적으로 라우팅 결정을 내리기 때문에 트래픽 대칭을 달성하려면 현재 SNAT가 필요합니다.

여러 NVA 인스턴스도 활성/수동 설정에서 배포할 수 있습니다. 예를 들어 그 중 하나가 다른 경로보다 더 나쁜 경로(AS 경로가 긴)를 보급하는 경우입니다. 이 경우 Azure Route Server는 VNet 가상 머신에 선호되는 경로만 삽입하며 기본 NVA 인스턴스가 BGP를 통해 보급을 중지하는 경우에만 덜 선호되는 경로가 사용됩니다.

Virtual Network 게이트웨이 및 VNet에 대한 경로를 알리기 위한 다양한 경로 서버

이전 섹션에서 설명한 것처럼 Azure Route Server에는 이중 역할이 있습니다.

  • 가상 네트워크 게이트웨이(VPN 및 ExpressRoute)와의 경로를 학습하고 보급합니다.
  • VNet 및 직접 피어링된 VNet에서 학습된 경로를 구성합니다.

이 이중 기능은 종종 흥미롭지만 경우에 따라 특정 요구 사항에 해로울 수 있습니다. 예를 들어 경로 서버가 0.0.0.0/0 경로를 보급하는 NVA가 있는 VNet에 배포되고 온-프레미스에서 ExpressRoute 게이트웨이 보급 접두사가 있는 경우 VNet 및 직접 피어링된 VNet의 가상 머신에서 모든 경로(NVA의 0.0.0.0/0 및 온-프레미스 접두사 모두)를 구성합니다. 결과적으로 온-프레미스 접두사가 0.0.0.0/0보다 더 구체적이기 때문에 온-프레미스와 Azure 간의 트래픽은 NVA를 바이패스합니다. 원하는 사항이 아닌 경우 이 문서의 이전 섹션에서는 VM 서브넷에서 BGP 전파를 사용하지 않도록 설정하고 UDR을 구성하는 방법을 보여 주었습니다.

그러나 더 역동적인 대안이 있습니다. 다른 기능에 대해 다른 Azure Route Servers를 사용할 수 있습니다. 그중 하나는 가상 네트워크 게이트웨이와 상호 작용하고 다른 하나는 가상 네트워크 라우팅과 상호 작용합니다. 다음 다이어그램은 이에 대한 가능한 디자인을 보여 줍니다.

Diagram showing a basic hub and spoke topology with on-premises connectivity via ExpressRoute and two Route Servers.

허브의 Route Server 1은 SDWAN의 접두사를 ExpressRoute에 삽입하는 데 사용됩니다. 스포크 VNet은 원격 가상 네트워크의 게이트웨이 또는 Route Server 사용(스포크 VNet 피어링에서) 및 이 가상 네트워크의 게이트웨이 또는 Route Server 사용(허브 VNet 피어링의 게이트웨이 전송) 없이 허브 VNet과 피어링되므로 스포크 VNet은 이러한 경로(SDWAN 접두사 또는 ExpressRoute 접두사 모두 없음)를 학습하지 않습니다.

스포크 VNet으로 경로를 전파하기 위해 NVA는 새 보조 VNet에 배포된 Route Server 2를 사용합니다. NVA는 이 Route Server 2에 대한 단일 0.0.0.0/0 경로만 전파합니다. 스포크 VNet은 원격 가상 네트워크의 게이트웨이 또는 Route Server 사용(스포크 VNet 피어링에서) 및 이 가상 네트워크의 게이트웨이 또는 Route Server 사용(허브 VNet 피어링의 게이트웨이 전송)을 사용하여 이 보조 VNet과 피어링되므로 스포크의 모든 가상 머신에서 0.0.0.0/0 경로를 학습합니다.

0.0.0.0/0 경로의 다음 홉은 NVA이므로 스포크 VNet은 여전히 허브 VNet에 피어링되어야 합니다. 주목해야 할 또 다른 중요한 측면은 허브 VNet이 Route Server 2가 배포된 VNet에 피어링되어야 한다는 것입니다. 그렇지 않으면 BGP 인접성을 만들 수 없습니다.

ExpressRoute에서 스포크 VNet까지의 트래픽을 검사를 위해 방화벽 NVA로 보내야 하는 경우에도 GatewaySubnet의 경로 테이블이 여전히 필요하며, 그렇지 않으면 ExpressRoute 가상 네트워크 게이트웨이는 VNet 피어링에서 학습한 경로를 사용하여 가상 머신에 패킷을 보냅니다. 이 경로 테이블의 경로는 스포크 접두사와 일치해야 하며, 다음 홉은 방화벽 NVA의 IP 주소(또는 중복성을 위해 방화벽 NVA 앞의 부하 분산 장치)여야 합니다. 방화벽 NVA는 위의 다이어그램에서 SDWAN NVA와 동일하거나 SDWAN NVA가 다른 IP 주소를 가리키는 다음 홉으로 경로를 보급할 수 있으므로 Azure Firewall과 같은 다른 디바이스일 수 있습니다. 다음 다이어그램은 Azure Firewall이 추가된 이 디자인을 보여 줍니다.

Diagram showing a basic hub and spoke topology with on-premises connectivity via ExpressRoute, an Azure Firewall, and two Route Servers.

이 디자인을 사용하면 ExpressRoute, VPN 또는 SDWAN 환경에서 학습한 다른 경로의 간섭 없이 스포크 VNet에 경로를 자동으로 삽입하고 트래픽 검사를 위한 방화벽 NVA를 추가할 수 있습니다.