DNS 영역 만들기

이 페이지에서는 Google Distributed Cloud (GDC) 에어 갭에서 새 도메인의 DNS 확인을 구성하는 방법을 안내합니다. DNS 영역을 사용하여 GDC에서

이 페이지의 대상은 조직의 DNS 확인을 관리하는 플랫폼 관리자 및 애플리케이션 운영자입니다.

GDC 환경에서 서비스의 공개 상태 및 액세스 요구사항에 맞게 공개 또는 비공개 DNS 영역을 만들 수 있습니다.

  • 외부 네트워크 공개 상태 및 액세스가 필요한 서비스: 네트워크 외부의 사용자 및 시스템이 서비스에 액세스할 수 있도록 공개 DNS 영역을 설정합니다. 웹사이트, 공개 API 또는 GDC Cloud 환경 외부에서 연결할 수 있어야 하는 서비스가 있는 경우 도메인 이름을 적절한 IP 주소에 매핑하는 공개 DNS 영역이 필요합니다.
  • 내부 시스템에 대한 보안 및 제한된 액세스가 필요한 서비스의 경우: 비공개 DNS 영역을 설정하여 내부 도메인 이름을 숨기고 내부 서비스에 대한 액세스를 제한합니다. 보안 프로토콜과 비공개 IP 주소만 사용하여 다른 내부 서비스와 통신해야 하는 내부 애플리케이션, 데이터베이스 또는 마이크로서비스가 있는 경우 도메인 이름을 적절한 IP 주소에 매핑하는 비공개 DNS 영역이 필요합니다. 비공개 DNS 영역을 사용하면 이러한 서비스가 외부 네트워크에 존재 또는 IP 주소를 노출하지 않고 내부 도메인 이름을 사용하여 서로를 찾을 수 있습니다. 이렇게 하면 보안이 강화되고 내부 네트워킹이 간소화됩니다.

공개 DNS 영역과 비공개 DNS 영역의 차이점에 대한 자세한 내용은 Cloud DNS 영역 유형을 참고하세요.

시작하기 전에

GDC에서 DNS 영역을 구성하고 레코드를 추가하려면 다음이 필요합니다.

공개 DNS 영역 만들기

GDC에서 Kubernetes API를 사용하여 공개 DNS 영역을 만듭니다.

  1. ManagedDNSZone 리소스를 만들어 GDC 외부에서 액세스할 수 있는 DNS 영역을 만듭니다.

    kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
    apiVersion: networking.global.gdc.goog/v1
    kind: ManagedDNSZone
    metadata:
      name: DNS_ZONE_NAME
      namespace: PROJECT_NAMESPACE
    spec:
      dnsName: DOMAIN_NAME
      description: DESCRIPTION
      visibility: PUBLIC
    EOF
    

    다음을 바꿉니다.

    • GLOBAL_API_SERVER: 전역 API 서버의 kubeconfig 경로입니다. 자세한 내용은 전역 및 영역별 API 서버를 참고하세요. API 서버의 kubeconfig 파일을 아직 생성하지 않은 경우 로그인을 참고하세요.
    • DNS_ZONE_NAME: DNS 영역의 이름입니다.
    • PROJECT_NAMESPACE: 프로젝트의 네임스페이스
    • DOMAIN_NAME: 공개 DNS 영역의 도메인 이름입니다(예: example.com).
    • DESCRIPTION: DNS 영역에 대한 설명 예를 들면 Public DNS zone for example.com입니다. 이 필드는 선택사항입니다.
  2. 공개 DNS 영역의 경우 해당 DNS 영역을 호스팅하는 GDC의 네임서버로 DNS 영역의 DNS 요청을 전달하도록 네트워크에서 DNS 리졸버를 구성해야 합니다. 네임서버는 ManagedDNSZone 맞춤 리소스의 상태에 나열됩니다.

    apiVersion: networking.global.gdc.goog/v1
    kind: ManagedDNSZone
    metadata:
      name: public-example-com
      namespace: PROJECT_NAMESPACE
    spec:
      dnsName: example.com
      description: "Public DNS zone for example.com"
      visibility: PUBLIC
    status:
    
    nameServers:
      - ns.managed-dns-public.gdc1.staging.gpcdemolabs.com
    

    이 예시에서는 example.com에 대한 요청을 ns.managed-dns-public.gdc1.staging.gpcdemolabs.com로 전달하도록 DNS 확인자를 업데이트해야 합니다. 이 구성에서는 리졸버에 이미 GDC의 인프라 DNS 영역 gdc1.staging.gpcdemolabs.com의 DNS 요청을 적절하게 전달하는 데 필요한 구성이 있다고 가정합니다.

비공개 DNS 영역 만들기

Kubernetes API를 사용하여 비공개 DNS 영역을 만듭니다.

  • 기본 고객 VPC 내에서만 액세스할 수 있는 DNS 영역을 만들려면 ManagedDNSZone 리소스를 만들어 적용하세요.

    kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
    apiVersion: networking.global.gdc.goog/v1
    kind: ManagedDNSZone
    metadata:
      name: DNS_ZONE_NAME
      namespace: PROJECT_NAMESPACE
    spec:
      dnsName: DOMAIN_NAME
      description: DESCRIPTION
      visibility: PRIVATE
    EOF
    

    다음을 바꿉니다.

    • GLOBAL_API_SERVER: 전역 API 서버의 kubeconfig 경로입니다. 자세한 내용은 전역 및 영역별 API 서버를 참고하세요. API 서버의 kubeconfig 파일을 아직 생성하지 않은 경우 로그인을 참고하세요.
    • DNS_ZONE_NAME: DNS 영역의 이름입니다.
    • PROJECT_NAMESPACE: 프로젝트의 네임스페이스
    • DOMAIN_NAME: 비공개 DNS 영역의 도메인 이름입니다(예: example.com).
    • DESCRIPTION: DNS 영역에 대한 설명 예를 들면 Private DNS zone for example.com입니다. 이 필드는 선택사항입니다.

다음 단계