[DNS] Azure DNS 와 AWS Route 53 의 결정적 차이

DNS
작성자
Roronoa
작성일
1970-01-01 00:00
조회
6362
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/ 를 참조할수 있다. SLA 는 99.99% 보장한다.  사실 SLA에 대해 할말이 많다. 이거 실제 사용가격이 얼마 되지도 않는데 SLA 보장한다고 해서 실제로 만약 Azure DNS가 문제가 생겨도 문제가 생긴 시간만큼 보장되는데 한달동안 고장나도 얼마 안되는 보상이다. 서비스에 대한 SLA가 필요하다고 생각된다.  추가 적으로 AWS의 Route53 보다 안정성은 모르겠지만 기능은 부족하다.  예를들어 Alias Target의 경우 Azure 의 리소스와 바로 연동되는 기능등등... 사실 기능보단 안정성에 대한 장기적 테스트가 필요할듯 하다. 언젠가 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 DNS가 Traffic Manager와 함께 쓰면 (Nested Traffic Manager)  Route  53보다 훨씬 다양한 시나리오를 커버할수 있다. 

Route 53의 기능은 

  1. 네임서버

  2. Alias

  3. 모니터링

  4. L4

  5. GSLS


그러나 Azure DNS에서 는 Alias 를 지원하지 않는다. (이제 가능)
위에 Alias 를 지원하지 않는다. 예전에 4-5년 전만에도 Route 53도 이기능이 없었다. 그래서 예전에도 무식하게 EC2에 이것을 Redirect 시켜서 썻었다. 이 기능이 가장 중요한 포인트는 Apex Domain(Naked Domain) 즉 www.naver.com에서 naver.com 을 A record에 지정 할 수 없다. 원래 DNS 기본 룰에서 A record를 지정할 수 없고 redirect를 www로 연결해야지 되는게 기본 룰이나. AWS Route 53에서는 Alias로 이것을 지정 할수 있게 만들었다.  현재 이것을 지원하는 업체 는

https://help.iwantmyname.com/customer/portal/articles/1599947-do-you-support-alias-or-aname-dns-records-

이 업체들이다.  이것을  AZure에서  구현 한다면 A record에서 CNAME으로 redirect로 지정할 수 있으나 Traffic Manager에 지정하는 방법은 없다. 왜냐하면 Traffic Manager는 고정아이피를 지정하는 기능이 없으므로..... 그러면 어떻게 해결할 것인가? VM을 하나 생성해서 Apex도메인을 WWW로 Redirect 시키는 무식한 예전방식을 써야한다. 그러므로 Traffic Manager에 고정아이피를 주던지 아니면 Azure DNS에  Alias 기능을 주던지 하는 기능이 나와야 한다. (이제 된다)


밑에 링크로 가서 투표좀 해주면 빨리 이기능을 만들어줄수 있을듯 하다. 

https://feedback.azure.com/forums/217313-networking/suggestions/5485350-support-apex-naked-domains-more-seamlessly

002 compute-multi-vmAzure DNS 를 만들어 보자

  1. 포털접속

  2. Azure DNS 생성(지역에 상관없이 전역적)

  3. DNS 레코드 만들기

  4. A Record 추가

  5. 아이피는 나중에 세팅

  6. 네임서버 업데이트 Godaddy 의 경우 네임서버 업데이트에 4개의 Azure 네임서버 입력 (. 빼고 입력)

  7. A Record 에 www 와 @ (apex domain) 추가


• A(Address) : 호스트의 IP 주소를 의미하며 도메인 이름을 IP 주소로 변환하는데 사용된다.
NS(Name Server) : 도메인을 관장하는 인증된 네임 서버를 나타낸다.
CNAME(Canonical Name) : 자원에 대한 접근을 단순화하려고 사용되며, 호스트 이름의 별명을 지원한다.
SOA(Start of Authority) : 존의 시작을 표시한다.
WKS(Well-known Services) : 호스트가 제공하는 네트워크 서비스를 정의한다.
PTR(Pointer) : IP 주소를 도메인 이름으로 변환하는 데 사용한다.
HINFO(Host Information) : 호스트 정보를 의미하며, 호스트가 사용하는 하드웨어와 운영체제에 관한 정보를 제공한다.

관련된 좋은 자료 링크

Azure DNS에 관한 링크 https://dimuthublog.wordpress.com/2015/03/31/using-azure-traffic-manager-with-apexroot-domains/
AWS Route 53에 관한 서태호님의 글 https://brunch.co.kr/@topasvga/85




AWS Route53에  ECS 서비스 도메인 등록 https://aws.amazon.com/ko/blogs/korea/amazon-ecs-service-discovery/