AWS ROUTE53을 이용해 네임서버 이중화하기
ROUTE53으로 네임서버 사용하면 굳이 이중화 할필요는 없다.
이전을 해야하는 번거로움이 있어 기존 네임서버는 놓아두고 이중화 하는 방법을 설명한다.
배경
기존에 DNS 네임서버를 1대 운영중
해당 서버1대가 중지되면 전체서비스가 중지 되는 상태.
AWS ROUTE53을 네임서버로 사용하여 DNS를 이중화 하는 방법이다.
요약
1. AWS의 ROUTE53에 도메인을 추가해 네임서버로 사용한다.
2. 도메인 등록기관에 AWS에서 알려준 네임서버(NS)를 추가한다.
3. 기존 dns서버인 ns3 서버에 AWS에서 지정된 네임서버를 추가한다.
4. 외부에서 www.dns-book.com 이 잘 질의 되는지 확인 해본다.
5. 이제 기존 네임서버인 ns3 서버가 죽어도 AWS ROUTE53에서 DNS질의에 대한 응답을 준다.
작업 절차
1. AWS 의 ROUTER53에 도메인을 추가해, 네임서버로 사용한다.
AWS Console에 접속하여 ROUTE53 에 이중화하고자하는 도메인을 추가한다.
1) ROUTE53 접속
https://console.aws.amazon.com/route53/home#hosted-zones:
2) 이중화 하고자 하는 dns-book.com 이라는 도메인 추가하면 AWSDNS 네임서버4개가 자동 추가된다.
[Create Hosted Zone] - dns-book.com - [Create]
3) 기존 네임서버에 있는 A레코더를 추가한다.
[Create Record Set] - 여기서는 www.dns-book.com 에 대해 추가해 보도록 한다.
2. 도메인 등록기관에 AWS에서 알려준 네임서버(NS)를 추가한다.
일반 사용자가 AWS ROUTE53 네임서버로 접속을 하게 하기위함.
여기서는 ns-183.awsdns-22.com 만 우선 추가해보도록 한다.
3. 기존 dns서버인 ns3 서버에 AWS에서 지정된 네임서버를 추가한다.
ns3 var]# vi dns-book.com.zone
$ttl 6
@ IN SOA ns1 root (
2016010105 ; serial
900 ; refresh (15 mins)
900 ; retry (15 minutes)
604800 ; expire (1 week)
180 ; minimum (3 minutes)
)
NS ns1.dns-book.com.
NS ns2.dns-book.com.
NS ns3.dns-book.com.
NS ns-183.awsdns-22.com.
4. 외부에서 www.dns-book.com 이 잘 질의 되는지 확인 해본다.
1) case 1 - 기존 ns3에서 응답을 주는경우
[root@ns2 var]# dig www.dns-book.com
; <<>> DiG 9.3.2 <<>> www.dns-book.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42983
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.dns-book.com. IN A
;; ANSWER SECTION:
www.dns-book.com. 286 IN A 52.78.95.92
2) case 2 - 새로 추가한 aws route53이 응답하는 경우
ns3 var]# dig www.dns-book.com
; <<>> DiG 9.3.2 <<>> www.dns-book.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 11715
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.dns-book.com. IN A
;; AUTHORITY SECTION:
dns-book.com. 768 IN SOA ns-183.awsdns-22.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
;; Query time: 60 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jul 18 01:43:18 2016
;; MSG SIZE rcvd: 112
ns3 var]# dig @ns-183.awsdns-22.com www.dns-book.com
; <<>> DiG 9.3.2 <<>> @ns-183.awsdns-22.com www.dns-book.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15644
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0
;; QUESTION SECTION:
;www.dns-book.com. IN A
;; ANSWER SECTION:
www.dns-book.com. 300 IN A 52.78.95.92
;; AUTHORITY SECTION:
dns-book.com. 172800 IN NS ns-1407.awsdns-47.org.
dns-book.com. 172800 IN NS ns-1735.awsdns-24.co.uk.
dns-book.com. 172800 IN NS ns-183.awsdns-22.com.
dns-book.com. 172800 IN NS ns-732.awsdns-27.net.
;; Query time: 176 msec
;; SERVER: 205.251.192.183#53(205.251.192.183)
;; WHEN: Mon Jul 18 01:51:44 2016
;; MSG SIZE rcvd: 187
5. 이제 기존 네임서버인 ns3 서버가 죽어도 AWS ROUTE53에서 DNS질의에 대한 응답을 준다.
네임서버 이중화 완료.
장점은 DNS 서버가 이중화 되었다는것
단점은 기존 네임서버와 AWS ROUTE53이 모두 Master로 동작하므로,
www IP 변경시 양쪽에서 모두 변경작업을 해야 한다.
비용
Router53은 500원 ? ^^
사용한 만큼 가격이 나온다 = Hosted Zone + 쿼리수의 합