자습서: 프라이빗 해결 프로그램을 사용하여 DNS 장애 조치(failover) 설정
이 문서에서는 서로 다른 지역에 배포된 둘 이상의 Azure DNS 프라이빗 해결 프로그램을 사용하여 온-프레미스 DNS 서비스에서 단일 실패 지점을 제거하는 방법을 자세히 설명합니다. DNS 장애 조치(failover)는 로컬 해결 프로그램을 기본 DNS로 할당하고 인접 지역의 해결 프로그램을 보조 DNS로 할당하여 사용하도록 설정됩니다. 주 DNS 서버가 응답하지 않으면 DNS 클라이언트는 보조 DNS 서버를 사용하여 자동으로 다시 시도합니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- 온-프레미스 조건부 전달자 및 Azure DNS 프라이빗 해결 프로그램을 사용하여 Azure 프라이빗 DNS 영역을 확인합니다.
- Azure 프라이빗 DNS 영역에 대해 온-프레미스 DNS 장애 조치(failover)를 사용하도록 설정합니다.
다음 다이어그램은 이 문서에서 설명하는 장애 조치(failover) 시나리오를 보여 줍니다.
이 시나리오에서는 두 개의 온-프레미스 위치에서 두 개의 Azure 허브 VNet으로 연결합니다.
- 동쪽 지역에서 기본 경로는 동쪽 VNet 허브입니다. 서쪽 허브에 대한 보조 연결이 있습니다. 서쪽 지역은 이와 반대로 구성됩니다.
- 인터넷 연결 문제로 인해 하나의 VNet(서쪽)에 대한 연결이 일시적으로 끊어졌습니다.
- 중복 디자인으로 인해 두 지역 모두에서 서비스가 유지됩니다.
DNS 확인 경로는 다음과 같습니다.
- 중복 온-프레미스 DNS 조건부 전달자는 DNS 쿼리를 인바운드 엔드포인트로 보냅니다.
- 인바운드 엔드포인트는 온-프레미스에서 DNS 쿼리를 수신합니다.
- 아웃바운드 엔드포인트 및 DNS 전달 규칙 집합은 DNS 쿼리를 처리하고 온-프레미스 리소스에 대한 응답을 반환합니다.
아웃바운드 엔드포인트 및 DNS 전달 규칙 집합은 장애 조치(failover) 시나리오에 필요하지 않지만 완전성을 위해 여기에 포함됩니다. Azure에서 온-프레미스 도메인을 확인하는 데 사용할 수 있는 규칙 집합입니다. 자세한 내용은 Azure DNS Private Resolver 엔드포인트 및 규칙 집합 및 Azure 및 온-프레미스 도메인 해결을 참조하세요.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- 두 지역에 있는 두 개의 Azure Virtual Networks
- 온-프레미스에서 각 가상 네트워크로의 VPN 또는 ExpressRoute 링크
- 각 가상 네트워크의 Azure DNS Private Resolver
- 각 가상 네트워크에 연결된 Azure 프라이빗 DNS 영역
- 온-프레미스 DNS 서버
참고 항목
이 자습서에서 azure.contoso.com
은 Azure 프라이빗 DNS 영역입니다. azure.contoso.com
을 프라이빗 DNS 영역 이름으로 바꿉니다.
Azure에 로그인
Azure Portal에 로그인합니다.
인바운드 엔드포인트 IP 주소 결정
DNS 프라이빗 해결 프로그램의 인바운드 엔드포인트에 할당된 IP 주소를 기록해 둡니다. IP 주소는 온-프레미스 DNS 전달자를 구성하는 데 사용됩니다.
이 예에는 두 지역에 두 개의 가상 네트워크가 있습니다.
- myeastvnet은 미국 동부 지역에 있으며 주소 공간 10.10.0.0/16이 할당됩니다.
- mywestvnet은 미국 중서부 지역에 있으며 주소 공간 10.20.0.0/16이 할당됩니다.
DNS Private Resolver를 검색하고 첫 번째 지역에서 프라이빗 해결 프로그램을 선택합니다. 예: myeastresolver.
설정에서 인바운드 엔드포인트를 선택하고 IP 주소 설정을 기록해 둡니다. 예를 들어 10.10.0.4입니다.
DNS Private Resolver 목록으로 돌아가서 다른 지역의 해결 프로그램을 선택합니다. 예: mywestresolver.
설정에서 인바운드 엔드포인트를 선택하고 이 해결 프로그램의 IP 주소 설정을 기록해 둡니다. 예를 들어 10.20.0.4입니다.
프라이빗 영역 링크 확인
Azure DNS 프라이빗 영역에서 DNS 레코드를 확인하려면 해당 영역을 가상 네트워크에 연결해야 합니다. 이 예에서 azure.contoso.com
영역은 myeastvnet 및 mywestvnet에 연결되어 있습니다. 다른 VNet에 대한 링크도 존재할 수 있습니다.
프라이빗 DNS 영역을 검색하고 프라이빗 영역을 선택합니다. 예: azure.contoso.com.
설정에서 가상 네트워크 링크를 선택하고 이전 프로시저에서 인바운드 엔드포인트에 사용한 VNet도 가상 네트워크 아래에 나열되는지 확인합니다. 예: myeastvnet 및 mywestvnet.
하나 이상의 VNet이 아직 연결되지 않은 경우 추가를 선택하고 링크 이름을 제공한 뒤 구독 및 가상 네트워크를 선택하여 여기에 추가할 수 있습니다.
팁
피어링을 사용하여 프라이빗 DNS 영역의 레코드를 확인할 수도 있습니다. 자세한 내용은 Azure DNS Private Resolver 엔드포인트 및 규칙 집합를 참조하세요.
Azure DNS 확인
가상 네트워크에 대한 DNS 설정이 기본값(Azure 제공)으로 설정되어 있는지 확인합니다.
가상 네트워크를 검색하고 첫 번째 VNet을 선택합니다. 예: myeastvnet.
설정에서 DNS 서버를 선택하고 기본값(Azure 제공)이 선택되었는지 확인합니다.
다음 VNet(예: mywestvnet)을 선택하고 기본값(Azure 제공)이 선택되었는지 확인합니다.
참고 항목
사용자 지정 DNS 설정도 작동하도록 할 수 있지만 이는 현재 시나리오의 범위에 속하지 않습니다.
프라이빗 DNS 영역을 검색하고 프라이빗 영역 이름을 선택합니다. 예: azure.contoso.com.
+ 레코드 집합를 선택하고 새 A 레코드를 추가하여 영역에 테스트 레코드를 만듭니다. 예를 들어 test입니다.
온-프레미스 클라이언트를 사용하여 명령 프롬프트를 열고 nslookup을 사용하여 기록한 첫 번째 프라이빗 해결 프로그램 IP 주소(예: 10.10.0.4)를 사용하여 테스트 레코드를 조회합니다. 다음 예제를 참조하십시오.
nslookup test.azure.contoso.com 10.10.0.4
쿼리는 테스트 레코드에 할당한 IP 주소를 반환해야 합니다.
두 번째 프라이빗 해결 프로그램(예: 10.20.0.4)에 대해 적어 둔 IP 주소를 사용하여 이 nslookup 쿼리를 반복합니다.
참고 항목
프라이빗 영역에 대한 DNS 확인이 작동하지 않는 경우 Azure VNet에 대한 온-프레미스 링크가 연결되어 있는지 확인합니다.
온-프레미스 DNS 전달 구성
이제 DNS 확인이 두 가지 다른 Azure DNS Private Resolver를 사용하여 온-프레미스에서 Azure로 작동하므로 이 두 주소를 모두 사용하도록 전달을 구성할 수 있습니다. 이렇게 하면 Azure에 대한 연결 중 하나가 중단되는 경우 중복이 사용하도록 설정됩니다. 전달자를 구성하는 프로시저는 사용 중인 DNS 서버 형식에 따라 다릅니다. 다음 예에서는 DNS 서버 역할 서비스를 실행하고 IP 주소가 10.100.0.2인 Windows Server를 사용합니다.
참고 항목
전달을 구성하는 데 사용하는 DNS 서버는 네트워크의 클라이언트 디바이스가 DNS 확인에 사용할 서버여야 합니다. 구성하려는 서버가 기본값이 아닌 경우 전달이 구성된 후 해당 서버의 IP 주소를 직접 쿼리해야 합니다(예: nslookup test.azure.contoso.com 10.100.0.2).
관리자 권한 Windows PowerShell 프롬프트를 열고 다음 명령을 실행합니다. azure.contoso.com을 프라이빗 영역의 이름으로 바꾸고 아래 IP 주소를 프라이빗 해결 프로그램의 IP 주소로 바꿉니다.
Add-DnsServerConditionalForwarderZone -Name "azure.contoso.com" -MasterServers 10.20.0.4,10.10.0.4
원하는 경우 DNS 콘솔을 사용하여 조건부 전달자를 입력할 수도 있습니다. 다음 예제를 참조하십시오.
이제 전달이 완료되었으므로 이전 프로시저에서 사용한 것과 동일한 DNS 쿼리를 실행합니다. 그러나 이번에는 쿼리에 대한 대상 IP 주소를 입력하지 마세요. 쿼리는 클라이언트의 기본 DNS 서버를 사용합니다.
복원력 입증(선택 사항)
이제 연결 중 하나가 끊어졌을 때 DNS 확인이 작동함을 입증할 수 있습니다.
인터페이스를 사용하지 않도록 설정하거나 연결을 끊어 온-프레미스에서 VNet 중 하나로의 연결을 중단합니다. 연결이 요청 시 자동으로 다시 연결되지 않는지 확인합니다.
더 이상 연결되지 않은 VNet의 프라이빗 해결 프로그램을 사용하여 nslookup 쿼리를 실행하고 실패하는지 확인합니다(아래 참조).
기본 DNS 서버(전달자로 구성됨)를 사용하여 nslookup 쿼리를 실행하고 사용하도록 설정한 중복성으로 인해 여전히 작동하는지 확인합니다.
다음 단계
- Azure DNS Private Resolver의 구성 요소, 이점 및 요구 사항을 검토합니다.
- Azure PowerShell 또는 Azure Portal을 사용하여 Azure DNS Private Resolver를 만드는 방법을 알아봅니다.
- Azure DNS Private Resolver를 사용하여 Azure 및 온-프레미스 도메인을 확인하는 방법을 이해합니다.
- Azure DNS Private Resolver 엔드포인트 및 규칙 집합에 대해 알아봅니다.
- 프라이빗 해결 프로그램을 사용하여 하이브리드 DNS를 구성하는 방법을 알아봅니다.
- Azure의 몇 가지 다른 주요 네트워킹 기능을 알아봅니다.
- 학습 모듈: Azure DNS 소개