WIKI
CNAME
CNAME
DNS에서 별칭 도메인을 다른 호스트명에 연결하는 레코드는 어떻게 작동하는가.
Scope
핵심 질문
DNS CNAME record는 hostname을 다른 canonical hostname에 어떻게 연결하며 어떤 제약이 있는가?
Research
핵심 근거
- CNAME은 alias name을 canonical domain name으로 매핑한다.
- 일반 DNS 규칙에서 CNAME이 존재하는 동일 name에는 다른 data record를 함께 둘 수 없다.
- Zone apex에서는 전통적 CNAME 제약 때문에 provider별 ALIAS, ANAME flattening을 사용하는 경우가 있다.
Draft
CNAME은 하나의 hostname을 다른 hostname의 별칭으로 만드는 DNS record다.
예를 들어 app.example.com을 service.vendor.com의 CNAME으로 지정하면 resolver는 먼저 canonical name을 확인한 뒤 그 이름의 A나 AAAA record를 따라간다.
IP 대신 이름을 가리킨다
A record는 직접 IP를 저장하지만 CNAME은 다른 hostname을 가리킨다. SaaS provider가 backend IP를 바꿔도 고객은 CNAME을 변경할 필요가 없다는 장점이 있다.
제약
CNAME이 설정된 동일한 DNS name에는 일반적으로 다른 record를 함께 둘 수 없다. 그래서 zone apex인 example.com 자체에는 전통적 CNAME을 쓰기 어렵다.
DNS provider들이 제공하는 ALIAS나 CNAME flattening은 이 문제를 provider 내부에서 해결하는 기능이다.
핵심
CNAME은 서비스의 공개 hostname과 실제 provider hostname을 느슨하게 연결하는 DNS alias다.