이 페이지에서는 Cloud DNS 서버 정책을 구성하고 Virtual Private Cloud(VPC) 네트워크와 함께 사용하는 방법을 설명합니다. 이 페이지를 사용하기 전에 DNS 서버 정책 개요를 검토하세요.
시작하기 전에
Cloud DNS API를 사용하려면 Google Cloud 프로젝트를 만들고 Cloud DNS API를 사용 설정해야 합니다.
REST API를 사용하는 애플리케이션을 만드는 경우 OAuth 2.0 클라이언트 ID도 만들어야 합니다.
- 아직 계정이 없으면 Google 계정에 가입합니다.
- Google Cloud 콘솔에서 Cloud DNS API를 사용 설정합니다. 기존의 Compute Engine 또는 App Engine 프로젝트를 선택하거나 새 프로젝트를 만들 수 있습니다.
- REST API에 요청해야 하는 경우 OAuth 2.0 ID를 만들어야 합니다(OAuth 2.0 설정).
- 프로젝트에서 이후 단계에 입력해야 하는 다음 정보를 확인합니다.
-
클라이언트 ID(
xxxxxx.apps.googleusercontent.com
) - 사용할 프로젝트 ID. Google Cloud 콘솔의 개요 페이지 상단에서 ID를 찾을 수 있습니다. 또한 사용자에게 앱에서 사용할 프로젝트 이름을 제공하도록 요청할 수도 있습니다.
-
클라이언트 ID(
이전에 Google Cloud CLI를 실행한 적이 없다면 다음 명령어를 실행하여 프로젝트 이름을 지정하고 Google Cloud Console에서 인증을 수행해야 합니다.
gcloud auth login
이전에 선택한 프로젝트와 다른 프로젝트를 선택하려면 명령줄에서 --project
옵션을 지정합니다.
DNS 서버 정책 만들기
각 DNS 서버 정책 객체는 다음 서버 정책을 정의할 수 있습니다.
- 인바운드 전달을 사용 설정하는 인바운드 서버 정책
- 하나 이상의 대체 네임서버를 지정하는 아웃바운드 서버 정책
- 인바운드 서버 정책과 아웃바운드 서버 정책 모두
각 VPC 네트워크는 하나 이상의 DNS 서버 정책을 참조할 수 있습니다. VPC 네트워크의 인바운드 전달과 아웃바운드 전달을 모두 정의해야 하는 경우 인바운드 정책과 아웃바운드 정책을 모두 정의하는 정책을 하나 만듭니다.
인바운드 서버 정책 만들기
인바운드 서버 정책을 만들려면 다음 안내를 따르세요. Cloud DNS는 정책이 적용되는 각 VPC 네트워크에 인바운드 포워더 IP 주소 집합을 만듭니다. 정책을 만든 후 Cloud DNS가 만드는 진입점을 나열할 수 있습니다.
gcloud
인바운드 서버 정책을 만들려면 dns policies
create
명령어를 실행합니다.
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --enable-inbound-forwarding
다음을 바꿉니다.
NAME
: 정책 이름DESCRIPTION
: 정책에 대한 설명VPC_NETWORK_LIST
: 인바운드 전달 주소를 만들어야 하는 쉼표로 구분된 VPC 네트워크 목록
Terraform
아웃바운드 서버 정책 만들기
아웃바운드 서버 정책을 만들고 모든 DNS 쿼리를 대체 네임서버로 전달하여 VPC 네트워크의 이름 확인 순서를 수정할 수 있습니다. 다음 안내를 따르세요. 시작하기 전에 표준 라우팅과 비공개 라우팅의 차이점과 대체 네임서버의 네트워크 요구사항을 이해해야 합니다.
gcloud
아웃바운드 서버 정책을 만들려면 dns policies
create
명령어를 실행합니다.
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \ --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST
다음을 바꿉니다.
NAME
: 정책 이름DESCRIPTION
: 정책에 대한 설명VPC_NETWORK_LIST
: 대체 네임서버를 쿼리하는 쉼표로 구분된 VPC 네트워크 목록ALTERNATIVE_NAMESERVER_LIST
: 대체 네임서버로 사용할 수 있는 쉼표로 구분된 IP 주소 목록입니다. 비공개 라우팅은 RFC 1918 주소가 있는 대체 네임서버에만 사용됩니다.PRIVATE_ALTERNATIVE_NAMESERVER_LIST
: 비공개 라우팅을 사용하여 액세스되는 대체 네임서버로 사용할 수 있는 쉼표로 구분된 IP 주소 목록입니다.
Terraform
두 가지 모두에 대한 서버 정책 만들기
gcloud
인바운드 및 아웃바운드 전달 모두에 대해 DNS 서버 정책을 만들려면 dns policies create
명령어를 실행합니다.
gcloud dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \ --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \ --enable-inbound-forwarding
다음을 바꿉니다.
NAME
: 정책 이름DESCRIPTION
: 정책에 대한 설명VPC_NETWORK_LIST
: 인바운드 전달 주소가 생성되어 대체 네임서버를 쿼리해야 하는 VPC 네트워크의 쉼표로 구분된 목록ALTERNATIVE_NAMESERVER_LIST
: 대체 네임서버로 사용할 수 있는 쉼표로 구분된 IP 주소 목록입니다. 비공개 라우팅은 RFC 1918 주소가 있는 대체 네임서버에만 사용됩니다.PRIVATE_ALTERNATIVE_NAMESERVER_LIST
: 비공개 라우팅을 사용하여 액세스되는 대체 네임서버로 사용할 수 있는 쉼표로 구분된 IP 주소 목록입니다.
Terraform
인바운드 포워더 진입점 나열
인바운드 서버 정책이 VPC 네트워크에 적용되면 Cloud DNS는 온프레미스 시스템 또는 이름 리졸버가 DNS 요청을 보낼 수 있는 대상 역할을 하는 리전 내부 IP 주소 집합을 만듭니다. 이러한 주소는 VPC 네트워크의 이름 확인 순서의 진입점 역할을 합니다.
Google Cloud 방화벽 규칙은 인바운드 포워더의 진입점 역할을 하는 리전 내부 주소에는 적용되지 않습니다. Cloud DNS는 포트 53
에서 TCP 및 UDP 트래픽을 자동으로 허용합니다.
각 인바운드 포워더는 리전 내부 IP 주소와 동일한 리전에 있는 Cloud VPN 터널 또는 Cloud Interconnect 연결(VLAN)에서 쿼리를 허용하고 수신합니다. VM 인스턴스는 동일한 VPC 네트워크의 내부 IP 주소를 통해 인바운드 전달자에 액세스할 수 있습니다. 인바운드 전달에 액세스하려면 네트워크 인터페이스에 외부 IP 주소가 있거나 NIC의 서브넷에 비공개 Google 액세스가 사용 설정되어 있어야 합니다.
gcloud
인바운드 전달을 위한 진입점 역할을 하는 리전 내부 IP 주소 집합을 나열하려면 compute addresses
list
명령어를 실행합니다.
gcloud compute addresses list \ --filter='purpose = "DNS_RESOLVER"' \ --format='csv(address, region, subnetwork)'
DNS 정책 업데이트
다음 섹션에서는 VPC 네트워크 변경 및 인바운드 전달 사용 설정 또는 사용 중지에 대한 정보를 제공합니다.
VPC 네트워크 변경
다음 목록은 DNS 정책이 적용되는 VPC 네트워크 목록을 변경하면 어떻게 되는지 설명합니다.
- 정책이 인바운드 정책을 지정하면 필요에 따라 인바운드 포워더의 진입점이 VPC 네트워크에 생성됩니다.
정책이 아웃바운드 정책을 지정하면 각 VPC 네트워크의 이름 확인 순서가 업데이트되어 모든 요청이 대체 네임서버로 전달됩니다.
gcloud
DNS 서버 정책이 적용되는 네트워크 목록을 수정하려면 dns policies update
명령어를 실행합니다.
gcloud dns policies update NAME \ --networks=VPC_NETWORK_LIST
다음을 바꿉니다.
NAME
: 정책 이름VPC_NETWORK_LIST
: 정책이 적용되는 VPC 네트워크의 쉼표로 구분된 목록입니다. 지정한 VPC 네트워크 목록으로 이전 목록이 대체됩니다.
인바운드 전달 사용 설정 또는 중지
아웃바운드 정책(또는 대체 네임서버)만 정의하는 DNS 서버 정책에 대해 인바운드 전달을 사용 설정할 수 있습니다. 기존 DNS 정책에 대해 인바운드 전달을 사용 중지할 수도 있습니다.
gcloud
DNS 서버 정책에 대한 인바운드 전달을 사용 설정하려면 dns policies
update
명령어를 실행합니다.
gcloud dns policies update NAME \ --enable-inbound-forwarding
DNS 서버 정책의 인바운드 전달을 사용 중지하려면 dns policies
update
명령어를 실행합니다.
gcloud dns policies update NAME \ --no-enable-inbound-forwarding
NAME
을 정책 이름으로 바꿉니다.
DNS 정책 나열
gcloud
프로젝트의 DNS 서버 정책을 나열하려면 dns policies
list
명령어를 실행합니다.
gcloud dns policies list
DNS 정책 삭제
gcloud
서버 정책을 삭제하려면 dns policies
delete
명령어를 실행합니다.
gcloud dns policies delete NAME
NAME
을 삭제할 정책의 이름으로 바꿉니다.
대체 네임서버 네트워크 요구사항
Cloud DNS는 대체 네임서버로 요청을 보낼 때 다음 표에 나열된 소스 범위로 패킷을 보냅니다.
대체 네임서버 유형 | 소스 범위 |
---|---|
유형 1 네임서버 아웃바운드 정책으로 동일한 VPC 네트워크에 있는 Google Cloud VM의 내부 IP 주소입니다. 유형 2 네임서버 Cloud VPN 또는 Cloud Interconnect를 사용하여 아웃바운드 정책으로 VPC 네트워크에 연결된 온프레미스 시스템의 IP 주소입니다. 지원되는 IP 주소에 대한 자세한 내용은 대체 네임서버 및 라우팅 방법을 참조하세요. |
Cloud DNS는 모든 고객에 대해 |
유형 3 네임서버 Google Cloud의 내부 또는 외부 IP 주소에 액세스할 수 있는 DNS 네임서버의 외부 IP 주소입니다(예: 다른 VPC 네트워크에 있는 VM의 외부 IP 주소). |
Google Public DNS 소스 범위 |
유형 1 및 유형 2의 대체 네임서버
유형 1 또는 유형 2 대체 네임서버에 액세스하려면 Cloud DNS에 다음이 필요합니다. 이러한 요구사항은 네임서버가 RFC 1918 IP 주소이고 표준 라우팅을 사용하는지 또는 비공개 라우팅을 선택하는지에 관계없이 동일합니다.
35.199.192.0/19
에 대한 방화벽 구성유형 1 네임서버의 경우 네임서버를 지정하는 아웃바운드 정책을 사용하도록 구성된 각 VPC 네트워크에서 대체 네임서버에 적용 가능한 TCP 및 UDP 포트
53
에 대한 인그레스 허용 방화벽 규칙을 만듭니다. 유형 2 네임서버의 경우 TCP 및 UDP 포트53
을 허용하도록 온프레미스 네트워크 방화벽 및 유사 장비를 구성합니다.대체 네임서버로 라우팅
유형 1 네임서버의 경우 Cloud DNS는 서브넷 경로를 사용하여 네임서버를 지정하는 아웃바운드 정책을 사용하도록 구성된 VPC 네트워크의 네임서버에 액세스합니다. 유형 2 네임서버의 경우 Cloud DNS는 태그가 추가된 정적 경로를 제외하고 커스텀 동적 또는 커스텀 정적 경로를 사용하여 네임서버에 액세스합니다.
동일한 VPC 네트워크를 통해
35.199.192.0/19
로 경로 반환유형 1 네임서버의 경우 Google Cloud는
35.199.192.0/19
대상에 특수 반환 경로를 자동으로 추가합니다. 유형 2 네임서버의 경우 온프레미스 네트워크에는35.199.192.0/19
대상에 대한 경로가 있어야 하며, 이러한 대상의 다음 홉은 Cloud VPN 터널 또는 Cloud Interconnect 연결(VLAN)을 통해 요청이 시작된 네트워크 및 리전과 동일한 VPC 네트워크 및 리전에 있습니다. 이 요구사항을 충족하는 방법은 유형 2 네임서버에 대한 반환 경로 전략을 참조하세요.대체 네임서버의 직접 응답
Cloud DNS에서는 패킷을 수신하는 대체 네임서버가
35.199.192.0/19
로 응답을 보내야 합니다. 네임서버가 요청을 다른 네임서버로 보내고 다른 네임서버가35.199.192.0/19
에 응답하면 Cloud DNS는 응답을 무시합니다. 보안상의 이유로 Google Cloud는 각 대체 네임서버의 DNS 응답 소스 주소가 대체 네임서버의 IP 주소와 일치할 것으로 예상합니다.
유형 2 네임서버의 반환 경로 전략
유형 2 네임서버의 응답은 인터넷, 다른 VPC 네트워크 또는 다른 리전(동일한 VPC 네트워크 내)을 통해 전송할 수 없습니다. 응답은 동일한 리전 및 VPC 네트워크로 반환되어야 하지만, 동일한 리전 및 동일한 네트워크에서 Cloud VPN 터널 또는 Cloud Interconnect 연결(VLAN)을 사용할 수는 있습니다.
- 정적 라우팅을 사용하는 Cloud VPN 터널의 경우 대상이
35.199.192.0/19
이고 다음 홉이 Cloud VPN 터널인 온프레미스 네트워크에 수동으로 경로를 만듭니다. 정책 기반 라우팅을 사용하는 Cloud VPN 터널의 경우 Cloud VPN의 로컬 트래픽 선택기와 온프레미스 VPN 게이트웨이의 원격 트래픽 선택기를 구성하여35.199.192.0/19
를 포함시킵니다. - 동적 라우팅을 사용하는 Cloud VPN 터널 또는 Cloud Interconnect의 경우 터널 또는 VLAN 연결을 관리하는 Cloud Router의 BGP 세션에서
35.199.192.0/19
에 대해 커스텀 경로 공지를 구성합니다.
유형 3 대체 네임서버
Cloud DNS는 표준 라우팅을 사용하여 외부 IP 주소에 액세스할 때 대체 네임서버가 인터넷의 시스템, 공개적으로 액세스 가능한 시스템, Google Cloud 리소스의 외부 IP 주소인 것으로 고려합니다.
예를 들어 유형 3 대체 네임서버에는 다른 VPC 네트워크에 있는 VM의 외부 IP 주소가 포함됩니다.
유형 3 대체 네임서버로의 비공개 라우팅은 지원되지 않습니다.
다음 단계
- Cloud DNS를 사용할 때 발생할 수 있는 일반적인 문제에 대한 해결책을 찾으려면 문제 해결을 참조하세요.
- Cloud DNS 개요는 Cloud DNS 개요를 참조하세요.