본문 바로가기
Azure/Azure Infra & Networking

Azure Networking - Private Resolver를 활용한 Hybrid DNS 구성

by ww0610 2026. 1. 27.

개요

온프레미스 환경과 Azure 환경을 함께 사용하는 경우 정의해야 할 문제 중 하나는 DNS입니다.

 

온프레미스에서는 내부 AD DNS를 이용 중일테고

Azure에서는 PaaS 서비스들은 Azure DNS를 이용한 PrivateLink로 연결되기 때문에

두 환경 간 DNS 체계를 자연스럽게 연결하지 않으면 굉장히 골치 아파집니다.

 

Azure Private DNS Resolver를 사용해 온프레미스 DNS와 Azure Private DNS Zone을 연결하는
Hybrid DNS 구조를 구성한 뒤

온프레미스 DNS → Azure Private DNS Resolver → Private DNS Zone → Azure SQL Private Endpoint

 

Azure SQL Server라는 PaaS 서비스가

온프레미스 DNS 환경에서 FQDN이 Private IP로 해석되는 것까지 확인해 보겠습니다.

구성 요소

.

온프레미스 DNS는 내부 도메인(corp.local)을 직접 해석하고,
Azure Private Endpoint 관련 도메인에 대해서는 Azure Private DNS Resolver로 질의를 전달합니다.
Resolver가 온프레미스 ↔ Azure 간 양방향 DNS 해석을 중계하는 구조입니다.

진행 과정

VNet 생성 및 서브넷 연동

먼저 모든 네트워크의 기초...인 VNet 부터 생성해 줍니다.

.

대역대는 10.10.0.0으로 설정하였습니다.

Azure Portal에서 IP 대역대를 설정
.

서브넷은 총 3개를 추가해 주도록 합니다.

.

온프레미스 DNS가 쓸 서브넷

Azure VNet에서 Hybrid DNS 실습을 위한 on-premises DNS 시뮬레이션 서브넷 구성
.

나중에 테스트로 사용할 VM용 서브넷입니다.

Azure Hybrid DNS 환경에서 워크로드 VM용 subnet 구성
.

Azure Private DNS Resolver는 특이.. 하면서도 어쩌면 당연한 게

DNS 질의의 Inbound와 Outbound 흐름을 분리하기 위해 전용 서브넷 2개를 사용합니다.

 

Inbound는 온프레미스 DNS 서버가 → Azure로 DNS 질의를 보낼 때 들어오는 입구인 거고

Outbound는 Azure Private DNS Resolver가 → 다른 DNS 서버로 질의를 전달할 때 사용하는 출구입니다

 

또한 관리형 서비스 특성상 안정성을 위해 최소 /28 이상의 주소 공간을 요구합니다.

Azure Private DNS Resolver Inbound Endpoint 전용 서브넷 구성
.


On-premise DNS 역할 VM 구성

이제 온프레미스 DNS 역할을 할 VM을 만들어줍니다.

Hyper-V에 이미 DNS가 있다면 이 부분은 생략해도 됩니다.

온프레미스DNS를 Azure에서 만드는 과정
.

서브넷은 아까 생성해 둔 것을 선택합니다.

.

VM이 생성되었다면 동적으로 설정되어 있는 IP를 정적으로 할당해,

Azure Private DNS Resolver의 포워딩 대상 IP가 변경되지 않도록 고정해 줍니다.

Azure VM NIC static private IP configuration for on-premises DNS server
.
.
.

맨날 리눅스만 보다가 윈도우를 보니 Microsoft 주가가 이해됩니다.

서버 매니저에서 Add Roles and Features를 클릭해 줍니다.

Windows Server Manager에서 DNS 역할 추가 화면 (온프레미스 DNS 서버 구성, Hybrid DNS)
.

온프레미스 DNS 역할을 수행할 Windows Server에 DNS Server 역할을 추가해,

Azure Private DNS Resolver와 연동될 기준 DNS 서버를 준비해 줍니다.

Windows Server Manager에서 DNS 역할 추가 화면 (온프레미스 DNS 서버 구성, Hybrid DNS)
.
.

이제 새롭게 추가가 된 DNS Manager에 들어가 줍니다.

.

온프레미스 DNS 서버에 Zone을 생성해,

내부 도메인에 대한 해석을 담당할 기준 DNS 영역을 구성해 줍니다

Windows DNS Manager에서 새 Forward Lookup Zone 생성 화면 (corp.local 존 구성)
.

놀랍게도 위자드가 따로 있습니다 호그와트라 해도 믿겠습니다.

.

온프레미스 DNS 서버가 직접 레코드를 관리하도록 Primary Zone으로 구성합니다.

Windows DNS New Zone Wizard에서 Primary Zone 선택 화면
.
Windows DNS Manager에서 corp.local Forward Lookup Zone과 A 레코드 구성 화면
.

온프레미스 DNS 서버에 corp.local 존을 생성하고 dc01에 대한 A 레코드를 등록해 줍니다.

.
Windows DNS Manager에서 corp.local Forward Lookup Zone과 A 레코드 구성 화면
.

Azure VM이 이름 해석 시 Azure 기본 DNS가 아니라

온프레미스 DNS 서버를 먼저 사용하도록 다음과 같이 설정해 줍니다.

Azure VM 네트워크 인터페이스에서 사용자 지정 DNS 서버를 온프레미스 DNS IP로 설정한 화면
.

Azure VM이 온프레미스 DNS 서버를 사용하고 있음을 확인할 수 있었습니다.

nslookup으로 corp.local 내부 도메인 조회가 정상 응답되는 화면
.


Private DNS Zone 생성

추후에 만들 Azure SQL과 같은 Private Endpoint 리소스는 공용 DNS가 아니라

privatelink 같은 전용 DNS 영역을 통해서만 Private IP로 해석됩니다

그래서 Hybrid DNS에서 Azure 리소스를 정상적으로 접근하기 위해서는 Private DNS Zone가 필요합니다.

Azure Portal에서 프라이빗 DNS 영역 목록 화면
.

이름은 적절하게 선택해 줍니다.

Azure Private DNS Zone Virtual Network Link 설정 화면, 자동 등록 비활성화 구성
.

해당 VNet에 연결해 준 뒤 자동 등록은 일부러 껐는데요

이걸 켜면 VNet에 붙은 모든... IP들이 자동으로  Private DNS Zone에 등록되는데

 

이번 실습은 온프레미스 DNS → Azure Private DNS Resolver → Private DNS Zone → Azure SQL Private Endpoint

이 흐름이 동작함을 증명하는 과정이므로 껐습니다.

 

 

Azure Private DNS Zone에 Virtual Network Link를 수동으로 연결하는 설정 화면
.
.


Private DNS Resolver 생성

온프레미스 DNS가 Azure Private DNS를 조회할 수 있게 해주는 중간 다리입니다.

Azure DNS 프라이빗 리졸버 생성 시작 화면
.

이 또한 기존 VNet에 붙여줍니다.

Azure DNS 프라이빗 리졸버 생성 화면
.

온프레미스 DNS가 질의를 보낼 Azure 쪽 수신 지점을 설정해 줍니다.

.

이전에 만들어둔 서브넷을 선택합니다.

.

아웃바운드도 동일하게 설정해 줍니다.

.

Azure에서 온프레미스 DNS로 전달할 규칙을 정의하기 위해 ruleset을 구성해 줍니다.

Azure DNS 프라이빗 리졸버 Ruleset 생성 및 Outbound Endpoint 선택 화면
.


DNS Forwarding 구성 (양방향)

Azure 쪽에서 corp.local 요청이 오면, 자체 해석하지 않고 온프레미스 DNS로 그대로 넘기기 위한 규칙을 설정해 주고

Azure DNS Private Resolver ruleset에서 corp.local 도메인을 온프레미스 DNS(10.10.1.4)로 전달하는 조건부 포워딩 규칙
.

이번에는 온프레미스 DNS가 Azure 도메인 질의를 받았을 때 Azure Private Resolver로 전달하도록 구성하는 반대 설정입니다.

Windows DNS에서 Azure Private Resolver로 향하는 Conditional Forwarder 설정
.
.

여기가 이제 온프레미스 DNS가 Azure 쪽 이름 해석을 던질 때 최초를 받아들이는 지점입니다.

.
온프레미스 DNS에서 nslookup으로 corp.local 및 privatelink.database.windows.net 조회 테스트


Azure  SQL Private Endpoint 연결

온프레미스 → Azure 방향 이름 해석이 정상 동작하는지 그리고

privatelink.database.windows.net 전용 Private DNS Zone이 실제로 생성·연결되는지 확인하기 위해

Azure SQL을 하나 생성해 Private Endpoint를 붙여보겠습니다.

Azure SQL 논리 서버 생성 화면 (Private Endpoint 및 Private DNS 테스트용)
.

Public IP를 disable 하고

.

Private Endpoint를 생성해 줍니다.

.

기존의 Private DNS 영역과 통합해 준 뒤

.

다시 온프레미스 DNS에서 질의했지만

database.windows.net 요청이 Azure Private DNS Resolver를 통해 처리되어,

퍼블릭 FQDN이 내부적으로 privatelink.database.windows.net로 변환되고

Private Endpoint IP로 정상 해석되는 것을 확인할 수 있었습니다.

Hybrid DNS 환경에서 Azure SQL FQDN(nslookup terrysqlldb.database.windows.net) 조회 결과
.


참고자료

프라이빗 엔드포인트란? - Azure Private Link | Microsoft Learn

 

프라이빗 엔드포인트란? - Azure Private Link

이 문서에서는 Azure 프라이빗 링크의 프라이빗 엔드포인트 기능을 사용하는 방법을 알아봅니다.

learn.microsoft.com

 

 

Azure 프라이빗 DNS: 가상 네트워크에 대한 보안 DNS | Microsoft Learn

 

Azure 프라이빗 DNS: 가상 네트워크에 대한 보안 DNS

Azure 프라이빗 DNS가 사용자 지정 솔루션 없이 가상 네트워크에 대해 안전하고 신뢰할 수 있는 DNS 관리를 제공하는 방법을 알아봅니다. 기능과 혜택을 탐색하고 지금 시작하세요.

learn.microsoft.com

 

 

반응형