본문 바로가기
Network Know-how 기록하기

[Azure] Azure / On-premise Hybrid DNS 구현(1)

by 네트워크 엔지니어 환영 2025. 8. 9.
반응형
1. Azure 서비스만을 사용해 만든 네트워크 구성도인만큼 On-premise Network 또한 Virtual Network로 생성됩니다.
2. "ExpressRoute"를 비롯한 모든 Virtual Network 연결은 모두 VNet Peering입니다.
3. Virtual Network를 비롯한 VM, Azure Database for MySQL에 대해서는 설명하지 않고 DNS 관련 설정에 집중합니다.
  • Azure Private DNS Resolver / On-premise DNS Server를 활용한 Azure / On-premise Hybrid DNS 구현을 위한 설명
  • Azure의 DNS는 크게 Public DNS와 Private DNS로 나눌 수 있음
    • Public DNS(Azure Provided DNS Service) : Azure에서 제공하는 기본 DNS로 Azure 인프라를 활용하여 Domain Name과 Sub Domain에 대한 기본적인 응답 기능을 제공하는 호스팅 서비스. 168.63.129.16 IP를 사용하여 서비스를 제공하며 Azure DNS에 대한 도메인 등록 기능을 제공하지 않음 
    • Private DNS : Virtual Network 내에서 사용할 Domain Name을 사용자 지정 DNS 솔루션을 구성하지 않고 도메인 이름을 관리하고 확인하는 서비스
  • Azure <> On-premise Hybrid DNS를 포함한 Azure Private DNS 기능을 사용하기 위해서 아래 3가지 서비스를 구현해야 함
    • DNS Private Resolver : VM 기반 DNS 서버를 생성하지 않고도 Azure <> On-premise 양방향의 DNS Query 기능을 사용할 수 있도록 기능을 제공하는 서비스. Inbound Endpoint와 Outbound Endpoint로 나뉨
      • Inbound Endpoint : On-premise 혹은 연결된 다른 Virtual Network(Spoke VNet 등)에서 Virtual Network의 Domain에 대한 Query를 받아주기 위한 진입점
      • Outbound Endpoint : Virtual Network에서 On-premise의 Domain에 대한 Query를 On-premise DNS 서버로 전달(Forwarding)하기 위한 진입점
    • Private DNS Zone : Virtual Network에서 사용되는 (Private)DNS Name을 생성 /관리하는 Virtual Network 전용 DNS 서비스
    • DNS Forwarding Ruleset : (Outbound Endpoint 전용)Outbound Endpoint가 요청 받은 Query에 대해 On-premise DNS 서버로 전달해야하는 Domain의 목록 보관소

Azure < > On-premise Hybrid DNS 테스트 구성

  • On-premise Network(좌측, 검은색), Azure Virtual Network(중앙/하단/우측, 푸른색, Hub-Spoke 구성)
  • On-premise Network에서는 "10.0.0.4" IP를 보유한 DNS Server가 있으며, Azure Virtual Network에는 Hub Virtual Network에 "10.0.1.4" IP를 보유한 DNS Private Resolver(Inbound / Outbound Endpoint), Private DNS Zone, DNS Forwarding Ruleset을 확인할 수 있음

On-premise Network의 Test PC(10.0.0.4)가 "mysql-test-server.privatelink.mysql.database.azure.com"을 질의하여 IP를 획득하는 과정

  1. On-premise-Test-PC(10.0.0.5)가 DNS Server(10.0.0.4)에게 "mysql-test-server.privatelink.mysql.database.azure.com"의 IP에 대한 Query(질의) 요청
  2. DNS Server는 자신의 named.conf 파일에 "privatelink.mysql.database.azure.com"에 대해서 10.0.1.4(DNS Private Resolver Inbound Endpoint)로 전달(Forwarding)해야 함을 확인하고 이를 10.0.1.4에 전달
  3. Query(질의) 요청을 확인한 Inbound Endpoint는 이를 Azure-Provided DNS(168.63.129.16)로 전달
  4. Azure-Provided DNS는 "privatelink.mysql.database.azure.com"에 대한 IP가 10.0.3.4임을 확인하고 응답
    (응답 경로 : Azure-Provided DNS > Outbound Endpoint > Inbound Endpoint > On-premise DNS Server)

Azure VM(10.0.2.4)가 "test.com"을 질의하여 IP를 획득하는 과정

  1. Azure VM(10.0.2.4)이 DNS Private Resolver Inbound Endpoint(10.0.1.4)에게 "test.com"의 IP에 대한 Query(질의) 요청
  2. Inbound Endpoint는 이를 Azure-Provided DNS(168.63.129.16)로 전달
  3. Azure-Provided DNS는 DNS Forwarding Ruleset의 Rule을 통해 "test.com."에 대한 정보를 On-premise DNS Server(10.0.0.4, 53)가 소유하고 있음을 확인하고 Outbound Endpoint에 요청을 전달
  4.  Outbound Endpoint는 Query(질의) 요청을 On-premise DNS Server에 전달하고 On-premise DNS Server는 "test.com"에 대한 IP가 10.0.0.5임을 응답

2편에서 On-premise 서버를 생성하는 방법과 함께 Azure DNS 서비스를 구성하는 방법을 소개하도록 하겠습니다.

 

* On-premise DNS 서버 / Azure DNS 서비스 구성에 대한 기술 지원 및 구성 작성 : KT DS 네트워크팀 박 모, 김 모 책임님

반응형