Cloud DNS 서버 정책 적용

이 페이지에서는 Cloud DNS 서버 정책을 구성하고 Virtual Private Cloud(VPC) 네트워크와 함께 사용하는 방법을 설명합니다. 이 페이지를 사용하기 전에 Cloud DNS 개념을 숙지하세요.

시작하기 전에

Cloud DNS API를 사용하려면 Google Cloud 프로젝트를 만들고 Cloud DNS API를 사용 설정해야 합니다.

REST API를 사용하는 애플리케이션을 만드는 경우 OAuth 2.0 클라이언트 ID도 만들어야 합니다.

  1. 아직 계정이 없으면 Google 계정에 가입합니다.
  2. Cloud Console에서 Cloud DNS API를 사용 설정합니다. 기존의 Compute Engine 또는 App Engine 프로젝트를 선택하거나 새 프로젝트를 만들 수 있습니다.
  3. REST API에 요청해야 하는 경우 OAuth 2.0 ID를 만들어야 합니다(OAuth 2.0 설정).
  4. 나중에 입력해야 하는 프로젝트의 다음 정보를 기록해 둡니다.
    • 클라이언트 ID(xxxxxx.apps.googleusercontent.com)
    • 사용할 프로젝트 ID. ID는 Cloud Console의 개요 페이지 상단에서 찾을 수 있습니다. 또한 사용자에게 앱에서 사용할 프로젝트 이름을 제공하도록 요청할 수도 있습니다.

이전에 gcloud 명령줄 도구를 실행하지 않았으면 다음 명령어를 실행하여 프로젝트 이름을 지정하고 Cloud Console에서 인증을 수행해야 합니다.

gcloud auth login

이전에 선택한 프로젝트와 다른 프로젝트를 선택하려면 명령줄에서 --project 옵션을 지정합니다.

DNS 서버 정책 만들기

각 DNS 서버 정책 객체는 다음 서버 정책을 정의할 수 있습니다.

각 VPC 네트워크는 하나 이상의 DNS 서버 정책을 참조할 수 있습니다. VPC 네트워크의 인바운드 전달과 아웃바운드 전달을 모두 정의해야 하는 경우 인바운드 정책과 아웃바운드 정책을 모두 정의하는 정책을 하나 만듭니다.

DNS 서버 정책에 대한 자세한 내용은 DNS 서버 정책을 참조하세요.

인바운드 서버 정책 만들기

인바운드 서버 정책을 만들려면 다음 안내를 따르세요. 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 네트워크 목록

아웃바운드 서버 정책 만들기

아웃바운드 서버 정책을 만들고 모든 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 주소 목록. 자세한 내용은 대체 네임서버 및 라우팅 방법을 참조하세요.

두 가지 모두에 대한 서버 정책 만들기

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 주소 목록. 자세한 내용은 대체 네임서버 및 라우팅 방법을 참조하세요.

인바운드 포워더 진입점 나열

인바운드 서버 정책이 VPC 네트워크에 적용되면 Cloud DNS는 온프레미스 시스템 또는 이름 리졸버가 DNS 요청을 보낼 수 있는 대상 역할을 하는 리전 내부 IP 주소 집합을 만듭니다. 이러한 주소는 VPC 네트워크의 이름 확인 순서의 진입점 역할을 합니다.

Google Cloud 방화벽 규칙은 인바운드 포워더의 진입점 역할을 하는 리전 내부 주소에는 적용되지 않습니다. Cloud DNS는 포트 53에서 TCP 및 UDP 트래픽을 자동으로 허용합니다.

각 인바운드 포워더는 리전 내부 IP 주소와 동일한 리전에 있는 Cloud VPN 터널 또는 Cloud Interconnect 연결(VLAN)에서 쿼리를 허용하고 수신합니다.

gcloud

인바운드 전달의 진입점 역할을 하는 리전 내부 IP 주소 집합을 나열하려면 compute address list 명령어를 사용합니다.

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

DNS 정책 업데이트

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 네트워크의 VM)
  • 유형 2 네임서버
    (온프레미스, 발신 정책이 있는 VPC 네트워크에 연결됨)
35.199.192.0/19
Cloud DNS는 모든 고객에 대해 35.199.192.0/19 소스 범위를 사용합니다. 이 범위는 Google Cloud VPC 네트워크 또는 VPC 네트워크에 연결된 온프레미스 네트워크 에서만 액세스할 수 있습니다.
  • 유형 3 네임서버
    (인터넷 액세스 가능)
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의 경우 터널 또는 Interconnect 연결(VLAN)을 관리하는 Cloud Router의 BGP 세션에서 35.199.192.0/19에 대한 커스텀 경로 공지를 구성합니다.

유형 3 대체 네임서버

Cloud DNS가 표준 라우팅을 사용하여 비 RFC 1918 IP 주소에 액세스할 경우 대체 네임서버에 공개적으로 액세스할 수 있어야 합니다.

다음 단계