CNAME 레코드: Difference between revisions
From CS Wiki
(새 문서: '''Canonical Name Record;''' '''캐노니컬 네임 레코드, 줄여서 CNAME 레코드는 하나의 도메인 주소를 다른 주소로 매핑시키는 DNS|도메인 네임 시...) |
No edit summary |
||
Line 1: | Line 1: | ||
* '''상위 문서: [[DNS 자원 레코드]]''' | |||
'''Canonical Name Record;''' | '''Canonical Name Record;''' | ||
'''캐노니컬 네임 레코드, 줄여서 CNAME 레코드는 하나의 도메인 주소를 다른 주소로 매핑시키는 [[DNS|도메인 네임 시스템(DNS)]]의 [[DNS 자원 레코드|자원 레코드]]의 일종이다.''' | '''캐노니컬 네임 레코드, 줄여서 CNAME 레코드는 하나의 도메인 주소를 다른 주소로 매핑시키는 [[DNS|도메인 네임 시스템(DNS)]]의 [[DNS 자원 레코드|자원 레코드]]의 일종이다.''' | ||
== 관련 표준 == | ==관련 표준== | ||
* <nowiki>RFC 1034</nowiki>에 정의 | *<nowiki>RFC 1034</nowiki>에 정의 | ||
* <nowiki>RFC 2181</nowiki>의 섹션 10에 세부내용 명시 | *<nowiki>RFC 2181</nowiki>의 섹션 10에 세부내용 명시 | ||
== 사용 편의성 == | ==사용 편의성== | ||
* 하나의 IP 주소로부터 여러 개의 서비스를 실행할 때(예: 각기 다른 포트로 각각 구동되는 FTP 서버와 웹 서버 등) 편리함을 입증할 수 있다. 이를테면 ''ftp.example.com''과 ''www.example.com''를 (IP 주소를 가리키는) A 레코드를 보유한 ''example.com''의 DNS 엔트리를 가리킬 수 있다. | *하나의 IP 주소로부터 여러 개의 서비스를 실행할 때(예: 각기 다른 포트로 각각 구동되는 FTP 서버와 웹 서버 등) 편리함을 입증할 수 있다. 이를테면 ''ftp.example.com''과 ''www.example.com''를 (IP 주소를 가리키는) A 레코드를 보유한 ''example.com''의 DNS 엔트리를 가리킬 수 있다. | ||
* IP 주소가 변경이 될 경우 네트워크 안의 한 지점에서 변경사항을 기록하기만 하면 된다. | *IP 주소가 변경이 될 경우 네트워크 안의 한 지점에서 변경사항을 기록하기만 하면 된다. | ||
== 규칙 및 동작 == | ==규칙 및 동작== | ||
CNAME 레코드는 도메인 네임 시스템에서 특수하게 관리되며 사용상 여러 제약이 따른다. | CNAME 레코드는 도메인 네임 시스템에서 특수하게 관리되며 사용상 여러 제약이 따른다. | ||
* [[DNS 리졸버]]가 정규 자원 레코드를 찾는 동안 CNAME 레코드를 마주칠 때 원래의 이름 대신 표준 형식의 이름을 사용하여 쿼리를 다시 시작 | *[[DNS 리졸버]]가 정규 자원 레코드를 찾는 동안 CNAME 레코드를 마주칠 때 원래의 이름 대신 표준 형식의 이름을 사용하여 쿼리를 다시 시작 | ||
** 리졸버가 CNAME 레코드를 찾을 경우 쿼리를 재시작하지 않고 표준 형식의 이름 반환 | **리졸버가 CNAME 레코드를 찾을 경우 쿼리를 재시작하지 않고 표준 형식의 이름 반환 | ||
* CNAME 레코드가 가리키는 표준 형식의 이름은 각기 다른 DNS 존 내 원격 서버든 로컬 서버든지에 관계 없이 DNS 어느 곳이든 위치할 수 있음 | *CNAME 레코드가 가리키는 표준 형식의 이름은 각기 다른 DNS 존 내 원격 서버든 로컬 서버든지에 관계 없이 DNS 어느 곳이든 위치할 수 있음 | ||
** CNAME 레코드는 무조건 다른 도메인 네임을 가리켜야 하며 직접 IP 주소를 가리켜서는 안 됨 | **CNAME 레코드는 무조건 다른 도메인 네임을 가리켜야 하며 직접 IP 주소를 가리켜서는 안 됨 | ||
== 예시 == | ==예시== | ||
<pre> | <pre> | ||
NAME TYPE VALUE | NAME TYPE VALUE | ||
Line 29: | Line 31: | ||
</pre>A 레코드가 ''bar.example.com''를 찾을 때 리졸버는 CNAME 레코드를 보고 ''foo.example.com''에서 확인을 재시작한 뒤 192.0.2.23을 반환 | </pre>A 레코드가 ''bar.example.com''를 찾을 때 리졸버는 CNAME 레코드를 보고 ''foo.example.com''에서 확인을 재시작한 뒤 192.0.2.23을 반환 | ||
== [[A 레코드]]와의 차이 == | ==[[A 레코드]]와의 차이== | ||
'''A 레코드의 장단점''' | '''A 레코드의 장단점''' | ||
* A 레코드의 장점은 한번의 요청으로 찾아갈 서버의 IP 주소를 한번에 알 수 있음 | *A 레코드의 장점은 한번의 요청으로 찾아갈 서버의 IP 주소를 한번에 알 수 있음 | ||
* 단점은 IP 주소가 자주 바뀌는 환경에서는 조금 번거로울 수 있음 | *단점은 IP 주소가 자주 바뀌는 환경에서는 조금 번거로울 수 있음 | ||
** 예를 들어, 111.111.111.111 서버에서 itwiki.kr, dev.itwiki.kr, api.itwiki.kr 등 여러개의 서브 도메인들을 처리하고 있는 경우, | **예를 들어, 111.111.111.111 서버에서 itwiki.kr, dev.itwiki.kr, api.itwiki.kr 등 여러개의 서브 도메인들을 처리하고 있는 경우, | ||
** 각 서브 도메인들을 A 레코드로만 매핑시켰다면, 111.111.111.111라는 IP 주소가 111.111.111.222이라는 주소로 변경되었다면 모든 A 레코드를 찾아서 변경해야 함 | **각 서브 도메인들을 A 레코드로만 매핑시켰다면, 111.111.111.111라는 IP 주소가 111.111.111.222이라는 주소로 변경되었다면 모든 A 레코드를 찾아서 변경해야 함 | ||
'''CNAME 레코드의 장단점''' | '''CNAME 레코드의 장단점''' | ||
* CNAME 레코드의 장점은 IP 주소가 자주 변경되는 환경에서 유연하게 대응 가능 | *CNAME 레코드의 장점은 IP 주소가 자주 변경되는 환경에서 유연하게 대응 가능 | ||
** 예를 들어, dev.itwiki.kr, api.itwiki.kr 도메인 정보를 itwiki.kr이라는 주소로 매핑시키는 CNAME 레코드로 저장하고, itwiki.kr이라는 주소를 111.111.111.111 로 매핑 시 | **예를 들어, dev.itwiki.kr, api.itwiki.kr 도메인 정보를 itwiki.kr이라는 주소로 매핑시키는 CNAME 레코드로 저장하고, itwiki.kr이라는 주소를 111.111.111.111 로 매핑 시 | ||
** 서버의 IP 주소가 바뀌었을 때 itwiki.r의 A 레코드 정보만 변경해도 됨 | **서버의 IP 주소가 바뀌었을 때 itwiki.r의 A 레코드 정보만 변경해도 됨 | ||
* CNAME 레코드의 단점은 실제 IP 주소를 얻을 때까지 여러번 DNS 정보를 요청해야 함 | *CNAME 레코드의 단점은 실제 IP 주소를 얻을 때까지 여러번 DNS 정보를 요청해야 함 | ||
** 경우에 따라서 성능 저하가 유발될 수 있음 | **경우에 따라서 성능 저하가 유발될 수 있음 | ||
==같이 보기== | |||
*[[DNS]] | |||
*[[DNS 자원 레코드]] | |||
*[[DNS 리졸버]] | |||
*[[A 레코드]] | |||
[[분류:인터넷]] | |||
Latest revision as of 20:28, 13 June 2022
- 상위 문서: DNS 자원 레코드
Canonical Name Record;
캐노니컬 네임 레코드, 줄여서 CNAME 레코드는 하나의 도메인 주소를 다른 주소로 매핑시키는 도메인 네임 시스템(DNS)의 자원 레코드의 일종이다.
관련 표준[edit | edit source]
- RFC 1034에 정의
- RFC 2181의 섹션 10에 세부내용 명시
사용 편의성[edit | edit source]
- 하나의 IP 주소로부터 여러 개의 서비스를 실행할 때(예: 각기 다른 포트로 각각 구동되는 FTP 서버와 웹 서버 등) 편리함을 입증할 수 있다. 이를테면 ftp.example.com과 www.example.com를 (IP 주소를 가리키는) A 레코드를 보유한 example.com의 DNS 엔트리를 가리킬 수 있다.
- IP 주소가 변경이 될 경우 네트워크 안의 한 지점에서 변경사항을 기록하기만 하면 된다.
규칙 및 동작[edit | edit source]
CNAME 레코드는 도메인 네임 시스템에서 특수하게 관리되며 사용상 여러 제약이 따른다.
- DNS 리졸버가 정규 자원 레코드를 찾는 동안 CNAME 레코드를 마주칠 때 원래의 이름 대신 표준 형식의 이름을 사용하여 쿼리를 다시 시작
- 리졸버가 CNAME 레코드를 찾을 경우 쿼리를 재시작하지 않고 표준 형식의 이름 반환
- CNAME 레코드가 가리키는 표준 형식의 이름은 각기 다른 DNS 존 내 원격 서버든 로컬 서버든지에 관계 없이 DNS 어느 곳이든 위치할 수 있음
- CNAME 레코드는 무조건 다른 도메인 네임을 가리켜야 하며 직접 IP 주소를 가리켜서는 안 됨
예시[edit | edit source]
NAME TYPE VALUE -------------------------------------------------- bar.example.com. CNAME foo.example.com. foo.example.com. A 192.0.2.23
A 레코드가 bar.example.com를 찾을 때 리졸버는 CNAME 레코드를 보고 foo.example.com에서 확인을 재시작한 뒤 192.0.2.23을 반환
A 레코드와의 차이[edit | edit source]
A 레코드의 장단점
- A 레코드의 장점은 한번의 요청으로 찾아갈 서버의 IP 주소를 한번에 알 수 있음
- 단점은 IP 주소가 자주 바뀌는 환경에서는 조금 번거로울 수 있음
- 예를 들어, 111.111.111.111 서버에서 itwiki.kr, dev.itwiki.kr, api.itwiki.kr 등 여러개의 서브 도메인들을 처리하고 있는 경우,
- 각 서브 도메인들을 A 레코드로만 매핑시켰다면, 111.111.111.111라는 IP 주소가 111.111.111.222이라는 주소로 변경되었다면 모든 A 레코드를 찾아서 변경해야 함
CNAME 레코드의 장단점
- CNAME 레코드의 장점은 IP 주소가 자주 변경되는 환경에서 유연하게 대응 가능
- 예를 들어, dev.itwiki.kr, api.itwiki.kr 도메인 정보를 itwiki.kr이라는 주소로 매핑시키는 CNAME 레코드로 저장하고, itwiki.kr이라는 주소를 111.111.111.111 로 매핑 시
- 서버의 IP 주소가 바뀌었을 때 itwiki.r의 A 레코드 정보만 변경해도 됨
- CNAME 레코드의 단점은 실제 IP 주소를 얻을 때까지 여러번 DNS 정보를 요청해야 함
- 경우에 따라서 성능 저하가 유발될 수 있음