DNS 레코드 개요

이 페이지에서는 레코드를 간략하게 설명하고 Cloud DNS에서 지원하는 DNS 레코드 유형을 나열합니다.

레코드는 DNS 리소스와 도메인 이름 간의 매핑입니다. 각 개별 DNS 레코드에는 유형(이름 및 번호), 만료 시간(수명), 유형별 데이터가 있습니다.

지원되는 DNS 레코드 유형

Cloud DNS는 다음 유형의 레코드를 지원합니다.

레코드 유형 설명
A

호스트 이름을 IPv4 주소로 매핑하는 주소 레코드입니다.

AAAA

호스트 이름을 IPv6 주소에 매핑하는 IPv6 주소 레코드입니다.

ALIAS

별칭 도메인 이름을 영역 루트의 표준 이름에 매핑하는 별칭 레코드(미리보기)입니다. 별칭 레코드는 ANAME 레코드 또는 CNAME 평면화라고도 합니다.

gcloud CLI 또는 Cloud DNS API를 사용하여 별칭 레코드를 구성할 수 있습니다. Google Cloud 콘솔을 사용하여 별칭 레코드를 구성할 수 없습니다.

CAA

도메인에 대해 인증서를 만들 수 있는 CA를 지정하는 인증 기관(CA) 승인입니다.

CNAME

별칭 이름을 지정하는 표준 이름 레코드입니다.

CNAME 레코드를 만드는 중에 문제가 발생하면 비공개 영역에 정의된 CNAME 레코드가 작동하지 않음을 참조하세요.

DNSKEY

보안 전송을 위한 다른 연산자의 DNSSEC 키입니다. 이 레코드 모음 유형은 전송 상태에서 DNSSEC가 사용 설정된 영역에만 추가할 수 있습니다

DS

보안이 위임된 영역에 사용될 DNSSEC 키 지문입니다. 이 레코드 집합 유형은 사용자가 이 영역에 대해 DNSSEC를 사용 설정(및 활성화)하지 않는 한 위임된 영역에 대해 DNSSEC를 활성화하지 않습니다.

HTTPS

HTTPS 서비스 결합 레코드이며 원본이 각각 서로 연결된 매개변수가 있는 여러 대체 엔드포인트를 나타낼 수 있습니다. 또한 이 레코드는 HTTP를 HTTPS로 리디렉션합니다. 이 레코드 유형은 보다 일반적인 SVCB 레코드 유형을 기반으로 하며 같은 값 형식을 사용합니다.

IPSECKEY

상황별 암호화를 사용 설정을 하기 위한 IPsec 지원 클라이언트에 대한 IPsec 터널 게이트웨이 데이터 및 공개 키입니다.

MX

요청을 메일 서버로 라우팅하는 메일 교환 레코드입니다.

NAPTR

이름 지정 기관 포인터 레코드입니다. RFC 3403에 의해 정의됩니다.

NS

네임서버 레코드입니다. DNS 영역을 권한 서버에 위임합니다.

PTR

포인터 레코드입니다. 주로 역방향 DNS 조회에 사용됩니다.

SOA

기관 레코드의 시작입니다. DNS 영역에 대한 권한 정보를 지정합니다. SOA 리소스 레코드는 관리형 영역을 만들면 생성됩니다. 필요에 따라 레코드를 수정할 수 있습니다(예: 날짜 기반 버전 관리를 지원하기 위해 일련번호를 임의의 숫자로 변경 가능).

SPF

보내는 사람 정책 프레임워크 레코드입니다. 이메일 유효성 검사 시스템에서 이전에 사용된 지원 중단 레코드 유형입니다(대신 TXT 레코드 사용).

SRV

서비스 로케이터 레코드입니다. 일부 Voice over IP(VoIP), 인스턴트 채팅 프로토콜, 기타 애플리케이션에서 사용됩니다.

SSHFP

SSH 서버의 공개 키 유효성을 검사를 하기 위한 SSH 클라이언트의 SSH 지문입니다.

SVCB

서비스 결합 레코드로, 논리적 서비스가 각각 연결된 매개변수가 있는 여러 대체 엔드포인트를 나타낼 수 있습니다. HTTPS 원본은 HTTPS 레코드 유형을 참조하세요.

TLSA

X.509 서버 인증서의 유효성을 검사하기 위한 TLS 클라이언트의 TLS 인증 레코드입니다.

TXT

텍스트 레코드입니다. 임의 텍스트가 포함될 수 있으며 보안 또는 악용 방지 정보와 같은 머신이 읽을 수 있는 데이터를 정의하는 데 사용됩니다.

TXT 레코드는 하나 이상의 텍스트 문자열을 포함할 수 있으며, 각 개별 문자열의 최대 길이는 255자(영문 기준)입니다. 메일 에이전트와 기타 소프트웨어 에이전트는 여러 문자열을 연결합니다. 각 문자열을 따옴표로 묶습니다.

레코드를 추가, 삭제, 업데이트하려면 레코드 관리를 참조하세요.

와일드 카드 DNS 레코드

Cloud DNS에서는 NS 레코드를 제외한 모든 레코드 유형의 와일드 카드 레코드를 지원합니다.

별칭 레코드

ALIAS 레코드는 CNAME 레코드처럼 작동하지만 영역 루트에서만 사용할 수 있으며 주소 레코드(A 또는 AAAA) 쿼리에만 응답하는 Cloud DNS 커스텀 레코드 유형입니다. 특히 ALIAS 레코드 유형은 별칭 도메인 이름을 표준 이름에 매핑하고 표준 이름을 사용하여 답변을 찾습니다. 이 레코드 유형은 루트에서 CNAME 동작이 필요할 때 유용합니다. 영역 루트에 필요한 SOA 레코드를 포함하여 다른 레코드 유형과 함께 존재할 수 없으므로 CNAME 레코드를 루트에 배치할 수 없습니다.

별칭 레코드는 Cloud DNS에만 해당되며 Cloud DNS 영역을 쿼리하는 외부 클라이언트에 노출되지 않습니다. 클라이언트의 경우 별칭 레코드는 DNS 응답에 표준 A 또는 AAAA 레코드로 표시됩니다. ALIAS 레코드는 DNSSEC와 호환되지 않으므로 ALIAS 레코드가 있는 영역에서는 DNSSEC를 사용 설정할 수 없습니다.

다른 모든 레코드와 마찬가지로 별칭 레코드를 관리할 수 있습니다. 레코드 관리 방법을 알아보려면 레코드 관리를 참조하세요.

쿼리 확인 프로세스

별칭 레코드는 Cloud DNS 공개 영역에만 사용할 수 있습니다.

CNAME 레코드의 경우 리졸버는 표준 이름을 확인해야 합니다. 별칭 레코드의 경우 Cloud DNS 네임서버는 표준 이름을 확인하고 리졸버에 반환할 합성 A 또는 AAAA 레코드를 생성합니다. 합성 A 또는 AAAA 레코드는 ALIAS 레코드의 이름을 사용하며, 확인된 ALIAS 레코드의 대상 IP 주소가 포함됩니다. Cloud DNS 네임서버는 Google의 사용 가능한 재귀 리졸버를 사용하여 별칭 레코드를 확인합니다.

별칭 대상이 여러 주소가 있는 리소스 레코드 세트(RRSet)로 확인되면 Cloud DNS는 모든 레코드를 반환하지만 합성된 주소 레코드를 반환하기 전에 순서를 무작위로 지정합니다. 이 프로세스는 Cloud DNS가 네임서버의 답변을 처리하는 방식과 유사합니다.

별칭 대상 확인 중에는 주소 레코드만 합성됩니다. 별칭 레코드를 쿼리하면 별칭 레코드의 대상을 확인하는 동안 발견된 중간 CNAME 레코드가 반환되지 않습니다. 별칭 레코드에 도달하기 전에 CNAME 추적을 통해 발견된 CNAME 레코드는 수정되지 않은 상태로 반환됩니다. 별칭 대상 확인이 실패하면, 즉 NOERROR 이외의 응답 코드를 반환하면 Cloud DNS 네임서버는 클라이언트에 SERVFAIL 응답을 반환합니다. 확인 결과 주소 레코드가 없는 NOERROR 응답인 NODATA 응답이 발생하면 Cloud DNS 네임서버는 NODATA 응답을 반환합니다.

TTL(수명) 매개변수 및 캐싱

합성 주소 레코드로 반환되는 TTL 값은 별칭 레코드의 구성된 TTL 값과 별칭 대상을 확인하는 동안 발생하는 TTL 값 중 가장 작은 값입니다. 이 방법을 사용하면 반환된 TTL이 별칭 레코드의 구성된 TTL보다 작을 수 있지만 구성된 TTL보다 크지 않습니다.

다음 예시에서는 합성된 주소 레코드에 대해 TTL이 결정되는 방법을 보여줍니다.

Cloud DNS 관리형 영역에 다음 레코드가 구성되어 있다고 가정해 보겠습니다.

example.com.    3600    SOA      ns.com.  admin.example.com. (...)
                86400   NS       ns.com.
                6000    ALIAS    test-cname.example.com.
test-cname      3000    CNAME    address.example.com.
address         5000    A        1.2.3.4

example.com에서 A 레코드에 대한 이 영역의 쿼리는 다음과 비슷한 응답을 반환합니다.

QUESTION SECTION
example.com.                  A

ANSWER SECTION
example.com.        3000      A      1.2.3.4

확인 중에 발생한 TTL은 6,000(ALIAS 레코드), 3,000(CNAME 레코드), 5,000(A 레코드)입니다. 이 TTL 중 3,000이 가장 작으므로 합성 주소 레코드에 반환됩니다.

이 예시에서는 편의상 동일한 영역에 있는 모든 레코드를 보여 주지만 다른 영역에 대한 해결 방법에도 TTL 논리는 동일합니다.

권한 응답 비트

DNS 응답에서 권한 비트는 체인의 첫 번째 이름(원래 qname)을 기반으로 하며, 이 이름과 관련된 데이터가 서버에서 발견되었는지, 별칭 레코드 확인을 통해 검색되었는지는 상관없습니다.

오류 처리

Cloud DNS 서버가 ALIAS 레코드와 연결된 표준 이름을 확인하지 못할 수 있습니다. 예를 들어 표준 이름이 없거나 네임서버가 일시적으로 실패할 수 있습니다.

ALIAS 대상 확인으로 NODATA 응답이 반환되면(OK RCODE와 함께 빈 응답) 클라이언트에 NODATA 응답을 반환합니다. ALIAS 레코드는 A 및 AAAA 쿼리 모두에 응답하지만 ALIAS 대상에는 이러한 유형 중 하나만 포함될 수 있으며, 다른 유형에서는 NODATA 응답으로 이어질 수 있습니다. 이러한 예상되는 사용 사례는 오류로 처리해서는 안 됩니다. nonexistent, refused 등의 다른 오류에서 ALIAS 레코드는 SERVFAIL RCODE를 클라이언트에 반환합니다.

모든 오류에 대해 SERVFAIL을 반환하는 것은 불확실하므로 디버깅을 지원하기 위해 DNS Cloud Logging에서 추가 필드를 사용하여 별칭 확인 중에 반환된 RCODE를 기록할 수 있습니다. 자세한 설명은 로깅 및 모니터링 사용을 참조하세요.

레코드 가져오기 및 내보내기

BIND 영역 파일 또는 YAML 파일로 레코드를 가져오거나 내보낼 수 있습니다.

별칭 레코드 유형은 표준 DNS 레코드 유형이 아니므로 별칭 레코드는 BIND 파일에서 지원되지 않습니다. Cloud DNS는 이러한 항목을 인식하지만 다른 BIND 호환 DNS 소프트웨어는 그렇지 않을 수 있습니다.

별칭 레코드는 다음 형식으로 Cloud DNS와 관련된 YAML 파일로 내보내집니다.

kind: dns#resourceRecordSet
name: DNS Name
rrdatas: RR Data
ttl: TTL
type: ALIAS

Cloud DNS는 이전 형식의 YAML 파일에서 ALIAS 레코드를 가져올 수 있습니다.

보안 및 개인 정보 보호

Cloud DNS 공개 네임서버가 사용자를 대신하여 별칭 대상을 확인하지만 별칭 대상을 올바르게 구성했는지 확인해야 합니다. 잘못된 ALIAS 대상으로 인해 공개 레코드가 원하는 대로 작동하지 않거나 원치 않는 IP 주소를 반환할 수 있습니다.

관리형 영역 모니터링

Cloud DNS는 Logging을 통해 관리형 영역에 대한 모든 쿼리에 로깅을 제공합니다. ALIAS 이름 확인의 상태에 대한 정보를 기록하는 DNS 쿼리 로그에는 선택적 필드인 alias_query_response_code를 사용할 수 있습니다. DNS 응답에서 이 정보를 사용할 수 없기 때문입니다.

자세한 내용은 로그 보기를 참조하세요.

alias_query_response_code는 쿼리가 ALIAS 레코드를 사용하여 확인된 경우에만 설정됩니다. NoError 값은 ALIAS 레코드가 성공적으로 확인되었음을 의미하며 다른 값은 오류를 나타냅니다. SERVFAIL 값은 다음 문제를 나타낼 수 있습니다.

  • 연결할 수 없는 대상 네임서버
  • 응답을 찾기 전에 대상 해결 시간 초과
  • DNSSEC 검증 실패

로그 항목의 qtype 필드에 ALIAS 옵션이 없습니다. ALIAS 레코드를 사용하여 A 또는 AAAA 쿼리에 응답하면 qtype 필드가 A 또는 AAAA로 유지됩니다.

다음 단계