나의 상황?🤔
기존의 클라우드 서버에 배포해두었던 서비스를
나의 온프레미스 서버로 이전하고, DNS 설정을 바꿔주어야 했다.
이 과정에서 DNS와 네임서버 개념을 잘 구분하지 못해 시행착오를 겪게되었다.
DNS란 Domain Name System의 약자로 DNS는 도메인 이름을 IP 주소로 변환하는 시스템이다.
도메인 이름을 인터넷 프로토콜(IP) 주소로 변환하는 인터넷 표준 프로토콜의 구성 요소이다.
도메인에 매핑되는 ip주소로 변환해주는 서버이다. 즉 네임서버 = DNS 역할을 담당하는 서버 이다.
따라서 도메인 등록시에 네임서버를 지정하고, 해당 네임서버에 연결 설정을 해야한다.
가비아같은 곳에서 도메인을 구입(할당)하게 되면 이 도메인을 특정 ip에 연결하기 위해서 가비아에서 네임서버를 제공한다.
처음에 나는 아마존 네임서버를 이용하여 DNS 관리를 하기 위해aws route 53에 호스팅 영역 생성을 했다, (이 호스팅 영역은 도메인 이름에 대한 DNS 설정을 관리하는 곳) 이 때 NS 레코드가 자동으로 생성되는데 이 레코드는 AWS 네임서버의 주소를 제공한다.
그래서 나는 가비아에서 내 도메인의 네임서버를 이 NS 레코드를 등록해줬었고 이를 완전히 까먹었다 !!...😭
어쨌거나 해결하기 위해
도메인을 구매했던 가비아에 접속해 [my가비아] > [DNS 통합 관리툴]에 접속한다. 그리고 [도메인 정보변경]을 선택하고 내가 설정하고자하는 도메인을 클릭한다.
기존에 ns레코드로 등록되어있던 네임서버를 아래와 같이 가비아 네임서버로 변경하자!
그리고 최종적으로 DNS 레코드를 수정해주었다.
참고로 A타입 레코드는 도메인 이름을 IPv4 주소로 매핑하는 역할을 한다,
암튼 내 도메인이 내 서버ip로 잘 매핑이 되었는지 확인하는 방법에는 두가지가 있다.
1. nslookup 명령어로 확인하기
$ nslookup 내 도메인
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: dosirak.store
Address: 211.xxx.xxx.xxx
여기서 Address 부분에 매핑된 ip를 확인하면된다.
내 서버 ip와 연결되었다면 성공한 것임.
2. https://www.whatsmydns.net
확인하기
https://www.whatsmydns.net 에서 간단하게 내 ip를 검색하면 국가별로 매핑된 ip가 뜬다.
흥미로웠던 건.. 국가별로 dns설정 변경 속도가 꽤 차이가 났다는 것을 눈으로 직접 볼 수 있었던것이다.
러시아, 멕시코, 말레이시아가 좀 반영되는데 오래 걸리더라 ^^
📌 참고로 국가별로 속도가 다른이유는..
DNS 요청을 보낼 때, 사용자의 위치와 네임서버 간의 거리(레이턴시)가 영향을 미치고 더불어 국가별 인터넷 속도, 네트워크 혼잡도, 백본망 품질 등이 DNS 속도에 영향을 주기 때문.
암튼 가비아 네임서버는 이용하지도 않았으면서 DNS 반영 늦어진다고 찡찡댄 나 자신 0점 드립니다..
다음엔 네임서버를 직접 구축해보는것도 재밌을거 같다 (가능한일인가?)
다음엔 nginx L4로드밸런싱으로 돌아오겠읍니다..😉