Crie zonas DNS

Esta página explica como configurar a resolução de DNS para um novo domínio no Google Distributed Cloud (GDC) air-gapped. No GDC, através da utilização de zonas DNS.

O público-alvo desta página são os administradores de plataformas e os operadores de aplicações responsáveis pela gestão da resolução de DNS da respetiva organização.

Pode criar zonas DNS públicas ou privadas no seu ambiente da GDC para corresponder aos requisitos de visibilidade e acesso dos seus serviços:

  • Para serviços que requerem visibilidade e acesso à rede externa: configure uma zona DNS pública para permitir que os utilizadores e os sistemas fora da sua rede acedam ao seu serviço. Se tiver um Website, uma API virada para o público ou qualquer serviço que precise de ser acessível a partir do exterior do seu ambiente de nuvem da GDC, precisa de uma zona DNS pública para mapear o seu nome de domínio para os endereços IP adequados.
  • Para serviços que requerem acesso seguro e restrito a sistemas internos: configure uma zona DNS privada para ocultar o nome do seu domínio interno e restringir o acesso aos seus serviços internos. Se tiver uma aplicação, uma base de dados ou um microsserviço interno que precise de comunicar com outros serviços internos apenas através de protocolos seguros e endereços IP privados, precisa de uma zona DNS privada para mapear o nome do domínio para os endereços IP adequados. Uma zona DNS privada garante que estes serviços se podem encontrar através de nomes de domínio internos sem expor a respetiva existência ou endereços IP à rede externa. Isto melhora a segurança e simplifica a rede interna.

Para mais informações acerca da diferença entre zonas de DNS públicas e privadas, consulte o artigo Tipos de zonas para o Cloud DNS.

Antes de começar

Para configurar zonas de DNS no GDC e adicionar registos, tem de ter o seguinte:

Crie uma zona DNS pública

Use a API Kubernetes no GDC para criar uma zona DNS pública:

  1. Crie e aplique um recurso ManagedDNSZone para criar uma zona DNS acessível a partir do exterior do GDC:

    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
    

    Substitua o seguinte:

    • GLOBAL_API_SERVER: o caminho kubeconfig do servidor da API global. Para mais informações, consulte o artigo Servidores de API globais e zonais. Se ainda não gerou um ficheiro kubeconfig para o servidor da API, consulte o artigo Iniciar sessão para ver detalhes.
    • DNS_ZONE_NAME: o nome da sua zona DNS.
    • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
    • DOMAIN_NAME: o nome do domínio da sua zona DNS pública, como example.com.
    • DESCRIPTION: uma descrição da sua zona DNS. Por exemplo, Public DNS zone for example.com. Este campo é opcional.
  2. Para uma zona DNS pública, tem de configurar o resolvedor de DNS na sua rede para encaminhar pedidos DNS para essa zona DNS para os servidores de nomes no GDC que alojam essa zona DNS. Os servidores de nomes estão listados no estado de um ManagedDNSZone recurso personalizado:

    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
    

    Para este exemplo, o resolvedor de DNS tem de ser atualizado para encaminhar pedidos para example.com para ns.managed-dns-public.gdc1.staging.gpcdemolabs.com. Esta configuração pressupõe que o resolvedor já tem a configuração necessária para encaminhar corretamente os pedidos DNS para a zona DNS da infraestrutura do GDC gdc1.staging.gpcdemolabs.com.

Crie uma zona DNS privada

Use a API Kubernetes para criar uma zona DNS privada:

  • Crie e aplique um recurso ManagedDNSZone para criar uma zona DNS acessível apenas a partir da VPC do cliente predefinida:

    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
    

    Substitua o seguinte:

    • GLOBAL_API_SERVER: o caminho kubeconfig do servidor da API global. Para mais informações, consulte o artigo Servidores de API globais e zonais. Se ainda não gerou um ficheiro kubeconfig para o servidor da API, consulte o artigo Iniciar sessão para ver detalhes.
    • DNS_ZONE_NAME: o nome da sua zona DNS.
    • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
    • DOMAIN_NAME: o nome do domínio da sua zona de DNS privada, como example.com.
    • DESCRIPTION: uma descrição da sua zona DNS. Por exemplo, Private DNS zone for example.com. Este campo é opcional.

O que se segue?