Java 에서는 자체적으로 DNS Caching을 하기 때문에 잘 신경 쓰지 않는데...

그 외의 경우... (사실 기본적으로 확인)

가끔, CPU도 놀고, Network도 여유있고, Memory도 여유 있고, Disk io도 여유 있고 (queue depth기준), 암튼 다 노는데.. 애플리케이션 느리 다면 한번쯤 DNS 쿼리 응답 속도를 체크 해볼 필요성이 있다.

그냥 로컬 DNS Caching 서비스를 설치하면 바로 개선이 보인다.

다면 Caching 시간은 Failover등으로 IP가 변경 될 수 있음을 고려할때, 초 단위로 짧게 하는게 맞을 듯 하다.

전통적으로 nscd 와 dnsmasq를 많이 쓰는듯하고. bind9 되고.. (갈수록 기능이 많고 덩치가 커짐)

AWS는 공식적으로 dnsmasq를 가이드 하는듯.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/dns-resolution-failures-ec2-linux/

'Cloud' 카테고리의 다른 글

DNS Cache  (0) 2019.06.12
Terraform에서 user_data를 파일로 지정하고 싶을 때  (0) 2018.06.14
cloud-init example  (0) 2018.06.13
Magic Quadrant for IaaS, Worldwide  (0) 2018.05.29


가끔 외부에서 Cloud의 내부 DNS를 써야 할 경우가 있다.

그럴 경우 NGINX에서 TCP 53/UDP 53을 Reversy Proxy 해도 되고,

보다 편하게 할려면 Proxy DNS를 쓰면 된다. (DNS 캐싱 기능도 있음)


# 설치

wget http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par_sl6.x86_64.rpm

yum localinstall pdnsd-1.2.9a-par_sl6.x86_64.rpm


#/etc/pdnsd.conf를 열어서 해당 서버의 IP와 DNS IP를 설정한다.

vi /etc/pdnsd.conf

global {

        server_ip = 169.56.100.100; #해당 서버의 Public IP로 바꾼다.

}


server {

        ip = 10.0.80.11; #Cloud의 내부 DNS 주소를 적는다. (Softlayer: 10.0.80.11)

#AWS의 내부 DNS 주소는 링크 참고, https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_DHCP_Options.html#AmazonDNS

}


systemctl restart pdnsd

systemctl enable pdnsd



#방화벽에서 특정 IP만 열고 싶다면

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="1.2.3.4/32"  port protocol="tcp" port="53" accept"

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="1.2.3.4/32"  port protocol="udp" port="53" accept"

#전체를 열려면

firewall-cmd --permanent --zone=public --add-service=dns


'OS > Linux' 카테고리의 다른 글

nodejs 설치 in CentOS  (0) 2019.03.21
CentOS 7 Full NAT 설정, Secondary IP 추가  (0) 2018.11.05
pdnsd로 DNS Proxy 설정하기  (0) 2018.11.05
firewalld 설정  (0) 2018.11.04
SAMBA 설치 at CentOS 7  (0) 2018.08.29
vimdiff 사용법  (0) 2018.04.21

+ Recent posts