Azure Route Server를 사용한 애니캐스트 라우팅

단일 Azure 지역의 가용성 영역에 애플리케이션을 배포하여 더 높은 가용성을 얻을 수 있지만 경우에 따라 더 높은 복원력, 전 세계 사용자를 위한 더 나은 성능 또는 더 나은 비즈니스 연속성을 달성하기 위해 여러 지역에 애플리케이션을 배포해야 할 수 있습니다. 다중 지역 애플리케이션이 배포된 위치 중 하나로 사용자를 보내는 데 사용할 수 있는 여러 가지 방법이 있습니다. DNS 기반 접근 방식(예: Azure Traffic Manager), 라우팅 기반 서비스(예: Azure Front Door 또는 Azure Cross-Regional Load Balancer)를 사용할 수 있습니다.

이전 Azure 서비스는 공용 IP 주소 지정을 사용하는 퍼블릭 인터넷을 통해 최상의 애플리케이션 위치로 사용자를 보내는 데 권장되지만 개인 네트워크 및 IP 주소를 지원하지 않습니다. 이 문서에서는 경로 기반 방식(IP 애니캐스트)을 사용하여 다중 지역의 개인 네트워크 애플리케이션 배포를 제공하는 방법을 살펴봅니다.

IP 애니캐스트는 기본적으로 둘 이상의 위치에서 정확히 동일한 IP 주소를 보급하는 것으로 구성되므로 애플리케이션 사용자의 패킷이 가장 가까운 지역(라우팅 측면)으로 라우팅됩니다. 애니캐스트를 통해 다중 지역 연결을 제공할 경우 DNS 기반 접근 방식보다 몇 가지 이점이 있습니다. 예를 들어 클라이언트가 DNS 답변을 캐시하지 않도록 요구하거나 애플리케이션의 DNS 디자인을 수정할 필요가 없습니다.

토폴로지

이 시나리오의 디자인에서는 NVA(네트워크 가상 어플라이언스)가 Azure 경로 서버를 통해 애플리케이션의 IP 주소를 알리는 서로 다른 Azure 지역의 가상 네트워크에서 동일한 IP 주소를 알립니다. 다음 다이어그램은 각각 다른 Azure 지역에 있는 두 개의 간단한 허브 및 스포크 토폴로지를 보여 줍니다. 각 지역의 NVA는 로컬 Azure 경로 서버에 동일한 경로(이 예에서는 a.b.c.d/32)를 알립니다(경로 접두사는 Azure 및 온-프레미스 네트워크와 겹치지 않아야 함). 경로는 ExpressRoute를 통해 온-프레미스 네트워크에 추가로 전파됩니다. 애플리케이션 사용자가 온-프레미스에서 애플리케이션에 액세스하려는 경우 DNS 인프라(이 문서에서 다루지 않음)는 애플리케이션의 DNS 이름을 온-프레미스 네트워크 디바이스가 두 지역 중 하나로 라우팅하는 애니캐스트 IP 주소(a.b.c.d)로 확인합니다.

Diagram shows an example of using IP anycast with Azure Route Server.

사용 가능한 지역 중 어떤 지역을 선택할지는 전적으로 라우팅 특성에 따라 결정됩니다. 두 지역의 경로가 동일한 경우 온-프레미스 네트워크는 일반적으로 ECMP(Equal Cost MultiPathing) 라우팅을 사용하여 각 애플리케이션 흐름을 각 지역으로 보냅니다. 지역 중 하나를 기본 설정하도록 Azure의 각 NVA에서 생성된 보급을 수정할 수도 있습니다. 예를 들어, BGP AS 경로 추가를 사용하여 온-프레미스에서 Azure 워크로드로의 결정적 경로를 설정합니다.

Important

트래픽 블랙홀링을 방지하기 위해 경로를 보급하는 NVA에는 해당 지역에서 애플리케이션을 사용할 수 없을 때 경로 보급을 중지하는 몇 가지 상태 검사 메커니즘이 포함되어야 합니다.

반환 트래픽

온-프레미스 클라이언트의 애플리케이션 트래픽이 Azure의 NVA 중 하나에 도착하면 NVA는 연결 역방향 프록시 또는 DNAT(대상 네트워크 주소 변환)를 수행합니다. 그런 다음 일반적으로 NVA가 배포된 허브 가상 네트워크에 피어링된 스포크 가상 네트워크에 상주하는 실제 애플리케이션으로 패킷을 보냅니다. 애플리케이션에서 반환되는 트래픽은 NVA를 통해 다시 이동하고, NVA가 연결을 역방향 프록시하거나 대상 NAT에 추가로 원본 NAT를 수행하는 경우 자연스럽게 이루어집니다.

그렇지 않으면 애플리케이션에 도착하는 트래픽은 여전히 원래 온-프레미스 클라이언트의 IP 주소에서 발생합니다. 이 경우 UDR(사용자 정의 경로)를 사용하여 패킷을 NVA로 다시 라우팅할 수 있습니다. 트래픽이 비대칭(인바운드 및 아웃바운드 트래픽이 서로 다른 NVA 인스턴스를 통과함)일 수 있으므로 각 지역에 둘 이상의 NVA 인스턴스가 있는 경우 특별히 주의해야 합니다. NVA가 상태 비저장인 경우 비대칭 트래픽은 일반적으로 문제가 되지 않지만 NVA가 방화벽과 같은 연결 상태를 추적하는 경우 오류가 발생합니다.