Domain IP Lookup

거의 모든 존에서 만나게 되는 레코드

A호스트 이름을 IPv4 주소로 연결
AAAA호스트 이름을 IPv6 주소로 연결
CNAME호스트 이름을 다른 호스트 이름으로 연결
MX도메인을 메일 서버로 연결, 우선순위 기준
TXT도메인에 임의의 텍스트 연결: SPF, DKIM, 소유권 확인
NS도메인에 응답하는 네임서버 지정
DNS 기초

DNS A 레코드란? (그리고 AAAA가 필요한 경우)

읽는 시간 3분

A 레코드는 DNS 존에서 가장 중요한 줄입니다. 호스트 이름을 IPv4 주소에 연결하며, 이것이 틀렸거나 없다면 나머지가 아무리 완벽하게 설정되어 있어도 사이트에 접근할 수 없습니다.

A는 Address(주소)를 뜻합니다. IPv6에 해당하는 짝은 AAAA 레코드("쿼드 A"라고 읽음)이며, IPv6 주소가 IPv4 주소보다 네 배 크다는 데서 이름이 붙었습니다.

A 레코드의 구조

표준 존 파일 형식의 A 레코드
example.com.      3600    IN    A       93.184.216.34
www.example.com.  3600    IN    A       93.184.216.34
example.com.      3600    IN    AAAA    2606:2800:220:1::248

왼쪽에서 오른쪽으로 읽으면 다음과 같습니다.

필드값의미
이름example.com.이 레코드가 응답하는 호스트 이름입니다. 대부분의 제어판에서 @는 서브도메인이 없는 도메인 자체를 뜻합니다.
TTL3600리졸버가 캐시할 수 있는 시간(초)입니다. TTL을 참고하세요.
클래스IN인터넷(Internet)입니다. 다른 값은 쓸 일이 없습니다.
유형AIPv4 주소 레코드입니다.
값93.184.216.34주소 자체입니다. 반드시 IP 값이어야 하며 호스트 이름은 안 됩니다.

A와 AAAA의 차이

A 레코드AAAA 레코드
가리키는 대상IPv4 주소IPv6 주소
예시 값93.184.216.342606:2800:220:1::248
필수 여부사실상 필수강력히 권장
클라이언트가 사용하는 경우IPv4 연결이 있을 때IPv6 연결이 있을 때

둘은 대안 관계가 아니므로 둘 다 게시하세요. 듀얼 스택 클라이언트는 대개 IPv6를 우선하고 IPv4로 대체하므로, 둘 다 있으면 모든 방문자에게 동작하는 경로가 생깁니다. A 레코드만 게시하면 일부 모바일 네트워크에 존재하는 IPv6 전용 클라이언트는 접속 자체를 할 수 없습니다.

하나의 이름에 여러 A 레코드

호스트 이름에는 A 레코드가 여러 개 있을 수 있습니다. 리졸버는 모두 전달하며 보통 순서를 돌려 가며 제공하는데, 이는 서버 전반에 트래픽을 분산하는 고전적인 라운드 로빈 DNS입니다.

서버 세 대에 대한 라운드 로빈
example.com.    300    IN    A    93.184.216.34
example.com.    300    IN    A    93.184.216.35
example.com.    300    IN    A    93.184.216.36

단순한 부하 분산입니다. DNS는 서버가 정상인지 알지 못하므로, 죽은 주소도 레코드를 제거할 때까지 계속 전달됩니다. 더 나은 대안은 도메인에 여러 IP가 있는 이유에서 다룹니다.

사이트를 망가뜨리는 네 가지 실수

  1. www 레코드를 잊음

    example.com과 www.example.com은 서로 다른 호스트 이름이므로 별도의 레코드가 필요합니다. 하나만 설정하면 방문자의 절반이 없는 이름에 접속하게 됩니다.

  2. 잘못된 제공업체에서 레코드를 수정함

    NS 레코드가 호스팅 업체로 위임되어 있다면 레지스트라에서 수정한 레코드는 완전히 무시됩니다. 먼저 어느 네임서버가 권한을 가지는지 확인하세요.

  3. 마이그레이션 전에 TTL을 높게 둠

    TTL이 86400초인 A 레코드를 바꾸면 최대 24시간 동안 트래픽이 갈라집니다. 이전하기 하루 전에 TTL을 낮추세요.

  4. CNAME과 함께 오래된 A 레코드를 남겨 둠

    한 이름에는 CNAME과 다른 레코드가 함께 있을 수 없습니다. 많은 제공업체가 둘 중 하나를 조용히 무시해서 일관되지 않은 동작이 나타납니다.

와일드카드, 서브도메인, 그리고 루트 도메인

세 가지 이름 지정 상황이 끊임없이 등장하며, 동작이 충분히 달라서 구분해 볼 만합니다.

루트(apex) 레코드

루트(apex)는 서브도메인이 없는 도메인 자체인 example.com입니다. 대부분의 제어판에서는 @로 표기합니다. 프로토콜이 CNAME과 루트가 반드시 가져야 하는 NS 및 SOA 레코드의 공존을 금지하기 때문에, CNAME이 아닌 A 레코드를 반드시 써야 하는 경우가 잦은 유일한 이름입니다.

서브도메인 레코드

모든 서브도메인은 자체 레코드가 필요한 독립적인 이름입니다. www, blog, shop, api는 루트로부터 아무것도 상속하지 않으므로, example.com에 A 레코드를 설정해도 www.example.com에는 아무 영향이 없습니다.

와일드카드 레코드

와일드카드는 자체 레코드가 없는 모든 이름에 대해 응답합니다.

정의되지 않은 서브도메인을 위한 포괄 레코드
*.example.com.    3600    IN    A    93.184.216.34

가입할 때마다 DNS를 변경하지 않고도 고객마다 their-name.example.com을 제공하는 멀티 테넌트 제품에 유용합니다. 사용하기 전에 알아 둘 두 가지 주의점이 있습니다.

  • 명시적인 레코드가 항상 우선합니다. api.example.com에 자체 A 레코드가 있으면 그 이름에 대해서는 와일드카드를 참조하지 않습니다.
  • 와일드카드는 한 단계만 포함합니다. *.example.com은 foo.example.com과 일치하지만 foo.bar.example.com과는 일치하지 않습니다.

A 레코드 확인하기

명령줄
dig +short example.com A
dig +short example.com AAAA

또는 조회 도구로 둘을 한 번에 확인할 수 있습니다. A와 AAAA를 독립적으로 질의해 따로 나열하므로, IPv6가 실제로 설정되어 있는지 바로 알 수 있습니다.

핵심 요약

A 레코드는 이름에서 IPv4로, AAAA 레코드는 이름에서 IPv6로 연결합니다. 둘 다 호스트 이름이 아닌 주소 값을 받으며, 둘 다 게시해야 모든 사람이 사이트에 접근할 수 있습니다.

도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.

이 주제의 무료 도구

자주 묻는 질문

관련 글

거의 모든 존에서 만나게 되는 레코드

A호스트 이름을 IPv4 주소로 연결
AAAA호스트 이름을 IPv6 주소로 연결
CNAME호스트 이름을 다른 호스트 이름으로 연결
MX도메인을 메일 서버로 연결, 우선순위 기준
TXT도메인에 임의의 텍스트 연결: SPF, DKIM, 소유권 확인
NS도메인에 응답하는 네임서버 지정
DNS 기초

CNAME과 A 레코드: 무엇을 써야 할까요?

결정은 질문 하나로 정리됩니다. IP 주소를 직접 관리하는가, 다른 곳에서 관리하는가. 누구나 걸려 넘어지는 루트 도메인 규칙도 함께 다룹니다.

읽는 시간 3분

거의 모든 존에서 만나게 되는 레코드

A호스트 이름을 IPv4 주소로 연결
AAAA호스트 이름을 IPv6 주소로 연결
CNAME호스트 이름을 다른 호스트 이름으로 연결
MX도메인을 메일 서버로 연결, 우선순위 기준
TXT도메인에 임의의 텍스트 연결: SPF, DKIM, 소유권 확인
NS도메인에 응답하는 네임서버 지정
DNS 기초

DNS 레코드 유형 총정리: 완전한 레퍼런스

알아 둘 가치가 있는 모든 레코드 유형의 역할, 모양, 그리고 흔히 저지르는 실수를 한 페이지에 정리했습니다.

읽는 시간 4분

실무에서 TTL 정하기

60-300s마이그레이션 중: 빠른 전파, 쿼리 증가
3,600s대부분의 일반 레코드에 적합한 기본값
86,400sMX, NS처럼 거의 바뀌지 않는 레코드
DNS 기초

DNS TTL이란? 적절한 값 정하기

숫자 하나가 변경 사항이 반영되는 속도와 DNS 트래픽의 양을 좌우합니다. 의도적으로 값을 정하는 방법을 소개합니다.

읽는 시간 2분