[DNS] Deep Dive : Azure Private DNS

DNS
작성자
Roronoa
작성일
2020-02-22 11:41
조회
5319
Azure DNS는 무엇인가?

말그대로 Domain Name System이다.  밑에 그림처럼 유저가 www.naver.com으로 접근했을때 naver.com의 주소가 숫자 아이피로

nameserver를 거쳐서 바뀌어서 보내주면 그 주소를  2번의 숫자처럼 1.2.3.4 로 보내준다. 그 보내준 주소값(IP Address) 를 통하여

실제 VM이나 가상컴퓨터 로 접속해주는 것이다. 일반적으로 고우대디나 기타 도메인 업체의 네임서버는 기본값이 2개의 네임서버를

제공하나 Azure의 경우 네임서버는 4개를 기본값으로 제공한다. 가격의 경우 https://azure.microsoft.com/ko-kr/pricing/details/dns/

를 참조할수 있습니다. 처음 25개의 영역당 562.35원이며 처음 100만개 쿼리당 499.86원이므로 가희 엄청나게 싼 가격입니다. 

만약 이 기능의 대부분을 사용하게 된다면 이가격은 미친 싼가격이죠

 

물론 기능을 대부분 쓰지 않고 테스트 용도나 가벼운 용도라면 일반 DNS 무료를 사용하는것이 더 좋은 판단입니다.

SLA 는 99.99% 보장한다.  사실 SLA에 대해 할말이 많다. 이거 실제 사용가격이 얼마 되지도 않는데 SLA 보장한다고

해서 실제로 만약 Azure DNS가 문제가 생겨도 문제가 생긴 시간만큼 보장되는데 한달동안 고장나도 얼마 안되는 보상이다. 서비스에 대한

SLA가 필요하다고 생각된다.. 언젠가 Google DNS와 AWS의 Route53 과 Azure DNS를 퍼포먼스와 부하테스트를 비교해보고 싶다.

 

AWS 의 Route53 과 머가 다른가?

 

우선 Azure의 경우 Azure DNS와 Traffic Manager가 합쳐진 것이 Route53이다. 단순히 Azure DNS 와 Route53은 비교할 수 없으며,

먼저 Azure DNS에서 안되는것이 무엇인가를 보기 전에 Route 53의 기능을 보자. 아마존의 Route 53은 마치 미국 고속도로 Route 1

과 TCP 도메인 포트인 53과 고속도로 Route가 합쳐져서 만들어졌다는 설이 있다. 어떤 이유에서든 모든 유저는 Route 53을 통하여

설정된 아마존의 4개의 도메인서버에서 가용성과 확장성을 가진채 IP 주소와 매칭된다. 또한 트래픽을 흐름에 따라서 지연 시간 기반

라우팅(지연시간에 따라서 연결할 트레픽을 관리), 지역 DNS(접속한 지역에서 가까운 지역으로 연결하는 관리), 가중치 기반 (라운드로빈)

방식으로 전역적으로 분산시킬수 있다. 또한 별도의 도메인 이름의 등록과 DNS의 직접연결도 가능하며 도메인에 대한 모든설정을 관리할수 있다.

자 그럼 무조건 Route 53이 좋냐? 전혀 그렇지 않다. Route 53보다 Azure DNS가 일반적으로 아주약간 빠르다.

거의 같다고 할수 있다. (모호한 표현으로 대처)

 

Azure Private Domain이란 무엇인가?

 

자 이제 메인 요리인 Azure DNS의 Private Domain을 알아봅시다. 이를 알기전에 이미 가상네트워크에 대한 기본을 알고 읽어야 감이 올수 있습니다.

온프레미스 시절부터 실제 네트워크에 Private IP(사설 IP) 주소가 가상네트워크에 적용되며 온프레미스 시절에 네트워크에서도 IP대신 도메인

으로 설정을 원할때 보통 도메인서버를 내부 내트워크에 설정해서 만들곤 했다.(이제 이것이 필요없어진것이다.) 

물론 내부망에 사설 VM이나머신에 도메인 서버 하나 만들어서 각 Private IP를 도메인에 매핑하면 된다. Azure DNS에 원래 이 기능이 없었는데 왜 만들어 줬을까? (필요하니깐 ㅋㅋ)

사설이든지 공개 망이든지 IP 로 연결할때의 장점과 단점이 있으며 도메인으로 연결할때의 장점과 단점이 있지만 일반적으로는 도메인으로 연결하는것이 좋습니다.

단점도 있지만 IP의 경우 소유권이 없어지거나 다양한 이유에 의해 읽기가 쉽고 ....(사실 익숙해지면 아이피따위의 숫자정도)는 물론 100대 넘어가면

슬슬 뇌의 망각기능이 On되기 때문에 ... 아무튼 엄마가 좋냐 아빠가 좋냐 차이를 이렇다라고 결론내고 싶지 않습니다

결론적으로 Azure Private Domain은 Azure Virtual Network의 주소공간(Address Space)의 디바이스에 연결이 가능하여 내부적으로 도메인으로 연동되게 할수 있습니다.

 

2019에 Azure Private DNS의 경우는 Preview 라 다양한 제약이 있었으나 현재는 GA된 상품이라서 포털이나 다양한 제약이 줄어들었습니다 

 

예를들어 파워쉘을 사용해야만 만들수 있었으나 현재는 파워쉘 없이 포털에서도 가능하며 CLI 및 파워쉘도 가능합니다.

 

또한 이미 만들어져있던 가상네트워크에 사용이 불가능했으나 Preview 단계 중에 기능이 추가 되어서 이제는 이미 만들어서 사용중인 가상네트워크에도 사용이 가능합니다.

 

그러나 Preview 기간에 만들어진 Private DNS는 무조건 마이그레이션 하는 작업이 필요했습니다. 

자동등록 기능은 가상네트워크에 Private DNS를 설정하면 자동으로 그 가상네트워크에 있는 VM은 Private IP가 자동으로 등록되고 없어집니다. 그러나 VM DNS

가 활성화 된 위에 경우는 그 가상네트워크를 하나의 Private 영역에만 연결할 수 있습니다

 

프라이빗 영역에 연결된 모든 가상네트워크 에서 정방향 DNS 확인이 가능하며 역방향은 가상네트워크 범위 내만 지원됩니다.

 

시나리오1
002 compute-multi-vm

시나리오1은 단순 가상네트워크 한개에서 Private  DNS 를 통해 내부에 있는 VM을 Private  DNS의 A record에 Private IP를 등록하고

각각 내부 VM에서 서로 DNS 쿼리를 날리면 Private  DNS에서 확인 후 다시 주소를 보내주는 방법입니다. 물론 자동등록가능하며

수동등록도 가능합니다.

 

시나리오2

002 compute-multi-vm

여러개의 네트워크를 프라이빗 영역에 연결하는 일반적인 시나리오입니다. 허브엔  스포크 아키텍쳐에 적합하며 주소공간이

충돌하지 않도록 하고 여러개의 가상네트워크가 한개의 도메인 naver.com으로 공유되면 그 영역이 만들어지고 각 VM들이

Private  DNS에서 한개는 자동등록 다른 한개는 수동등록으로 세팅도 가능합니다.

시나리오3

002 compute-multi-vm

시나리오3번은 두개의 Azure DNS가 필요하며 이 두개가 믹스되어서 들어 올때 시나리오이며 naver.com이라고 Public이 있고 Private도 naver.com이 있다면 이를 믹스해서 사용할 수 있습니다