DNS ゾーンを作成する

このページでは、Google Distributed Cloud(GDC)エアギャップで新しいドメインの DNS 解決を構成する方法について説明します。GDC で DNS ゾーンを使用する。

このページは、組織の 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 サーバーをご覧ください。API サーバーの kubeconfig ファイルをまだ生成していない場合は、ログインで詳細を確認してください。
    • DNS_ZONE_NAME: DNS ゾーンの名前。
    • PROJECT_NAMESPACE: プロジェクトの Namespace。
    • DOMAIN_NAME: パブリック DNS ゾーンのドメイン名(例: example.com)。
    • DESCRIPTION: DNS ゾーンの説明。例: Public DNS zone for example.comこのフィールドは省略可能です。
  2. パブリック DNS ゾーンの場合、ネットワーク内の DNS リゾルバを構成して、その DNS ゾーンの DNS リクエストを、その DNS ゾーンをホストする GDC のネームサーバーに転送する必要があります。ネームサーバーは、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 ゾーンを作成します。

  • ManagedDNSZone リソースを作成して適用し、デフォルトの顧客 VPC 内からのみアクセス可能な 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: PRIVATE
    EOF
    

    次のように置き換えます。

    • GLOBAL_API_SERVER: グローバル API サーバーの kubeconfig パス。詳細については、グローバル API サーバーとゾーン API サーバーをご覧ください。API サーバーの kubeconfig ファイルをまだ生成していない場合は、ログインで詳細を確認してください。
    • DNS_ZONE_NAME: DNS ゾーンの名前。
    • PROJECT_NAMESPACE: プロジェクトの Namespace。
    • DOMAIN_NAME: プライベート DNS ゾーンのドメイン名(例: example.com)。
    • DESCRIPTION: DNS ゾーンの説明。例: Private DNS zone for example.comこのフィールドは省略可能です。

次のステップ