[Azure Private DNS Resolver 아키텍처]

[인바운드 엔드포인트]
이름에서 알 수 있듯이 인바운드 엔드포인트느 Azure로 수신된다.
온-프레미스 및 가상 네트워크 외부의 다른 위치에서 DNS 쿼리를 전달하기 위한 IP주소를 제공한다.
인바운드 엔드포인트로 전송된 DNS 쿼리는 Azure DNS를 사용하여 확인된다.
(그러므로, 사내 DNS Server로 사용자 지정 도메인을 만들어서 사용하고 있다면 해당 도메인은 Azure DNS에서 쿼리가 되지 않으므로 사내 DNS Server에 사용자 지정 도메인과 IP를 설정해줘야한다. 즉, Azure Private DNS Zone에 있는 도메인들만 쿼리가 가능하다.)
! 인바운드 엔드포인트가 잇는 동일한 서브넷에는 다른 리소스가 있을 수 없다.
[아웃바운드 엔드포인트]
아웃바운드 엔드포인트는 Azure에서 송신되며 DNS 전달 규칙 집합에 연결할 수 있다.
아웃바운드 엔드포인트는 서브넷과 연결되지만 인바운드 엔드포인트와 같은 IP 주소로 프로비저닝되지 않는다.
! 아웃바운드 엔드포인트가 있는 서브넷에는 다른 리소스가 있을 수 없다.
[DNS전달 규칙 집합]
DNS 전달 규칙 집합을 사용하면 특정 DNS 네임스페이스에 대한 쿼리에 답변하기 위해 하나 이상의 사용자 지정 DNS 서버를 지정할 수 있다.
규칙 집합은 하나 이상의 가상네트워크에 연결되므로 vNet 리소스에서 사용자가 구성한 전달 규칙을 사용할 수 있다.
! 주의
1) 단일 규칙 집합은 하나의 DNS Private Resolver 인스턴스에 속하는 최대 2개의 아웃바운드 엔드포인트와 연결 가능하다. 하지만 두개의 DNS Private Resolver 인스턴스에는 연결되지 않는다.
2) 규칙 집합에는 최대 1000개의 DNS 전달 규칙이 있을 수 있다.
3) 규칙 집합은 동일 지역에 있는 최대 500개 가상 네트워크와 연결이 가능하다. 다른 지역의 가상 네트워크에 연결할 수 없다.
[규칙 집합 링크]
규칙 집합을 가상 네트워크에 연결하면 해당 가상 네트워크 내의 리소스는 연결된 규칙 집합을 통해 DNS 전달이된다.
Hub & Spoke 시나리오에서 Spoke vnet은 Hub에 있는 Private DNS Zone에 가상네트워크 링크 연결할 필요없이 Hub&Spoke가 peering 되어 있기 때문에 Hub에 있는 Azure Private DNS Resolver를 사용할 수 있고 규칙 집합 링크를 통해 해당 영역의 리소스 레코드를 확인할 수 있다. 이 경우 규칙 집합 링크를 통해 Private DNS Zone 쿼리하기 위해 hub vnet 인바운드 엔드포인트로 질의를 보낸다. 예: azure.contoso.com을 10.10.0.4(인바운드엔드포인트)로 보낸다.
[하이브리드 DNS 테스트]
1. Azure DNS Private Zone 생성
2. Azure DNS Private Resolver 생성
3. Azure DNS 전달 규칙 집합 구성
4. 온-프레미스 DNS 조건부 전달자 구성
5. 하이브리드 DNS 시연
1. Azure DNS Private Zone 생성
테스트에 사용할 리소스 레코드가 하나 이상 있는 Private Zone을 만듭니다.
Private Zone azure.cheolee.com과 리소스 레코드 test가 사용됩니다.

Azure DNS Private Resolver가 배포되어있는 가상네트워크와 Azure Private DNS Zone을 가상 네트워크 링크로 연결시켜줍니다. 다음 예에서는 두 개의 가상네트워크와 연결되어 있습니다.
vnet-terzmy 가상네트워크(Korea Central)에 Azure DNS Private Resolver가 배포되어 있습니다.
vnet-terzmy-01 (Southeast asia) 가상네트워크는 하이브리드 DNS 데모용으로 사용됩니다.

2. Azure Private DNS Resolver 생성
Azure Private DNS Resolver를 생성하고 Inbound IP를 생성합니다.
이 IP주소는 나중에 온-프레미스 DNS 조건부 전달자를 구성하기 위함입니다.
이 IP를 통해서 Azure DNS 쿼리가 되고 Azure Private DNS Zone에 있는 도메인으로 접근 가능하게 됩니다.

Azure DNS 전달 규칙 집합 구성 전 Oubound endpoint를 생성합니다.
아웃바운드 엔드포인트는 규칙 집합에 지정된 DNS 서버에 도메인 이름 확인 요청을 전달할 수 있습니다.
구성을 완료하려면 나중에 DNS 전달 규칙 집합을 구성하여야합니다.

3. Azure DNS 전달 규칙 집합 구성
Azure Private DNS Resolver와 동일한 지역에 전달 규칙 집합을 생성합니다.
일단, 규칙은 진행하지 않고 리소스를 만들었습니다.


vnet-terzmy-01(Southeast asia)에 있는 가상머신(DNS Server)에서 vnet-terzmy(KoreaCentral)에 있는 Azure Private DNS Resolver를 통해 Azure Private DNS Zone에 있는 test.azure.cheolee.com(10.1.1.1)로 DNS 쿼리를 하기 위해서 다음과 같은 DNS 전달 규칙을 생성하였습니다.
도메인 이름은 azure.cheolee.com로써, Azure Private DNS Zone에 있는 도메인을 설정하였고 대상 IP 포트는 Azure DNS Resolver Inbound IP로 설정하였습니다.

4. 온-프레미스 DNS 조건부 전달자 설정
vnet-terzmy(KoreaCentral)과 vnet-terzmy-01(Southeast asia)와 Peering이 진행되어 네트워크 트래픽 통신이 가능한 가운데 온프레미스으로 가정한 가상머신(vnet-terzmy-01)에서 DNS 조건부 전달자 설정을 진행합니다.

DNS Server에 조건부 전달자 설정 진행 후 test.azure.cheolee.com으로 nslookup 테스트를 진행하였습니다.
정상적으로 Private IP를 반환하는 것을 볼 수 있습니다.

만약, Peering으로 네트워크 트래픽 통신이 되지 않고 Private DNS Zone의 가상네트워크 링크만 연결되어있다면 온프레미스 DNS 조건부 전달자 설정에 Private DNS Resolver Inbound IP(10.0.2.4) 설정이 되지 않습니다.
추가적으로 Peering이 되지 않는 상태에서 10.0.2.4를 통해 test.azure.cheolee.com으로 nslookup을 진행한다면 하기 이미지와 같이 찾을 수 없다는 메시지를 받게 됩니다.

'Azure' 카테고리의 다른 글
| Private Link를 통한 Azure PostgreSQL의 Private Networking (0) | 2024.07.03 |
|---|---|
| [Study] Azure PostgreSQL (0) | 2024.07.03 |
| Azure AppService 사용자 지정 도메인 (0) | 2024.06.17 |
| [Study] DTU와 vCore 차이점 (0) | 2024.06.13 |
| Azure DataFactory HOL (0) | 2024.06.05 |