転送ゾーンを作成する

このページでは、転送ゾーンの作成方法について説明します。詳細な背景情報については、転送ゾーンをご覧ください。

始める前に、次の内容を理解しておいてください。

新しい限定公開マネージド ゾーンを作成するには、次の手順を行います。

コンソール

  1. Google Cloud Console で、[DNS ゾーンの作成] ページに移動します。

    [DNS ゾーンの作成] に移動

  2. [ゾーンのタイプ] で [非公開] を選択します。

  3. ゾーン名(例: my-new-zone)を入力します。

  4. 限定公開ゾーンの DNS 名のサフィックスを入力します。ゾーン内のすべてのレコードがこのサフィックスを共有します。例: example.private

  5. (省略可)説明を追加します。

  6. [オプション] で、[クエリを別のサーバーに転送する] を選択します。

  7. 限定公開ゾーンが表示されるネットワークを選択します。

  8. 転送先の IPv4 アドレスを追加するには、[項目を追加] をクリックします。複数の IP アドレスを追加できます。

  9. 転送先へのプライベート ルーティングを強制するには、[プライベート転送] で [有効にする] チェックボックスをオンにします。

  10. [作成] をクリックします。

gcloud

dns managed-zones create コマンドを実行します。

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --forwarding-targets=FORWARDING_TARGETS_LIST \
    --private-forwarding-targets=PRIVATE_FORWARDING_TARGETS_LIST \
    --visibility=private

以下を置き換えます。

  • NAME: ゾーンの名前
  • DESCRIPTION: ゾーンの説明
  • DNS_SUFFIX: ゾーンの DNS サフィックス(例: example.private
  • VPC_NETWORK_LIST: ゾーンに対するクエリ実行が許可されている VPC ネットワークのカンマ区切りのリスト。
  • FORWARDING_TARGETS_LIST: クエリの送信先となる IP アドレスのカンマ区切りのリスト。このフラグで指定する RFC 1918 IP アドレスは、VPC ネットワーク、または Cloud VPN や Cloud Interconnect を使用して Google Cloud に接続されたオンプレミス ネットワークに配置する必要があります。このフラグで指定する RFC 1918 以外の IP アドレスは、インターネットにアクセスできる必要があります。
  • PRIVATE_FORWARDING_TARGETS_LIST: クエリの送信先となる IP アドレスのカンマ区切りのリスト。このフラグで指定する IP アドレスは、VPC ネットワークに配置されているか、Cloud VPN または Cloud Interconnect を使用して Google Cloud に接続されたオンプレミス ネットワークに配置されている必要があります。

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }

  forwarding_config {
    target_name_servers {
      ipv4_address = "172.16.1.10"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

API

managedZones.create メソッドを使用して、POST リクエストを送信します。

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{

    "name": "NAME",
    "description": "DESCRIPTION",
    "dnsName": "DNS_NAME",
    "visibility": "private"
    "privateVisibilityConfig": {
        "kind": "dns#managedZonePrivateVisibilityConfig",
        "networks": [{
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": VPC_NETWORK_1
            },
            {
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": VPC_NETWORK_2
            },
            ....
        ]
    },
    "forwardingConfig": {
        "kind": "dns#managedZoneForwardingConfig",
        "targetNameServers": [{
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": FORWARDING_TARGET_1
            },
            {
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": FORWARDING_TARGET_2
            },
            ....
        ]
    },
}

以下を置き換えます。

  • PROJECT_ID: マネージド ゾーンが作成されるプロジェクトの ID
  • NAME: ゾーンの名前
  • DESCRIPTION: ゾーンの説明
  • DNS_NAME: ゾーンの DNS サフィックス(例: example.private
  • VPC_NETWORK_1VPC_NETWORK_2: 同じプロジェクト内の VPC ネットワークの URL。このゾーンのレコードに対してクエリを実行できます。上記に示すように、複数の VPC ネットワークを追加できます。VPC ネットワークの URL を確認するには、次の gcloud コマンドでネットワークを記述し、VPC_NETWORK_NAME はネットワークの名前に置き換えます。
    gcloud compute networks describe VPC_NETWORK_NAME 
    --format="get(selfLink)"
  • FORWARDING_TARGET_1FORWARDING_TARGET_2: 転送先ネームサーバーの IP アドレス。上記に示すように、複数の転送先を追加できます。ここで指定する RFC 1918 IP アドレスは、VPC ネットワークに配置されているか、Cloud VPN または Cloud Interconnect を使用して Google Cloud に接続されたオンプレミス ネットワークに配置されている必要があります。このフラグで指定する RFC 1918 以外の IP アドレスは、インターネットにアクセスできる必要があります。

転送先ネットワーク要件

Cloud DNS は、転送先にリクエストを送信するときに、次の表に示したソース範囲のパケットを送信します。

転送先のタイプ ソース範囲

タイプ 1 の転送先

Google Cloud VM、または転送ゾーンの使用が許可されている同じ VPC ネットワーク内の内部パススルー ネットワーク ロードバランサ内部 IP アドレス

タイプ 2 の転送先

Cloud VPN または Cloud Interconnect を使用して、転送ゾーンの使用が承認された VPC ネットワークに接続されている、オンプレミス システムの IP アドレス。

サポートされている IP アドレスの詳細については、転送先とルーティング方法をご覧ください。

35.199.192.0/19

Cloud DNS は、すべてのお客様に 35.199.192.0/19 ソース範囲を使用します。この範囲には、Google Cloud VPC ネットワーク、または VPC ネットワークに接続されたオンプレミス ネットワークからのみアクセスできます。

タイプ 3 の転送先

インターネットからアクセス可能な DNS ネームサーバーの外部 IP アドレスまたは Google Cloud リソースの外部 IP アドレス(別の VPC ネットワークにある VM の外部 IP アドレスなど)。

Google Public DNS ソース範囲

タイプ 1 とタイプ 2 の転送先

Cloud DNS がタイプ 1 またはタイプ 2 の転送先にアクセスするには、次のものが必要です。これらの要件は、転送先が RFC 1918 の IP アドレスで標準ルーティングを使用していても、またはプライベート ルーティングを選択している場合でも変わりません。

  • 35.199.192.0/19 に対するファイアウォール構成

    タイプ 1 の転送先の場合、TCP と UDP のポート 53 トラフィック用に上り(内向き)許可のファイアウォール ルールを作成し、承認済みの各 VPC ネットワーク内の転送先に適用します。タイプ 2 の転送先では、オンプレミス ネットワークのファイアウォールや同様の機器を構成して、TCP と UDP のポート 53 を許可します。

  • 転送先へのルート

    タイプ 1 の転送先の場合、Cloud DNS はサブネット ルートを使用して、転送ゾーンの使用が承認された VPC ネットワーク内の転送先にアクセスします。タイプ 2 の名前の転送先の場合、Cloud DNS は、カスタム動的ルートまたはカスタム静的ルート(タグ付けされた静的ルートを除く)を使用して、転送先にアクセスします。

  • 同じ VPC ネットワーク経由する 35.199.192.0/19 への戻りルート

    タイプ 1 のターゲットの場合、Google Cloud は 35.199.192.0/19 の宛先に特別なルーティング パスを使用します。タイプ 2 の転送先の場合、オンプレミス ネットワークには、35.199.192.0/19 の宛先への Cloud VPN トンネルか Cloud Interconnect の VLAN アタッチメント経由のルートが必要です。このルートのネクストホップは、リクエストの送信元と同じ VPC ネットワーク内にあります。この要件を満たす方法については、タイプ 2 の転送先の戻りルート戦略をご覧ください。

  • 転送先からの直接レスポンス

    Cloud DNS では、パケットを受信する転送先が、35.199.192.0/19 にレスポンスを送信する必要があります。転送先が別のネームサーバーにリクエストを送信し、その他のネームサーバーが 35.199.192.0/19 に応答した場合、Cloud DNS はそのレスポンスを無視します。セキュリティ上の理由から、Google Cloud では、各転送先ネームサーバーの DNS 応答の送信元アドレスが、転送先の IP アドレスと一致することが必要です。

タイプ 2 の転送先への戻りルート戦略

Cloud DNS は、タイプ 2 の転送先からのレスポンスをインターネットや別の VPC ネットワークを経由して送信することはできません。レスポンスは、同じネットワーク内で Cloud VPN トンネルや VLAN アタッチメントを使用できる場合でも、同じ VPC ネットワークに返す必要があります

  • 静的ルーティングを使用する Cloud VPN トンネルの場合は、オンプレミス ネットワーク内に、宛先が 35.199.192.0/19 でネクストホップが Cloud VPN トンネルであるルートを手動で作成します。ポリシーベースのルーティングを使用する Cloud VPN トンネルの場合は、35.199.192.0/19 を含めるように、オンプレミスの VPN ゲートウェイのリモート トラフィック セレクタと Cloud VPN のローカル トラフィック セレクタを構成します。
  • 動的ルーティングを使用する Cloud VPN トンネルまたは Cloud Interconnect の場合は、トンネルまたは相互接続のアタッチメント(VLAN)を管理する Cloud Router の BGP セッションの 35.199.192.0/19カスタムルート アドバタイズを構成します。

タイプ 3 の転送先

Cloud DNS が標準ルーティングを使用して外部 IP アドレスにアクセスする場合、転送先は、インターネット上のシステム、一般公開アプリ、または Google Cloud リソースの外部 IP アドレスのいずれかであるとみなされます。

たとえば、タイプ 3 の転送先には、別の VPC ネットワーク内にある VM の外部 IP アドレスが含まれます。

タイプ 3 の転送先への限定公開ルーティングはサポートされていません。

次のステップ