DNS(Domain Name System)
- web site의 ip와 domain 주소를 이어주는 system입니다.
Name Server(Domain Name Server)
- User가 사람이 읽을 수 있는 문자열(ex: www.amazon.com)의 주소를 query하면 DNS server가 기계가 읽을 수 있는 IP(ex: 192.0.2.44) 주소값을 반환합니다.
- 마치 전화번호부와 같은 기능을 합니다.
- 사용자가 서버의 주소를 요청하는 것을 query라 합니다.
Record
- dns server에서 받은 요청(query)에 대해 반환할 정보입니다. 사용자는 받은 정보(주소)로 서버에 접속합니다.
- DNS 상에서 domain에 관한 설정을 하기 위해 사용되는 설정값입니다.
record 유형
- A: 해당 domain이 가지는 IPv4 주소 정보
- AAAA: 해당 domain이 가지는 IPv6 주소 정보
- CAA: SSL/TLS 인증서 발급 기관 또는 발급 시 email 주소 정보
- CNAME: domain에 대한 query를
다른 domain 또는 하위 domain
으로 mapping하는 정보 - MX: 해당 domain과 연동된 mail server의 정보
- NS: domain에 대한 처리를 위임할 DNS server의 정보
- SOA: 해당 domain의 기본 Name Server, Domain 일련번호, 갱신 주기, 만료 주기, TTL 등의 핵심 정보,
SOA record는 domain 하나당 하나만 존재
- TXT: 문자열 정보, 사용자가 이 record로 정보를 남기는 것이 가능
- PTR: IP 주소 요청에 대해 반환할 domain 정보, A와 반대
DNS Namespace의 최상위 node인 Zone apex(root domain, naked domain)에 대한 CNAME record 생성은 불가능합니다.
하위 domain의 CNAME record를 생성하면 그 하위 domain의 record는 생성이 불가능합니다. 하지만 ALIAS는 zone apex(root domain)에 대한 별칭을 생성 가능합니다. Zone Apex(Root Domain, Naked Domain) sub domain이 붙지 않은 상태로 root domain은 A record만 지정할 수 있습니다.
A vs CNAME A는 IP가 달라질 경우, 변경된 IP로 record 정보를 변경해야 하지만, CNAME은 상위 domain 정보가 변하지 않는한, 정보를 갱신할 필요가 없습니다.
- nslookup: domain 정보를 얻기 위해 사용하는 명령어
참고
- https://aws.amazon.com/ko/route53/what-is-dns/
- https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EB%A0%88%EC%BD%94%EB%93%9C-%EC%A2%85%EB%A5%98-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC#DNS_%EB%A0%88%EC%BD%94%EB%93%9C_%EC%A2%85%EB%A5%98
- https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/ResourceRecordTypes.html
- https://aws.amazon.com/ko/premiumsupport/knowledge-center/route-53-create-alias-records/
- https://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter17