Tonic 's lesson learned


AWS Route53에 도메인 연결 후 제대로 동작하지 않을 때

AWS와 구매한 도메인을 연결하는 방법

고대디(godaddy)나 가비다(gabia) 등 다른 곳에서 구매했거나 이미 가지고 있는 도메인을 AWS 서비스와 연결하려면 일반적으로 2가지 방법이 있다. (아마존에서 구매하는 방법은 논외로 한다.)

  1. 도메인 구입처의 DNS를 사용 도메인을 구매한 곳의 DNS를 사용하고 해당 DNS의 존(Hosted zone) 파일에 레코드 셋을 설정
  2. AWS Route53의 DNS를 사용 도메인을 구매한 곳에 DNS를 AWS의 Route53에서 제공하는 DNS로 설정하고 Route53에 레코드 셋을 설정

지금 여기서 이야기하려는 부분은 2번 ‘AWS Route53의 DNS를 사용’하는 경우다

시간이 꽤 지났는데도 왜 DNS 탐색이 안되는 걸까?

도메인 구입처, 여기서는 편의 상 고대디로 예를 들겠다. 고대디에서 Route53의 DNS로 설정한 다음 Route53에서 레코드 셋을 설정하면 문제없이 정상적으로 동작한다. 하지만 나의 경우 Route53의 존(Hosted zone) 파일을 - 여러가지 테스트와 설정 변경 때문에 - 삭제했다 재설정하기를 반복했는데 이 과정에서 도메인이 정상적으로 DNS를 찾고 레코드셋을 탐색하지 못하는 것을 발견했다. 아무리 퍼지는데(Propagation period) 시간이 걸린다 하더라도 너무 이상했다.

  1. dig나 nslookup 명령으로도 정상적으로 탐색되지 않는 것을 알 수 있었고,
  2. 내가 자주 애용하는 서비스인 DNS 탐색도구 neustar에서도 정상적으로 보이지 않았다.

AWS Route53의 존(Hosted zone) 파일을 생성할 때 NS 레코드를 잘 보자.

지금까지 경험했던 도메인 판매 업체나 호스팅, 네임서버 제공업체에서는 존(Hosted zone) 파일과 관련없이 동일한 DNS를 제공하는 곳이 대부분이었다. 그래서 AWS의 Route53도 그런 줄 알았다. 그래서 처음 생성했던 존(Hosted zone) 파일에 입력되어 있던 NS 레코드의 주소가 AWS에서 공통적으로 사용하는 주소인 줄 알았다. 그런데 그게 아니었다. AWS Route53의 DNS는 존(Hosted zone) 파일을 생성할 때 마다 바뀐다.

이런 이유로 이전 존(Hosted zone) 파일을 생성했을 때 DNS 주소를 (당연히 바뀌지 않는 줄 알고) 그대로 썼던게 화근이었다. 혹시 AWS Route53에 구매한 도매인을 연결해 쓰는데 잘 동작하지 않는다면 이 내용을 다시 확인해보자.

aws-route53-ns.png