이름 변환 순서

Cloud DNS는 다음 절차를 수행하여 Compute Engine 가상 머신(VM) 인스턴스와 Google Kubernetes Engine(GKE) 노드의 쿼리에 답변합니다.

GKE 노드 이외의 Compute Engine VM의 경우 Cloud DNS는 VPC 네트워크 변환 순서에 따라 수신하는 쿼리를 처리합니다. 각 VM은 메타데이터 서버 IP 주소(169.254.169.254)를 네임서버로 사용하도록 구성되어야 합니다.

GKE 노드의 경우:

  1. Cloud DNS는 먼저 클러스터 범위 응답 정책 및 비공개 영역을 사용하여 쿼리 일치를 시도합니다.

  2. Cloud DNS는 VPC 네트워크 변환 순서에 따라 계속 진행합니다.

클러스터 범위 응답 정책 및 비공개 영역

  1. GKE 클러스터 범위 응답 정책의 규칙을 사용하여 일치시킵니다. Cloud DNS는 DNS 이름 속성이 최대한 많은 쿼리와 일치하는 규칙에 대해 적용 가능한 모든 GKE 클러스터 범위 응답 정책을 스캔합니다. Cloud DNS는 최장 서픽스 일치를 사용하여 클러스터 범위 응답 정책을 스캔합니다.

    1. Cloud DNS가 일치하는 응답 정책 규칙을 찾고 규칙이 로컬 데이터를 제공하는 경우 Cloud DNS는 로컬 데이터를 응답으로 반환하고 이름 변환 프로세스를 완료합니다.

    2. Cloud DNS가 일치하는 응답 정책 규칙을 찾고 규칙의 동작이 응답 정책을 우회하는 경우 Cloud DNS는 다음 단계로 진행합니다.

    3. Cloud DNS가 일치하는 응답 정책을 찾지 못하거나 노드에 적용 가능한 클러스터 범위 응답 정책이 없으면 Cloud DNS는 다음 단계로 진행합니다.

  2. 클러스터 범위 비공개 영역에서 레코드를 일치시킵니다. Cloud DNS는 가능한 한 많은 쿼리와 일치하는 레코드에 대해 모든 클러스터 범위의 관리형 비공개 영역을 스캔합니다. Cloud DNS는 최장 서픽스 일치를 사용하여 클러스터 범위 비공개 영역에서 레코드를 찾습니다.

    1. 쿼리의 가장 구체적인 일치 항목이 클러스터 범위의 관리형 비공개 영역에 있는 레코드인 경우 Cloud DNS는 이름 변환 프로세스를 완료하여 레코드 데이터를 응답으로 반환합니다.

    2. 쿼리의 가장 구체적인 일치 항목이 클러스터 범위 전달 영역의 영역 이름인 경우 Cloud DNS는 이름 변환 프로세스를 완료하기 위해 쿼리를 전달 영역의 전달 대상 중 하나로 전달합니다. Cloud DNS는 다음 응답 중 하나를 반환합니다.

      • 전달 대상에서 수신된 응답
      • 전달 대상이 Cloud DNS에 응답하지 않는 경우 SERVFAIL 응답
    3. 쿼리가 클러스터 범위 비공개 영역과 일치하지 않으면 Cloud DNS는 VPC 네트워크 변환 순서로 이동합니다.

VPC 네트워크 변환 순서

  1. VPC 네트워크 대체 네임서버 VPC 네트워크에 아웃바운드 서버 정책이 포함된 경우 Google Cloud는 해당 정책에 정의된 대체 네임서버 중 하나로 쿼리를 전달하여 이름 변환 프로세스를 완료합니다.

    아웃바운드 서버 정책에 두 개 이상의 대체 네임서버가 있는 경우 Cloud DNS는 내부 알고리즘을 사용하여 대체 네임서버의 순위를 지정합니다. 동등한 순위부터 대체 네임서버는 성공한 응답 비율(NXDOMAIN 응답 포함)과 최단 왕복 시간(응답 지연 시간이 가장 짧음)을 기준으로 순위를 높입니다.

    Cloud DNS는 대체 네임서버로 쿼리를 보내고 다음 프로세스를 사용하여 응답을 반환합니다.

    • 아웃바운드 서버 정책에 두 개 이상의 대체 네임서버가 있는 경우, Cloud DNS는 먼저 순위가 가장 높은 대체 네임서버로 쿼리를 보낸 후, Cloud DNS가 우선순위가 가장 높은 대체 네임서버로부터 어떤 응답도 받지 않은 경우 다음 순위로 지정된 대체 네임서버로 쿼리를 보냅니다. Cloud DNS가 차등 대체 네임서버에서 응답을 받지 못하면 Cloud DNS는 대체 네임서버 목록을 소진할 때까지 순위를 내림차순으로 계속 바꿉니다.

    • Cloud DNS가 대체 네임서버에서 응답을 수신하면 Cloud DNS는 해당 응답을 반환합니다. 응답에는 NXDOMAIN 응답이 포함됩니다.

    • Cloud DNS가 아웃바운드 서버 정책에 있는 모든 대체 네임서버의 응답을 받지 않는 경우 Cloud DNS는 SERVFAIL 응답을 합성합니다. 대체 네임서버 연결 문제를 해결하려면 대체 네임서버 네트워크 요구사항을 참조하세요.

    VPC 네트워크에 아웃바운드 서버 정책이 없는 경우 Cloud DNS는 다음 단계로 진행합니다.

  2. VPC 네트워크 범위 응답 정책의 규칙을 사용하여 일치시킵니다. Cloud DNS는 DNS 이름 속성이 최대한 많은 쿼리와 일치하는 규칙에 대해 적용 가능한 모든 VPC 네트워크 응답 정책을 스캔합니다. Cloud DNS는 최장 서픽스 일치를 사용하여 네트워크 범위 응답 정책을 스캔합니다.

    1. Cloud DNS가 일치하는 응답 정책 규칙을 찾고 규칙이 로컬 데이터를 제공하는 경우 Cloud DNS는 로컬 데이터를 응답으로 반환하고 이름 변환 프로세스를 완료합니다.

    2. Cloud DNS가 일치하는 응답 정책 규칙을 찾고 규칙의 동작이 응답 정책을 우회하는 경우 Cloud DNS는 다음 단계로 진행합니다.

    3. Cloud DNS가 일치하는 응답 정책을 찾지 못하거나 VM 또는 노드에 적용 가능한 네트워크 범위 응답 정책이 없으면 Cloud DNS는 다음 단계로 진행합니다.

  3. VPC 네트워크 범위의 관리형 비공개 영역 및 Compute Engine .internal 영역의 레코드를 일치시킵니다. Cloud DNS는 최대한 많은 쿼리와 일치하는 레코드에 대해 적용 가능한 모든 Compute Engine 내부 DNS 영역과 VPC 네트워크에 승인된 모든 관리형 비공개 영역을 스캔합니다. Cloud DNS는 최장 서픽스 일치를 사용하여 레코드를 찾습니다.

    1. 쿼리의 가장 구체적인 일치 항목이 Compute Engine 내부 DNS 이름인 경우 Cloud DNS는 VM 네트워크 인터페이스의 내부 IPv4 주소를 응답으로 반환하고 이름 변환 프로세스를 완료합니다. 관리형 비공개 영역의 레코드는 비공개 영역의 레코드가 더 구체적으로 일치하는 경우에만 자동으로 생성된 Compute Engine 내부 DNS 이름보다 우선합니다.

    2. 쿼리의 가장 구체적인 일치 항목이 네트워크 범위의 관리형 비공개 영역에 있는 레코드인 경우 Cloud DNS는 이름 변환 프로세스를 완료하여 레코드 데이터를 응답으로 반환합니다.

    3. 쿼리의 가장 구체적인 일치 항목이 네트워크 범위 전달 영역의 영역 이름인 경우, Cloud DNS는 이름 변환 프로세스를 완료하기 위해 쿼리를 전달 영역의 전달 대상 중 하나로 전달합니다. Cloud DNS는 다음 응답 중 하나를 반환합니다.

      • 전달 대상에서 수신된 응답
      • 전달 대상이 Cloud DNS에 응답하지 않는 경우 SERVFAIL 응답
    4. 쿼리의 가장 구체적인 일치 항목이 네트워크 범위 피어링 영역의 이름인 경우 Cloud DNS는 현재 이름 변환 프로세스를 중지하고 피어링 영역의 대상 VPC 네트워크 관점에서 새로운 이름 변환 프로세스를 시작합니다.

    쿼리가 Compute Engine 내부 DNS 이름과 일치하지 않거나 쿼리가 비공개 영역, 전달 영역 또는 피어링 영역과 일치하지 않으면 Cloud DNS는 다음 단계로 진행합니다.

  4. 공개 DNS 쿼리를 사용하여 레코드를 일치시킵니다.: Google Cloud는 권한 개시 정보(SOA) 레코드를 따라 Cloud DNS 공개 영역을 포함한 공개적으로 사용 가능한 영역을 쿼리합니다. Cloud DNS는 다음 응답 중 하나를 반환합니다.

    • 권한 네임서버에서 받은 응답
    • 레코드가 없는 경우 NXDOMAIN 응답

예시

다음 범위의 리소스와 함께 VPC 네트워크 두 개(vpc-avpc-b)와 GKE 클러스터 cluster-a가 있다고 가정합니다.

  1. vpc-a은 다음 비공개 영역을 쿼리하도록 승인됩니다. 각 항목의 후행 점을 확인합니다.

    • static.example.com.
    • 10.internal.
  2. peer.com.vpc-b의 VPC 이름 변환 순서를 쿼리할 수 있는 피어링 영역입니다.

  3. vpc-a는 아웃바운드 서버나 응답 정책과 연결되지 않습니다.

  4. cluster-aexample.com이라는 비공개 영역을 쿼리하도록 승인됩니다. cluster-a도 아웃바운드 서버나 응답 정책과 연결되지 않습니다.

  5. cluster-a의 VM은 다음을 쿼리할 수 있습니다.

    • cluster-a에 승인된 비공개 영역(example.com)에서 응답하는 example.com 및 하위 요소(static.example.com 포함)
    • vpc-a에서 10.internal
    • 피어링 영역을 사용하는 peer.com
  6. cluster-a없는 VM은 다음을 쿼리할 수 있습니다.

    • vpc-a에 승인된 비공개 영역(static.example.com)에서 응답하는 static.example.com 및 하위 요소. example.com 쿼리는 인터넷 응답을 반환합니다.
    • vpc-a에서 10.internal
    • 피어링 영역을 사용하는 peer.com

다음 단계