이 페이지에서는 Cloud DNS에 적용되는 핵심 용어를 설명합니다. 이러한 용어를 검토하여 Cloud DNS의 작동 방식과 기본 개념에 대해 자세히 알아보세요.
Cloud DNS API는 프로젝트, 관리형 영역, 레코드 모음, 레코드 모음의 변경사항을 토대로 빌드됩니다.
- 프로젝트
- Google Cloud Console 프로젝트는 리소스 컨테이너, 액세스 제어를 위한 도메인, 청구가 구성되고 집계되는 위치로 사용됩니다. 자세한 내용은 프로젝트 만들기 및 관리를 참조하세요.
- 관리형 영역
관리형 영역은 DNS(도메인 이름 시스템) 이름 서픽스(예:
example.com
)가 동일한 DNS 레코드를 보관합니다. 프로젝트 한 개에 관리형 영역이 여러 개 있을 수 있지만 각 영역마다 고유한 이름을 가져야 합니다. Cloud DNS에서 관리형 영역은 DNS 영역을 모델링하는 리소스입니다.관리형 영역의 모든 레코드는 Google이 운영하는 동일한 네임서버에 호스팅됩니다. 이러한 네임서버는 영역 구성 방식에 따라 관리형 영역에 대한 DNS 쿼리에 응답합니다. 프로젝트 한 개에 관리형 영역이 여러 개 포함될 수 있습니다. 관리형 영역이 존재하는 기간 동안 매일 각 영역별로 요금이 청구됩니다. 관리형 영역은 결제를 구성하는 데 사용할 수 있는 라벨을 지원합니다.
- 공개 영역
공개 영역은 인터넷에 노출됩니다. Cloud DNS에는 쿼리의 출처와 관계없이 공개 영역에 대한 쿼리에 응답하는 공개 권한 네임서버가 있습니다. 공개 영역에 DNS 레코드를 만들어 인터넷에 서비스를 게시할 수 있습니다. 예를 들어 공개 웹사이트
www.example.com
에 대해 공개 영역example.com
에 다음 레코드를 만들 수 있습니다.DNS 이름 유형 TTL(초) 데이터 www.example.com A 300 198.51.100.0 공개 영역이 생성되면 Cloud DNS는 일련의 네임서버를 할당합니다. 공개 영역의 DNS 레코드를 인터넷을 통해 확인하려면 등록기관에서 도메인 등록의 네임서버 설정을 업데이트해야 합니다.
도메인을 등록하고 설정하는 방법에 대한 자세한 내용은 Cloud DNS를 사용하여 도메인 설정을 참조하세요.
- 비공개 영역
비공개 영역을 사용하면 기본 DNS 데이터를 공개 인터넷에 노출시키지 않고도 가상 머신(VM), 부하 분산기, 기타 Google Cloud 리소스의 커스텀 도메인 이름을 관리할 수 있습니다. 비공개 영역은 승인된 Virtual Private Cloud(VPC) 네트워크 하나 이상에서만 쿼리할 수 있는 DNS 레코드의 컨테이너입니다.
비공개 영역을 만들거나 업데이트할 때 비공개 영역을 쿼리할 수 있는 승인된 VPC 네트워크 목록을 지정해야 합니다. 승인된 네트워크만 비공개 영역에 쿼리할 수 있습니다. 즉, 승인된 네트워크를 지정하지 않으면 비공개 영역에 전혀 쿼리할 수 없습니다.
비공개 영역은 공유 VPC와 함께 사용할 수 있습니다. 공유 VPC와 함께 비공개 영역을 사용하는 방법에 대한 중요한 정보는 공유 VPC 고려사항을 참조하세요.
비공개 영역은 DNS 보안 확장자(DNSSEC) 또는 NS 유형의 커스텀 리소스 레코드 집합을 지원하지 않습니다. 비공개 영역의 DNS 레코드 요청은 Google 제공 이미지로 만든 VM의 기본 내부 네임서버인 메타데이터 서버
169.254.169.254
를 통해 제출되어야 합니다.승인된 VPC 네트워크를 사용하는 모든 VM에서 이 네임서버에 쿼리를 제출할 수 있습니다. 예를 들어 실험용 애플리케이션을 위한 내부 DNS 레코드를 호스팅하기 위해
dev.gcp.example.com
의 비공개 영역을 만들 수 있습니다. 다음 표는 해당 영역의 레코드 예시를 보여줍니다. 데이터베이스 클라이언트는 해당 IP 주소 대신 내부 DNS 이름을 사용하여 데이터베이스 서버db-01.dev.gcp.example.com
에 연결할 수 있습니다. 데이터베이스 클라이언트는 DNS 쿼리를 메타데이터 서버169.254.169.254
에 제출하는 VM의 호스트 리졸버를 사용하여 이 내부 DNS 이름을 확인합니다. 메타데이터 서버는 비공개 영역에 쿼리하기 위한 반복 리졸버로 작동합니다.DNS 이름 유형 TTL(초) 데이터 db-01.dev.gcp.example.com
A 5 10.128.1.35 instance-01.dev.gcp.example.com
A 50 10.128.1.10 비공개 영역을 사용하면 분할된 영역 DNS 구성을 만들 수 있습니다. 다른 레코드 집합으로 비공개 영역을 만들 수 있고 이렇게 하면 공개 영역의 전체 레코드 집합이 재정의되기 때문입니다. 그런 다음 비공개 영역의 레코드를 쿼리하는 VPC 네트워크를 제어할 수 있습니다. 예시는 중첩 영역을 참조하세요.
- 서비스 디렉터리
서비스 디렉터리는 Google Cloud의 관리형 서비스 레지스트리로, 기존 DNS를 사용하는 것 외에도 HTTP 또는 gRPC(Lookup API 사용)를 사용하여 서비스를 등록하고 검색할 수 있습니다. 서비스 디렉터리를 사용하여 Google Cloud 및 Google Cloud가 아닌 서비스를 모두 등록할 수 있습니다.
Cloud DNS를 사용하면 서비스 및 엔드포인트에 대한 정보가 포함된 비공개 영역의 유형인 서비스 디렉터리 지원 영역을 만들 수 있습니다. 영역에 레코드 모음을 추가하지 않습니다. 대신 영역과 연결된 서비스 디렉터리 네임스페이스의 구성을 기반으로 레코드 모음이 자동으로 추론됩니다. 서비스 디렉터리에 대한 자세한 내용은 서비스 디렉터리 개요를 참조하세요.
서비스 디렉터리 지원 영역을 만들 때는 영역에 직접 레코드를 추가할 수 없습니다. 데이터는 서비스 디렉터리 서비스 레지스트리로부터 전송됩니다.
- Cloud DNS 및 역방향 조회 비RFC 1918 주소에 대한
기본적으로 Cloud DNS는 비RFC 1918 주소의 PTR 레코드에 대해 요청을 공개 인터넷을 통해 전달합니다. 하지만 Cloud DNS에서는 또한 비공개 영역을 사용한 비RFC 1918 주소에 대한 역방향 조회가 지원됩니다.
비RFC 1918 주소를 사용하도록 VPC 네트워크를 구성한 후에는 Cloud DNS 비공개 영역을 관리형 역방향 조회 영역으로 구성해야 합니다. 이렇게 구성하면 Cloud DNS는 인터넷을 통해 전송하는 대신 비RFC 1918 주소를 로컬에서 확인할 수 있습니다.
관리형 역방향 조회 DNS 영역을 만든 후에는 영역에 직접 레코드를 추가할 수 없습니다. 데이터는 Compute Engine IP 주소 데이터로부터 전송됩니다.
또한 Cloud DNS는 Google Cloud 내에서 이러한 주소를 비공개로 라우팅하여 비RFC 1918 주소로의 아웃바운드 전달도 지원합니다. 이러한 유형의 아웃바운드 전달을 사용 설정하려면 특정 전달 경로 인수를 사용하여 전달 영역을 구성해야 합니다. 자세한 내용은 전달 대상 및 라우팅 방법을 참조하세요.
- 전달 영역
전달 영역은 Cloud DNS 관리형 비공개 영역의 한 유형이며, 해당 영역에 대한 요청을 전달 대상의 IP 주소로 전달합니다. 자세한 내용은 DNS 전달 방법을 참조하세요.
전달 영역을 만들 때는 전달 영역에 직접 레코드를 추가할 수 없습니다. 데이터는 하나 이상의 구성된 대상 네임서버 또는 리졸버로부터 전송됩니다.
- 피어링 영역
피어링 영역은 Cloud DNS 관리형 비공개 영역의 한 유형으로, 다른 VPC 네트워크의 이름 확인 순서를 따릅니다. 다른 VPC 네트워크에 정의된 이름을 확인하는 데 사용할 수 있습니다.
DNS 피어링 영역을 만들 때 레코드를 영역에 직접 추가할 수 없습니다. 데이터는 이름 확인 순서에 따라 제작자 VPC 네트워크에서 제공됩니다.
- 응답 정책
응답 정책은 레코드 대신 규칙이 포함된 Cloud DNS 비공개 영역 개념입니다. 이러한 규칙을 사용하면 DNS 응답 정책 영역(RPZ) 초안 개념(IETF)과 비슷한 효과를 얻을 수 있습니다. 응답 정책 기능을 사용하면 DNS 리졸버가 조회 중에 확인하는 네트워크의 DNS 서버에 맞춤설정된 규칙을 도입할 수 있습니다. 응답 정책의 규칙이 수신되는 쿼리에 영향을 미치는 경우에 처리됩니다. 그러지 않으면 조회가 정상적으로 진행됩니다. 자세한 내용은 응답 정책 및 규칙 관리를 참조하세요.
응답 정책은 호환되는 리졸버가 특수한 작업을 실행하게 하는 특별하게 포맷된 데이터가 포함된 다른 일반 DNS 영역인 RPZ와 다릅니다. 응답 정책은 DNS 영역이 아니며 API에서 별도로 관리됩니다.
- 영역 작업
Cloud DNS의 관리형 영역에 대한 변경사항은 작업 컬렉션에 기록되며, 여기에는 관리형 영역 업데이트(설명, DNSSEC 상태 또는 구성 수정)가 나열됩니다. 영역 내부의 레코드 집합에 대한 변경사항은 이 문서의 뒷 부분에서 설명하는 리소스 레코드 집합에 개별적으로 저장됩니다.
- 국제화된 도메인 이름(IDN)
국제화된 도메인 이름(IDN)은 인터넷 도메인 이름으로, 전 세계 사용자가 아랍어, 중국어, 키릴 문자, 데바나가리 문자, 히브리어, 라틴 알파벳 기반의 특수문자 등의 언어별 스크립트 또는 알파벳을 도메인 이름에 사용할 수 있습니다. 이 변환은 ASCII를 사용하는 유니코드 문자의 표현인 Punycode를 사용하여 구현됩니다. 예를 들어
.ελ
의 IDN 표현은.xn--qxam
입니다. 일부 브라우저, 이메일 클라이언트, 애플리케이션은 사용자를 대신하여 이를 인식하고.ελ
으로 렌더링할 수 있습니다. Internationalizing Domain Names in Applications(IDNA) 표준은 유효한 DNS 라벨로 표현할 수 있을 정도로 짧은 유니코드 문자열만 허용합니다. Cloud DNS에서 IDN을 사용하는 방법에 대한 자세한 내용은 국제화된 도메인 이름으로 영역 만들기를 참조하세요.- 등록기관
도메인 이름 등록기관은 인터넷 도메인 이름의 예약을 관리하는 조직입니다. 등록기관은 일반 최상위 도메인(gTLD) 레지스트리 또는 국가 코드 최상위 도메인(ccTLD) 레지스트리의 인증을 받아야 합니다.
- 내부 DNS
Google Cloud는 Cloud DNS가 사용되지 않더라도 VM에 대해 내부 DNS 이름을 자동으로 만듭니다. 내부 DNS에 대한 자세한 내용은 내부 DNS 문서를 참조하세요.
- 위임된 하위 영역
DNS를 사용하면 영역 소유자가 NS(네임서버) 레코드를 사용하여 하위 도메인을 다른 네임서버에 위임할 수 있습니다. 리졸버는 이러한 레코드를 따르고 하위 도메인에 대한 쿼리를 위임에서 지정된 타겟 네임서버로 전송합니다.
- 리소스 기록 집합
리소스 레코드 집합은 동일한 라벨, 클래스, 유형을 가진 DNS 레코드 모음이지만 다른 데이터를 사용합니다. 리소스 레코드 집합은 관리형 영역을 구성하는 DNS 레코드의 현재 상태를 포함합니다. 리소스 레코드 집합은 읽을 수 있지만 직접 수정할 수는 없습니다. 대신 변경사항 컬렉션에
Change
요청을 만들어 관리형 영역에 있는 리소스 레코드 모음을 편집합니다.ResourceRecordSets
API를 사용하여 리소스 레코드 집합을 편집할 수도 있습니다. 리소스 레코드 집합에는 모든 변경사항이 즉시 반영됩니다. 그러나 API에서 변경되는 시점과 권한 DNS 서버에서 적용되는 시점 사이에 지연이 발생합니다. 레코드 관리 방법에 대한 자세한 내용은 레코드 추가, 수정, 삭제를 참조하세요.- 리소스 레코드 집합 변경
리소스 레코드 집합을 변경하려면 추가 또는 삭제가 포함된
Change
또는ResourceRecordSets
요청을 제출합니다. 추가 및 삭제는 단일 원자성 트랜잭션에서 일괄적으로 수행될 수 있으며 각 권한 DNS 서버에서 동시에 적용됩니다.예를 들어 다음과 같은 A 레코드가 있다고 가정하겠습니다.
www A 203.0.113.1 203.0.113.2
그리고 다음과 같은 명령어를 실행합니다.
DEL www A 203.0.113.2 ADD www A 203.0.113.3
그러면 일괄 변경 후 다음과 같이 표시됩니다.
www A 203.0.113.1 203.0.113.3
ADD 및 DEL은 동시에 실행됩니다.
- SOA 일련번호 형식
Cloud DNS 관리형 영역에서 생성된 SOA 레코드의 일련번호는
gcloud dns record-sets transaction
명령어를 사용하여 생성된 영역 레코드 모음에 대해 각 트랜잭션이 변경될 때마다 일정하게 증가합니다. 그러나 SOA 레코드의 일련번호를 RFC 1912에서 권장하는 ISO 8601 형식의 날짜를 포함한 임의의 번호로 직접 자유롭게 변경할 수 있습니다.예를 들어 다음 SOA 레코드에서는 레코드의 공백으로 구분된 세 번째 필드에 원하는 값을 입력하면 Google Cloud Console에서 직접 일련번호를 변경할 수 있습니다.
ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. [serial number] 21600 3600 259200 300`
- DNS 서버 정책
DNS 서버 정책을 사용하면 인바운드 전달을 사용하여 VPC 네트워크에서 Google Cloud가 제공하는 이름 확인 서비스에 액세스하거나 아웃바운드 서버 정책을 사용하여 VPC 이름 확인 순서를 대체할 수 있습니다. 자세한 내용은 DNS 서버 정책을 참조하세요.
- 도메인, 하위 도메인, 위임
대부분의 하위 도메인은 관리형 영역에 있는 상위 도메인의 레코드일 뿐입니다. 상위 도메인의 영역에 NS(네임서버) 레코드를 만들어 위임된 하위 도메인에는 자체 영역도 필요합니다.
위임된 하위 도메인의 공개 영역을 만들기 전에 Cloud DNS에서 상위 도메인의 관리형 공개 영역을 만듭니다. 다른 DNS 서비스에 상위 도메인을 호스팅하는 경우에도 이 작업을 수행해야 합니다. 하위 도메인 영역이 여러 개 있는데 상위 영역을 만들지 않는 경우에는 나중에 Cloud DNS로 이동하려고 할 때 상위 영역을 만드는 것이 복잡해질 수 있습니다. 자세한 내용은 네임서버 제한을 참조하세요.
- DNSSEC
DNSSEC(Domain Name System Security Extension)는 도메인 이름 조회에 대한 응답을 인증하는 DNS에 대한 IETF(Internet Engineering Task Force) 확장 기능을 모아놓은 것입니다. DNSSEC는 이러한 조회에 대해 개인정보 보호를 제공하지 않지만 공격자가 DNS 요청에 대한 응답을 조작하거나 악성 처리하는 것을 방지합니다.
- DNSKEY 컬렉션
DNSKEY 컬렉션에는 DNSSEC 사용 설정 관리형 영역에 서명하는 데 사용되는 DNSKEY 레코드의 현재 상태가 저장됩니다. 이 컬렉션은 읽기만 가능합니다. DNSKEY의 모든 변경사항은 Cloud DNS에서 수행됩니다. DNSKEY 컬렉션에는 도메인 등록기관이 DNSSEC를 활성화하는 데 필요한 모든 정보가 있습니다.