본문 바로가기

Networking/Route 53

Route53 NS 레코드 위임 문제(재귀쿼리) 및 DNS Query 트래픽, 로그 확인

기존 DNS 서버에서 Route53으로 NS 레코드를 이관할 때, Route53에서 위임된 다른 NS에 정의된 레코드들을 응답받지 못한다.

 

가령 아래와 같이 DNS 쿼리를 수행했을 경우, Route53에서 app.testhtm.com을 다른 NS로 위임했을 때 A레코드까지 질의되지 않는 경우다. 

 

dig +trace app.testhtm.com @ns-638.awsdns-15.net 와 같이 질의한 경우, NS 레코드까지만 응답.

 

로컬 DNS를 Route53으로 지정하고 Query를 하면 NS에 대한 DNS 재귀쿼리(Recursive Query)까지는 수행되지 않는다. 

이 경우 NS 레코드 값을 받았으나, 상위(?), 이전(?) DNS가 없기 때문에 Route53에 등록한 NS까지만 받게 된다.

 

따라서 실제 Zone Apex를 Route53의 NS로 변경했을 경우에 A 레코드까지 응답을 확인할 수 있다.

따라서 로컬 DNS를 Route53으로 변경하고 위임한 NS에서 재귀쿼리가 수행되지 않아 A레코드는 응답받지 못한 경우, 즉 NS 레코드까지만 응답 받아도 정상적인 DNS 질의로 판단한다.

 

 

Route53 이관 후 DNS Query 트래픽 및 로그 확인

Route53 DNS Query 트래픽 확인

Route53으로 NS를 변경한 후에는 CloudWatch Metric Route53 > Hosted Zone Metrics를 통해 DNS Query 수치를 확인할 수 있다.

 

Route53과 CloudFront의 경우 Global 서비스로 AWS Web Console의 우측 상단에서 N.Virginia를 선택.

좌측 Metrics 클릭 -> Route53 -> Hosted Zone Metrics 를 선택.

 

 

그리고 하단 네비게이터에서 Graphed metrics 선택 후 Statistic을 Sum 으로 하고 Period를 1~5분을 선택.

 

 

 

 

Route53 DNS 로그 확인

Route53 DNS 로그는 CloudWatch Logs에서 확인할 수 있습니다. CloudWatch logs와 연동하기 위해 아래와 같이 수행.

 

Route53 Hosted zones의 우측 설정창에서 Query Logging의 Configure query logging을 선택.

 

 

CloudWatch Logs에서 해당 호스트의 로그를 확인할 수 있게 이름을 지정하고, Create policy and test permissions을 클릭.

CloudWatch Logs resource poilcy의 경우 Route53이 CloudWatch에 Log를 쌓을 수 있는 권한을 생성하는 설정.

 

 

그럼 다시 N.Virginia의 CloudWatch Logs -> Log groups으로 가시면 이전에 생성한 Path로 Log 그룹이 생성된 것을 확인.

 

 

로그 포맷 및 구체적인 내용 확인은 아래 도큐먼트 참고

 

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/query-logs.html

 

docs.aws.amazon.com