Search
🌐

DNS 레코드

DNS 레코드
DNS 레코드도메인 이름과 관련된 정보를 저장하는 데이터베이스 항목이다.
DNS 서버로 패킷(Packet)요청이 들어왔을 때 어떤 식으로 패킷을 처리할지를 나타내는 지침과 같다.
도메인
매핑하는 목적지
Record Type
DNS Class
google.com
172.12.0.1
A
IN
naver.com
192.168.1.1
A
IN
original.com
different.com
CNAME
IN
example.com
10 mail.example.com
MX
IN
example.jp.com
v=spf1 include:_spf.example.com ~all"
TXT
IN

DNS Record Types (DNS 레코드 타입)

DNS 레코드 타입
설명
A record
도메인을 해당하는 IP 주소 (IPv4 형식)을 매핑합니다.
AAAA record
도메인을 해당하는 IP 주소 (IPv6 형식)을 매핑합니다.
CNAME record
도메인을 다른 도메인 이름에 별칭(별명)으로 매핑합니다.
MX record
도메인의 메일 서버를 지정합니다.
TXT record
특정 도메인에 대한 추가 정보를 포함하는 텍스트 데이터를 제공합니다.

TTL

TTL(Time to Live)은 DNS 서버가 특정 DNS 레코드를 얼마나 오래 캐시에 유지할지 정하는 시간을 뜻한다.
TTL의 단위는 "초"이다. 다음은 TTL에서 값의 예시이다.
TTL
시간
600
10 분
3600
1 시간
21600
6 시간
43200
12 시간
86400
24 시간

DNS 클래스

DNS 클래스는 3 가지 유형이 있다
IN (Internet)
가장 널리 사용되는 클래스로, 대부분의 DNS 레코드가 이 클래스를 사용한다.
인터넷을 기반으로 하는 DNS 레코드를 나타낸다.
CH (CHAOS)
주로 실험 및 테스트 목적으로 사용되는 클래스이다.
시스템 정보 및 실험용 레코드를 사용할 때 참조된다.
HS (Hesiod)
주로 특정 응용 프로그램에 의해 사용되는 클래스이다.
헤시오드(Hesiod)는 네트워크 정보를 분산 관리하는 데 사용되는 프로토콜이다.

Apex 도메인

Apex 도메인은 도메인 이름 계층에서 최상위에 위치하는 도메인을 의미한다.
즉, 하위 도메인이 없는 루트 도메인(root domain)이다

Record

A Record
도메인을 IPv4 주소로 매핑하는 역할을 한다.
가장 기본적인 DNS 레코드이다.
A 레코드는 1대 1 매핑이 될 필요는 없다.
1:N 관계 매핑, N:M 관계 매핑이 될 수 있다.

A 레코드 예시

도메인 이름
Class
Record Type
IPv4주소
TTL
example.com
IN
A
192.0.2.1
3600
google.com
IN
A
256.2.11.45
3600
naver.com
IN
A
1.0.0.0
3600
naver.com
IN
A
1.0.0.1
3600
naver.com
IN
A
1.0.0.2
3600
AAAA Record
A record의 IPv6 버전이다.
IPv6 주소는 128비트로 표현된다. (IPv4는 32비트)
IPv6 예시 : 2001:0db8:85a3:0000:0000:8a2e:0370:7334

AAA 레코드 예시

도메인 이름
Class
Record Type
IPv6주소
TTL
example.com.
IN
AAAA
2001:0db8:85a3:0000:0000:8a2e:0370:7334
14400
CNAME Record
CNAME 레코드는 도메인 주소를 또 다른 도메인 주소로 매핑한다.
CNAME 레코드는 Apex 도메인(최상위 루드)에서 사용할 수 없다.

CNAME 레코드 예시

도메인 이름
Class
Record Type
주소
TTL
example.com
IN
CNAME
power.com.
14400
power.com
IN
A
192.0.2.1
3600

A / AAAA Record 와 CNAME Record 비교 정리

A/AAAA와 CNAME의 가장 큰 차이점은
A/AAAA 레코드는 IP 주소로, CNAME 레코드는 도메인 네임으로 매핑한다는 점이다.
A 레코드 / AAAA 레코드
CNAME 레코드
레코드 대상
IP 주소 (A: IPv4, AAAA: IPv6)
도메인 네임
사용 예시
example.com  → 192.168.1.1
http://www.example.com  → example.com
성능
직접적 IP 주소로 매핑하기 때문에 빠르다
추가적인 DNS 조회가 필요하므로 약간의 성능 손실
Apex 도메인
지원, 사용 가능
지원하지 않음

Alias Record (Route 53)

AWS 클라우드 내에서만 사용되는 레코드이다
Alias 레코드는 Route 53에서 사용되는 고유한 DNS 레코드 타입이다.
Alias 레코드는 Route 53AWS 리소스(예: CloudFront, ElB, S3 등)와 연결할 때 사용된다.
예시) Route 53에서 example.com 도메인을 Alias 레코드로 CloudFront의 d1234abc.cloudfront.net에 연결

Alias 레코드의 예시

도메인 이름
Record Type
AWS 서비스 엔드포인트
alias.example.com
A
some-aws-service.amazonaws.com
Alias 레코드를 작성할 때 Alias를 ON/OFF 하는 버튼이 있는데 ON으로 설정해야 된다. 그리고 Record type은 A 레코드 또는 AAAA 레코드를 선택한다.

Alias Record vs. CNAME Record 비교 정리

Alias 레코드
CNAME 레코드
용도
AWS 서비스와 연결하기 위해 사용
다른 도메인과 연결하기 위해 사용
Apex 도메인(최상위 도메인)
최상위 도메인 사용할 수 있다.
 최상위 도메인에서 사용할 수 없음
사용 예시
example.com → CloudFrontexample.com → S3
dr.example.com →  example.com
속도
CNAME 보다 빠르다(추가적인 조회 없이 직접적으로 AWS 서비스로 매핑하기 때문에)
추가 DNS 조회가 필요하므로 상대적으로 느릴 수 있음

NS Record (Name Server)

NS 레코드는 도메인을 관리하는 Name Server(네임 서버)의 정보를 담고 있는 DNS 레코드이다.
특정 도메인을 어떤 네임 서버가 관리하는지를 정의한다.
네임 서버(Name Server)는 도메인 이름을 IP 주소로 변환하는 역할을 하는 서버이다. 도메인 이름(예: example.com)을 IP 주소(예:192.0.2.1)로 변환하는데 사용하는 서버
도메인 이름
레코드 타입
네임 서버
TTL
example.com
NS
ns1.example.com
86400
example.com
NS
ns2.example.com
86400
네임 서버 작동 방식
1.
사용자가 example.com 웹사이트에 접속 (DNS 서버에 요청)
2.
DNS 서버는 example.com에 대한 NS 레코드를 확인 후, 네임 서버(예: ns1.example.com)로 요청을 전달
3.
네임 서버는 A 레코드나 CNAME 레코드를 통해 example.comIP 주소를 반환
4.
사용자는 이 IP 주소로 웹사이트에 접속

SOA Record (Start of Authority)

SOA 레코드는 도메인의 DNS 정보를 관리하는 첫 번째 레코드로, 도메인의 DNS 설정과 관련된 중요한 정보(예: 메인 네임 서버와 DNS의 관리자 연락처 등)를 갖고있다.
주로 DNS 관리와 서버 동기화를 담당한다.
Route 53에서 새로운 Hosted Zone을 만들면 자동으로 생성되며, 주로 DNS 동작을 제어하는 역할을 한다.
Primary Name Server : 해당 도메인의 주 네임 서버를 지정
Responsible Party : 도메인의 관리자 이메일 주소를 정의한다.
서버 동기화와 관련된 정보 관리 (예: Secondary 서버가 정보를 어떻게 업데이트할지)
DNS 캐시 관리 (정보가 얼마나 오래 저장될지 설정)
example.com. 3600 IN SOA ns1.example.com. admin.example.com. ( 2024013101 ; Serial Number 7200 ; Refresh (Secondary 서버가 Primary를 확인하는 주기) 900 ; Retry (Secondary 서버가 동기화 실패 후 재시도하는 간격) 1209600 ; Expire (Secondary 서버가 데이터를 보관하는 최대 기간) 86400 ; Minimum TTL (레코드의 최소 캐싱 시간) )
Markdown
복사