DNS 서버 정책

각 Virtual Private Cloud(VPC) 네트워크마다 하나의 DNS 서버 정책을 구성할 수 있습니다. 정책을 통해 인바운드 DNS 전달, 아웃바운드 전달 또는 둘 다 지정하는 것이 가능합니다. 이 섹션에서 인바운드 서버 정책이란 인바운드 DNS 전달을 허용하는 정책을 의미합니다. 아웃바운드 서버 정책이란 아웃바운드 DNS 전달을 구현하기 위한 한 가지 가능한 방법을 의미합니다. 정책이 두 서버 정책의 특징을 모두 구현한다면 정책이 인바운드 서버 정책이면서 동시에 아웃바운드 서버 정책일 수 있습니다.

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

인바운드 서버 정책

각 VPC 네트워크는 VPC 네트워크에 연결된 네트워크 인터페이스(vNIC)가 있는 가상 머신(VM) 인스턴스에 Cloud DNS 이름 변환 서비스를 제공합니다. VM이 메타데이터 서버 169.254.169.254를 네임서버로 사용할 때 Google Cloud는 VPC 네트워크 이름 확인 순서에 따라 Cloud DNS 리소스를 검색합니다.

Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 라우터 어플라이언스를 사용하여 VPC 네트워크에 연결된 온프레미스 네트워크에서 VPC 네트워크의 이름 변환 서비스를 사용할 수 있도록 하려면 인바운드 서버 정책이 필요합니다.

인바운드 서버 정책을 만들 때 Cloud DNS는 서버 정책이 적용되는 VPC 네트워크에 인바운드 서버 정책 진입점을 만듭니다. 인바운드 서버 정책 진입점은 특정 --purpose 데이터(예: 특정 부하 분산기에 대한 프록시 전용 서브넷 및 Private NAT에 Cloud NAT에 사용되는 서브넷)를 사용하는 서브넷을 제외하고 해당 VPC 네트워크의 모든 서브넷에 대한 기본 IPv4 주소 범위에서 가져온 내부 IPv4 주소입니다.

예를 들어 동일한 리전에 두 개의 서브넷이 있고 다른 리전에 세 번째 서브넷이 있는 VPC 네트워크인 경우, 해당 VPC 네트워크에 인바운드 서버 정책을 구성하면 Cloud DNS는 인바운드 서버 정책 진입점으로 총 3개의 IPv4 주소(서브넷당 하나)를 사용합니다.

VPC의 인바운드 서버 정책을 만드는 방법에 대한 자세한 내용은 인바운드 서버 정책 만들기를 참조하세요.

인바운드 쿼리의 네트워크 및 리전

인바운드 서버 정책 진입점으로 전송되는 DNS 쿼리를 처리하기 위해 Cloud DNS는 쿼리를 VPC 네트워크 및 리전과 연결합니다.

  • DNS 쿼리의 연결 VPC 네트워크는 Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 DNS 쿼리의 패킷을 수신하는 라우터 어플라이언스의 네트워크 인터페이스가 포함된 VPC 네트워크입니다.

    • Google에서는 온프레미스 네트워크에 연결되는 VPC 네트워크에서 인바운드 서버 정책을 만드는 것을 권장합니다. 이렇게 하면 인바운드 서버 정책 진입점은 Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 온프레미스 네트워크에 연결되는 라우터 어플라이언스와 동일한 VPC 네트워크에 위치합니다.

    • 온프레미스 네트워크는 다른 VPC 네트워크의 인바운드 서버 정책 진입점에 쿼리를 보낼 수 있습니다. 예를 들어, Cloud VPN 터널, Cloud Interconnect VLAN 연결, 또는 온프레미스 네트워크에 연결되는 라우터 어플라이언스가 포함된 VPC 네트워크는 VPC 네트워크 피어링을 사용하여 다른 VPC 네트워크에도 연결됩니다. 하지만 DNS 쿼리의 연결 VPC 네트워크가 인바운드 서버 정책 진입점이 포함된 VPC 네트워크와 일치하지 않으므로 이 구성을 사용하지 않는 것이 좋습니다. 이는 DNS 쿼리가 인바운드 서버 정책이 포함된 VPC 네트워크에서 Cloud DNS 비공개 영역 및 응답 정책을 사용하여 확인되지 않는다는 의미이기 때문입니다. 혼동을 피하려면 다음 구성 단계를 대신 수행하는 것이 좋습니다.

      1. Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 라우터 어플라이언스를 사용하여 온프레미스 네트워크에 연결하는 VPC 네트워크의 인바운드 서버 정책을 만듭니다.
      2. 이전 단계에서 구성한 인바운드 서버 정책 진입점으로 DNS 쿼리를 전송하도록 온프레미스 시스템을 구성합니다.
      3. 온프레미스 네트워크에 연결되는 VPC 네트워크에 승인된 Cloud DNS 리소스를 구성합니다. 다음 방법 중 한 가지 이상을 사용하세요.

        • 온프레미스 네트워크에 연결된 VPC 네트워크를 다른 VPC 네트워크에 대해 승인된 Cloud DNS 비공개 영역의 승인된 네트워크 목록에 추가: Cloud DNS 비공개 영역과 온프레미스 네트워크에 연결되는 VPC 네트워크가 동일한 조직의 서로 다른 프로젝트에 있는 경우 네트워크를 승인할 때 전체 네트워크 URL을 사용합니다. 자세한 내용은 프로젝트 간 바인딩 설정을 참조하세요.
        • 온프레미스 네트워크에 연결되는 VPC 네트워크에 승인된 Cloud DNS 피어링 영역: 피어링 영역의 대상 네트워크를 다른 VPC 네트워크로 설정합니다. Cloud DNS 피어링 영역은 네트워크 연결에 VPC 네트워크 피어링에 의존하지 않으므로 온프레미스 네트워크에 연결하는 VPC 네트워크가 VPC 네트워크 피어링을 사용하여 피어링 영역의 대상 VPC 네트워크에 연결되어 있는지 여부는 중요하지 않습니다.
  • DNS 쿼리의 연결 리전은 인바운드 서버 정책 진입점이 포함된 서브넷의 리전이 아니라, 항상 Cloud VPN 터널, Cloud Interconnect VLAN 연결, 또는 DNS 쿼리의 패킷을 수신하는 라우터 어플라이언스의 네트워크 인터페이스가 포함된 리전입니다.

    • 예를 들어 DNS 쿼리의 패킷이 us-east1 리전에 있는 Cloud VPN 터널을 사용하여 VPC 네트워크에 들어가고 us-west1의 인바운드 서버 정책 진입점으로 전송되는 경우 DNS 쿼리의 연결 리전은 us-east1입니다.
    • DNS 쿼리를 Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 라우터 어플라이언스와 동일한 리전에 있는 인바운드 서버 정책 진입점의 IPv4 주소로 보내는 것이 가장 좋습니다.
    • DNS 쿼리에 연결된 리전은 위치정보 라우팅 정책을 사용하는 경우에 중요합니다. 자세한 내용은 DNS 라우팅 정책 및 상태 점검 관리를 참조하세요.

인바운드 서버 정책 진입점 경로 공지

인바운드 서버 정책 진입점 IP 주소는 서브넷의 기본 IPv4 주소 범위에서 가져오기 때문에, Cloud Router는 Cloud VPN 터널, Cloud Interconnect VLAN 연결, 또는 라우터 어플라이언스의 Border Gateway Protocol(BGP) 세션이 Cloud Router를 기본 공지 모드로 사용하도록 구성되면 해당 IP 주소를 공지합니다. 다음 방법 중 하나를 사용하여 Cloud Router 커스텀 공지 모드를 사용하는 경우 인바운드 서버 정책 진입점 IP 주소를 공지하도록 BGP 세션을 구성할 수도 있습니다.

  • 커스텀 접두사 외에도 서브넷 IP 주소 범위를 공지하는 방법
  • 커스텀 접두사 공지에 인바운드 서버 정책 진입점 IP 주소를 포함하는 방법

아웃바운드 서버 정책

대체 네임서버 목록을 지정하는 아웃바운드 서버 정책을 만들어 VPC 네트워크의 Cloud DNS 이름 변환 순서를 수정할 수 있습니다. VM이 메타데이터 서버 169.254.169.254를 네임서버로 사용하고 VPC 네트워크에 대체 네임서버를 지정하면 Cloud DNS는 Google Kubernetes Engine 클러스터 범위의 응답 정책 또는 GKE 클러스터 범위의 비공개 영역과 쿼리가 일치하지 않는 경우 모든 쿼리를 대체 네임서버로 보냅니다.

아웃바운드 서버 정책에 대체 네임서버가 두 개 이상 있는 경우 Cloud DNS는 대체 네임서버의 순위를 지정하고 VPC 이름 변환 순서의 첫 번째 단계에 설명된 대로 쿼리합니다.

아웃바운드 서버 정책을 만드는 방법에 대한 자세한 내용은 아웃바운드 서버 정책 만들기를 참조하세요.

대체 네임서버 유형, 라우팅 방법, 주소

Cloud DNS는 세 가지 유형의 대체 네임서버를 지원하며 연결을 위한 표준 또는 비공개 라우팅 방법을 제공합니다.

대체 네임서버 유형 표준 라우팅 지원 비공개 라우팅 지원 쿼리 소스 IP 주소 범위

유형 1 네임서버

아웃바운드 서버 정책이 정의된 동일한 VPC 네트워크에 있는 Google Cloud VM의 내부 IP 주소입니다.

RFC 1918 IP 주소만 지원합니다. 트래픽은 항상 승인된 VPC 네트워크를 통해 라우팅됩니다. 금지된 대체 네임서버 IP 주소를 제외한 모든 내부 IP 주소(예: RFC 1918 비공개 주소, RFC 1918 이외의 비공개 IP 주소, 비공개적으로 재사용되는 공개 IP 주소)입니다. 트래픽은 항상 승인된 VPC 네트워크를 통해 라우팅됩니다. 35.199.192.0/19

유형 2 네임서버

Cloud VPN 또는 Cloud Interconnect를 사용하여 아웃바운드 서버 정책으로 VPC 네트워크에 연결된 온프레미스 시스템의 IP 주소입니다.

RFC 1918 IP 주소만 지원합니다. 트래픽은 항상 승인된 VPC 네트워크를 통해 라우팅됩니다. 금지된 대체 네임서버 IP 주소를 제외한 모든 내부 IP 주소(예: RFC 1918 비공개 주소, RFC 1918 이외의 비공개 IP 주소, 비공개적으로 재사용되는 공개 IP 주소)입니다. 트래픽은 항상 승인된 VPC 네트워크를 통해 라우팅됩니다. 35.199.192.0/19

유형 3 네임서버

인터넷 또는 Google Cloud 리소스의 외부 IP 주소(예: 다른 VPC 네트워크에 있는 VM의 외부 IP 주소)에 액세스할 수 있는 DNS 네임서버의 외부 IP 주소입니다.

인터넷으로 라우팅할 수 있는 외부 IP 주소만 지원합니다. 트래픽은 항상 인터넷 또는 Google Cloud 리소스의 외부 IP 주소로 라우팅됩니다. 비공개 라우팅은 지원되지 않습니다. Google Public DNS 소스 범위

Cloud DNS는 대체 네임서버 쿼리를 위해 두 가지 라우팅 방법을 제공합니다.

  • 표준 라우팅: Cloud DNS는 해당 IP 주소를 사용하여 대체 네임서버 유형을 결정한 다음 비공개 또는 공개 라우팅을 사용합니다.

    • 대체 네임서버가 RFC 1918 IP 주소이면 Cloud DNS는 네임서버를 유형 1 또는 유형 2 네임서버로 분류하고, 승인된 VPC 네트워크를 통해 쿼리를 라우팅합니다(비공개 라우팅).

    • 대체 네임서버가 RFC 1918 IP 주소가 아닌 경우 Cloud DNS는 네임서버를 유형 3으로 분류하고, 대체 네임 서버가 인터넷에 액세스할 수 있기를 기대합니다. Cloud DNS는 인터넷을 통해 쿼리를 라우팅합니다(공개 라우팅).

  • 비공개 라우팅: Cloud DNS는 대체 네임서버를 유형 1 또는 유형 2로 취급합니다. Cloud DNS는 대체 네임서버의 IP 주소(RFC 1918 여부)에 관계없이 항상 승인된 VPC 네트워크를 통해 트래픽을 라우팅합니다.

금지된 대체 네임서버 IP 주소

Cloud DNS 대체 네임서버에는 다음 IP 주소를 사용할 수 없습니다.

  • 169.254.0.0/16
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 224.0.0.0/4
  • 240.0.0.0/4
  • ::1/128
  • ::/128
  • 2001:db8::/32
  • fe80::/10
  • fec0::/10
  • ff00::/8

대체 네임서버 네트워크 요구사항

대체 네임서버의 네트워크 요구사항은 대체 네임서버의 유형에 따라 다릅니다. 대체 네임서버의 유형을 확인하려면 대체 네임서버 유형, 라우팅 방법, 주소를 참조하세요. 그런 다음 네트워크 요구사항에 대한 다음 섹션 중 하나를 참조하세요.

유형 1 대체 네임서버의 네트워크 요구사항

Cloud DNS는 소스가 35.199.192.0/19 IP 주소 범위에서 유형 1 대체 네임서버 IP 주소로 된 패킷을 전송합니다. Google Cloud는 VPC 네트워크의 로컬 서브넷 경로를 사용하여 쿼리의 패킷을 라우팅합니다. 대상에 유형 1 대체 네임서버 IP 주소가 포함된 정책 기반 경로가 생성되지 않았는지 확인합니다.

대체 네임서버 VM에서 수신 패킷을 허용하려면 다음 특성을 가진 방화벽 정책에서 인그레스 허용 VPC 방화벽 규칙을 만들어야 합니다. :

  • 대상: 대체 네임서버 VM을 포함해야 함
  • 소스: 35.199.192.0/19
  • 프로토콜: TCPUDP
  • 포트: 53

Cloud DNS에서는 각 대체 네임서버가 쿼리가 시작된 35.199.192.0/19의 Cloud DNS IP 주소로 응답 패킷을 다시 보내야 합니다. 응답 패킷의 소스는 Cloud DNS가 원본 쿼리를 보내는 대체 네임서버의 IP 주소와 일치해야 합니다. Cloud DNS는 예상치 못한 IP 주소 소스(예: 대체 네임서버가 쿼리를 전달할 수 있는 다른 네임서버의 IP 주소)에서 온 응답을 무시합니다.

유형 1 대체 네임서버가 응답 패킷을 35.199.192.0/19에 전송할 때는 Google Cloud가 각 VPC 네트워크에 추가하는 특수 반환 경로를 사용합니다.

유형 2 대체 네임서버의 네트워크 요구사항

Cloud DNS는 소스가 35.199.192.0/19 IP 주소 범위에서 유형 2 대체 네임서버로 지정된 패킷을 전송합니다. Cloud DNS는 아웃바운드 서버 정책이 적용되는 VPC 네트워크 에 다음과 같은 유형의 경로를 사용합니다.

유형 2 대체 네임서버에서 수신 패킷을 허용하려면 대체 네임서버 및 방화벽 기능이 있는 관련 온프레미스 네트워크 장비에 적용할 수 있는 인그레스 허용 방화벽 규칙을 구성해야 합니다. 유효한 방화벽 구성은 목적지 포트 5335.199.192.0/19 소스인 TCPUDP 프로토콜을 모두 허용해야 합니다.

Cloud DNS에서는 각 대체 네임서버가 쿼리가 시작된 35.199.192.0/19의 Cloud DNS IP 주소로 응답 패킷을 다시 보내야 합니다. 응답 패킷의 소스는 Cloud DNS가 원본 쿼리를 보내는 대체 네임서버의 IP 주소와 일치해야 합니다. Cloud DNS는 예상치 못한 IP 주소 소스(예: 대체 네임서버가 쿼리를 전달할 수 있는 다른 네임서버의 IP 주소)에서 온 응답을 무시합니다.

온프레미스 네트워크에는 다음 홉이 Cloud VPN 터널 또는 Cloud Interconnect VLAN 연결이거나, Cloud DNS가 쿼리를 전송하는 것과 동일한 VPC 네트워크와 리전에 위치한 Cloud Router인 35.199.192.0/19 대상에 대한 경로가 있어야 합니다. 다음 홉이 이러한 네트워크 및 리전 요구사항을 충족하는 한 Google Cloud는 대칭 반환 경로가 필요하지 않습니다. 유형 2 대체 네임서버의 응답은 아래의 다음 홉을 사용해서는 라우팅할 수 없습니다.

  • 인터넷의 다음 홉
  • 쿼리가 발생한 VPC 네트워크와 다른 VPC 네트워크의 다음 홉
  • 동일한 VPC 네트워크에 있지만, 쿼리가 시작된 리전과 다른 리전의 다음 홉

온프레미스 네트워크에서 35.199.192.0/19 경로를 구성하려면 Cloud Router 커스텀 공지 모드를 사용하고, 유형 2 대체 네임서버가 포함된 온프레미스 네트워크에 VPC 네트워크를 연결하는 관련 Cloud VPN 터널, Cloud Interconnect VLAN 연결 또는 Cloud Router의 BGP 세션의 커스텀 접두사로 35.199.192.0/19를 포함하세요. 또는 온프레미스 네트워크에서 동일한 정적 경로를 구성할 수 있습니다.

유형 3 대체 네임서버의 네트워크 요구사항

Cloud DNS는 소스가 Google Public DNS 소스 범위와 일치하는 패킷을 유형 3 대체 네임서버로 보냅니다. Cloud DNS는 공개 라우팅을 사용하며, 아웃바운드 서버 정책이 적용되는 VPC 네트워크 에 경로를 사용하지 않습니다.

유형 3 대체 네임서버에서 들어오는 패킷을 허용하려면 대체 네임서버에 적용 가능한 유효한 방화벽 구성이 Google Public DNS 소스 범위의 패킷을 허용하는지 확인하세요.