안녕하세요.
"PaaS형 DNS 서버 역할을 수행하는 Azure Private Resolver 알아보기!" 포스팅으로 돌아온 TAK 입니다.
지난 번 "AWS-Azure VPN S2S(Site-to-Site) 연결과 DNS 서버 구성" 이라는 주제로 글을 작성했습니다.
이번에는 조금 더 확장하여 Azure에서 제공하는 PaaS형 DNS 서버 역할을 수행하는 Azure Private Resolver에 대한 내용을 이야기 해보려 합니다!
1. 정의
Azure Private Resolver를 정의하자면 다음과 같습니다.
VM 기반 DNS 서버를 배포하지 않고 온-프레미스 환경에서 Azure DNS 프라이빗 영역을 쿼리하거나 그 반대로 쿼리할 수 있는 새로운 서비스
즉, 이전 포스팅에서 구성한 DNS 서버 구성할 필요 없이 Cloud 내부에서 인프라 구성 시에 보다 효율적으로 사용 가능한 리소스 입니다.
Azure의 모든(혹은 대부분)의 PaaS형 리소스들은 DNS 기반으로 동작합니다.
이에 온-프레미스 혹은 다른 CSP 환경에서 Private 구성(Private Endpoint - Private Link)된 Azure PaaS 리소스들을 쿼리할 때, DNS서버 혹은 hosts 파일에 정보를 등록하여 액세스 및 사용 가능합니다.
이 때 보다 많은 PaaS형 리소스 사용 혹은 Cloud Native 환경이라면 활용하기 좋은 리소스라고 생각됩니다.
2. 작동 방식
쿼리 프로세스를 요약하자면 다음과 같습니다.
(예시에서는 Express Route를 사용했지만, VPN 연결로 이해하셔도 무방합니다.)
- 가상 네트워크 환경의 Client 에서 DNS 쿼리를 실행합니다.
- Client 환경의 가상 네트워크에 대한 DNS 서버가 Azure로 향하는 구성(즉, (조건부) 전달자)이 되어 있다는 가정으로, 쿼리를 지정된 IP 주소로 전달합니다.
- 전달 받은 정보를 기반으로, Azure DNS 서버(Default )가 VNet에 구성되어 있으며, 동일한 VNet에 연결된 Private DNS Zone이 있는 경우에는 해당 영역을 참조합니다.
- 만약 쿼리가 VNet에 연결된 Private DNS Zone과 일치하지 않는다면, DNS 전달 규칙 집합에 대한 가상 네트워크 링크를 참조합니다.
- 규칙 집합 링크가 없는 경우, Azure DNS를 사용하여 쿼리를 확인합니다.
- 규칙 집합 링크가 있는 경우, DNS 전달 규칙을 평가합니다.
- 접미사가 일치하는 경우, 쿼리를 지정된 주소로 전달합니다.
- 여러 항목이 일치하는 경우 가장 긴 접미사를 사용합니다.
- 일치하는 항목이 없는 경우 DNS 전달을 수행하지 않고 Azure DNS를 사용하여 쿼리를 확인합니다.
3. 구성
아래 구성은 이전 포스팅한 구성을 기반으로 한 정리임을 알려드립니다.2023.11.29 - [TOPIC/Cloud] - 1부 : AWS-Azure VPN S2S 연결 및 DNS 서버 구성
위 아키텍처의 구성처럼 Azure Private Resolver의 경우, 동작을 위한 별도의 Virtual Network를 구성하여야 합니다.
또한, DNS 확인자 역할을 하는 InBound / OutBoud 엔드포인트를 배포하는 Subnet의 경우에도 Microsoft.Network/dnsResolvers에만 위임하기 때문에 다른 리소스(서비스)를 사용이 불가합니다.
3-1. 배포를 위한 기본 및 제약 사항 확인
3-2. 인/아웃 바운드 엔드포인트 추가
- 인바운드 엔드포인트
- DNS 질의 시, 도메인 이름 확인 요청 받을 수 있는 인바운드 엔드포인트 구성
- AWS DNS 서버의 조건부 전달자 설정에 대한 IP 주소
- Static 사설 IP 할당
- 위와 같은 방식으로 아웃바운드 엔드포인트 추가
3-3. Ruleset
현 구성은 AWS Client > Azure Storage Account 에 대한 질의로,
아웃바운드 엔드포인트 기준으로 DNS 트래픽에 대한 조건부 전달 규칙은 필요하지 않습니다.
→ Azure Private Resolver를 사용함으로
Azure에 DNS 서버 구성과 Forwarder 구성 할 필요 없이, DNS Private Resolver를 통해 전달 가능합니다.
4. 최종 구성 및 테스트
- AWS DNS 서버 조건부 전달자 구성의 IP 주소를 인바운드 엔드포인트 정적 IP 주소를 추가합니다.
- 기존 Azure의 DNS 서버의 사설 IP 주소를 그대로 둔다면, 해당 서버 OFF 상태이어야 합니다.
- 또한, 명령어(ipconfig /flushdns) 를 사용하여 DNS 서버의 캐시값을 초기화 한 후에 클라이언트에서 질의해야 해당 구성의 목적에 맞게 정상적인 테스트 할 수 있습니다. (혹은 인바운드 엔드포인트 IP만 등록)
- 결과
"AWS-Azure VPN S2S(Site-to-Site) 연결과 DNS 서버 구성" 글의 확장으로 시작한 이번 포스팅을 마치겠습니다.
감사합니다:)
'TOPIC > Cloud' 카테고리의 다른 글
Azure Cloud Shell에 Private하게 접근하기 (2) (1) | 2024.04.03 |
---|---|
Azure Cloud Shell에 Private하게 접근하기 (1) (0) | 2024.04.01 |
2부 : AWS-Azure VPN S2S 연결 및 DNS 서버 구성 (1) | 2023.12.06 |
1부 : AWS-Azure VPN S2S 연결 및 DNS 서버 구성 (1) | 2023.11.29 |
Azure Firewall의 SNAT와 DNAT 공부 하기 (1) | 2023.11.28 |