CNAME 레코드 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
'''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 | ||
31번째 줄: | 29번째 줄: | ||
</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 레코드]] |