ゾーンの管理

このページでは、Cloud DNS マネージド ゾーンを作成する手順を説明します。このページを使用する前に、Cloud DNS のコンセプトについてご確認ください。

始める前に

Cloud DNS API を使用するには、Cloud DNS プロジェクトを作成して、Cloud DNS API を有効にする必要があります。

REST API を使用するアプリケーションを作成する場合は、OAuth 2.0 クライアント ID も作成する必要があります。

  1. Google アカウントをまだお持ちでない場合は、Google アカウントを登録します
  2. Cloud Console で Cloud DNS API を有効にします。既存の Compute Engine または App Engine プロジェクトを選択するか、新しいプロジェクトを作成できます。
  3. REST API にリクエストを行う必要がある場合は、OAuth 2.0 の ID を作成する必要があります。 OAuth 2.0 を設定
  4. プロジェクト内の以下の情報は、後の手順で入力するために必要になります。
    • クライアント ID(xxxxxx.apps.googleusercontent.com)。
    • 使用するプロジェクト ID。この ID は、Cloud Console の [概要] ページの上部に表示されます。また、ユーザーがアプリで使用するプロジェクト名を入力するように設定することも可能です。

gcloud コマンドライン ツールをまだ実行していない場合は、プロジェクト名を指定して次のコマンドを実行し、Cloud Console で認証を行う必要があります。

gcloud auth login

別のプロジェクトの Google Cloud リソースに対して gcloud コマンドを実行する場合は、このページでこのコマンドと他の glcoud コマンドに --project オプションを指定してください。

マネージド ゾーンの作成

作成する各マネージド ゾーンは、Google Cloud プロジェクトに関連付けられています。次に示す各セクションでは、Cloud DNS がサポートするマネージド ゾーンのタイプを作成する方法について説明します。

一般公開ゾーンの作成

新しいマネージド ゾーンを作成するには:

Console

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

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

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

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

  4. 所有しているドメイン名を使用して、ゾーンの DNS 名のサフィックスを入力します。ゾーン内のすべてのレコードがこのサフィックスを共有します(example.com など)。

  5. [DNSSEC] で、OffOn または Transfer を選択します。詳しくは、DNSSEC の構成をご覧ください。

  6. [作成] をクリックします。[ゾーンの詳細] ページが表示されます。

gcloud

新しいマネージド ゾーンを作成するには、dns managed-zones create コマンドを使用します。

gcloud dns managed-zones create name \
    --description=description \
    --dns-name=dns-suffix \
    --labels=labels \
    --visibility=public

次のコマンド オプションを置き換えます。

  • name: ゾーンの名前
  • description: ゾーンの説明
  • dns-name: ゾーンの DNS サフィックス(example.com など)
  • ラベル: Dept:MarketingProject:project1 などの Key-Value ペアのカンマ区切りのリスト。詳しくは、SDK のドキュメントをご覧ください。

API

API を使用してマネージド ゾーンを作成するには、managedZone.create メソッドを使用して POST リクエストを送信します。

POST https://www.googleapis.com/dns/v1/projects/project-id/managedZones
{
  "name": "name",
  "description": "description",
  "dnsName": "dns-name",
  "visibility": "public"
}

次のコマンド オプションを置き換えます。

  • project-id: マネージド ゾーンが作成されているプロジェクトの ID
  • name: ゾーンの名前
  • description: ゾーンの説明
  • dns-name: ゾーンの DNS サフィックス(example.com など)

限定公開ゾーンの作成

Cloud DNS によって管理される限定公開 DNS レコードを使用して新しい限定公開マネージド ゾーンを作成するには、次の手順に従います。詳しくは、Cloud DNS 限定公開ゾーンのベスト プラクティスをご覧ください。

Console

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

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

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

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

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

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

  6. 限定公開ゾーンが表示される VPC ネットワークを選択します。選択した VPC ネットワークのみが、ゾーン内のレコードを照会できます。

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

gcloud

新しい限定公開マネージド ゾーンを作成するには、dns managed-zones create コマンドを使用します。

gcloud dns managed-zones create name \
    --description=description \
    --dns-name=dns-suffix \
    --networks=vpc-network-list \
    --labels=labels \
    --visibility=private

次のコマンド オプションを置き換えます。

  • name: ゾーンの名前
  • description: ゾーンの説明
  • dns-name: ゾーンの DNS サフィックス(example.private など)
  • vpc-network-list: ゾーンの照会が承認されている VPC ネットワークのカンマ区切りのリスト。これらのネットワークは、ゾーンと同じプロジェクトに存在する必要があります。
  • ラベル: Dept:MarketingProject:project1 などの Key-Value ペアのカンマ区切りのリスト。詳しくは、SDK のドキュメントをご覧ください。

API

API を使用して限定公開マネージド ゾーンを作成するには、managedZone.create メソッドを使用して POST リクエストを送信します。

POST https://www.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
        },
        ....
    ]
}

次のコマンド オプションを置き換えます。

  • 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)"

転送ゾーンの作成

新しい限定公開マネージド転送ゾーンを作成するには、次の手順に従います。開始する前に、標準ルーティングと限定公開ルーティングの違い、さらに転送先のネットワーク要件を理解しておいてください。

詳しくは、Cloud DNS 転送ゾーンのベスト プラクティスをご覧ください。

Console

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

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

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

  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-name: ゾーンの DNS サフィックス(example.private など)
  • vpc-network-list: ゾーンの照会が承認されている VPC ネットワークのカンマ区切りのリスト。これらのネットワークは、ゾーンと同じプロジェクトに存在する必要があります。
  • forwarding-targets-list: クエリの送信先となる IP アドレスのカンマ区切りのリスト。このフラグで指定する RFC 1918 IP アドレスは、VPC ネットワークに配置されているか、Google Cloud または Cloud Interconnect を使用して接続されたオンプレミス ネットワークに配置されている必要があります。このフラグで指定する RFC 1918 以外の IP アドレスは、インターネットにアクセスできる必要があります。重要な背景情報については、転送先とルーティング方法をご覧ください。
  • private-forwarding-targets-list: クエリの送信先となる IP アドレスのカンマ区切りのリスト。このフラグで指定する IP アドレスは、VPC ネットワークに配置されているか、Cloud VPN または Cloud Interconnect を使用して Google Cloud に接続されたオンプレミス ネットワークに配置されている必要があります。重要な背景情報については、転送先とルーティング方法をご覧ください。

API

API を使用して限定公開マネージド転送ゾーンを作成するには、managedZone.create メソッドを使用して POST リクエストを送信します。

POST https://www.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": <
                    var>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 アドレスは、インターネットにアクセスできる必要があります。重要な背景情報については、転送先とルーティング方法をご覧ください。

ピアリング ゾーンの作成

コンシューマ ネットワークと呼ばれる VPC ネットワークがないとプロデューサー ネットワークと呼ばれる別の VPC ネットワークの VPC 名前解決順序を照会できない場合は、新規にマネージド ピアリング ゾーンを作成します。重要な背景情報については、DNS ピアリングをご覧ください。

Console

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

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

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

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

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

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

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

  7. [DNS ピアリング] で、[DNS ピアリングを有効にする] の横にあるボックスを選択します。

  8. [ピアリング プロジェクト] で、ピアリング プロジェクトを選択します。

  9. [ピアリング ネットワーク] で、ピアリング ネットワークを選択します。

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

gcloud

  1. コンシューマ VPC ネットワークが含まれているプロジェクトで、サービス アカウントを作成または特定します。

  2. プロデューサー VPC ネットワークが含まれているプロジェクトで、サービス アカウント(前のステップで特定または作成したもの)に DNS ピアのロールを付与します。

    gcloud projects add-iam-policy-binding producer-project-id \
       --member=service-account \
       --role=roles/dns.peer
    

    次のコマンド オプションを置き換えます。

    • Producerr-project-id: プロデューサー VPC ネットワークが含まれているプロジェクトの ID
    • service-account: 最初のステップで作成または特定した、コンシューマ VPC ネットワークが含まれているプロジェクト内のサービス アカウント。
  3. コンシューマ VPC ネットワークが含まれているプロジェクトで、dns managed-zones create コマンドを使用して新しい限定公開マネージド ピアリング ゾーンを作成します。

    gcloud dns managed-zones create name \
      --description=description \
      --dns-name=dns-suffix \
      --networks=consumer-vpc-network \
      --account=service-account \
      --target-network=producer-vpc-network \
      --target-project=producer-project-id \
      --visibility=private
    

    次のコマンド オプションを置き換えます。

    • name: ゾーンの名前
    • description: ゾーンの説明
    • dns-name: ゾーンの DNS サフィックス(example.com など)
    • consumer-vpc-network: コンシューマ VPC ネットワークの名前
    • service-account: 最初のステップで特定した、コンシューマ VPC ネットワークが含まれているプロジェクト内のサービス アカウント。省略した場合、gcloud コマンドライン ツールは現在アクティブな Cloud IAM メンバー(gcloud auth list で示されます)を使用します。
    • producer-vpc-network: プロデューサー VPC ネットワークの名前
    • Producerr-project-id: プロデューサー VPC ネットワークが含まれているプロジェクトの ID

マネージド ゾーンの更新

Cloud DNS では、一般公開マネージド ゾーンまたは限定公開マネージド ゾーンの特定の属性を変更できます。

一般公開ゾーンの更新

一般公開ゾーンの説明または DNSSEC 構成を変更できます。

Console

  1. Cloud Console で Cloud DNS ページに移動します。

    Cloud DNS ページに移動します。

  2. 更新する一般公開ゾーンをクリックします。

  3. [編集] をクリックします。

  4. DNSSEC の設定を変更するには、[DNSSEC] で、OffOn または Transfer を選択します。詳細については、DNSSEC の構成をご覧ください。

  5. 必要に応じて説明を更新します。

  6. [保存] をクリックします。

gcloud

マネージド ゾーンを更新するには、dns managed-zones update コマンドを使用します。

gcloud dns managed-zones update name \
    --description=description \
    --dnssec-state=state

次のコマンド オプションを置き換えます。

限定公開ゾーンの承認済みネットワークの更新

限定公開ゾーンが表示される VPC ネットワークを変更するには:

Console

  1. Cloud Console で Cloud DNS ページに移動します。

    Cloud DNS ページに移動します。

  2. 更新する限定公開ゾーンをクリックします。

  3. [編集] をクリックします。

  4. 限定公開ゾーンが表示される VPC ネットワークを選択します。選択した VPC ネットワークのみがゾーン内のレコードを照会できます。

  5. [保存] をクリックします。

gcloud

限定公開マネージド ゾーンの承認済み VPC ネットワークを更新するには、dns managed-zones update コマンドを使用します。

gcloud dns managed-zones update name \
    --description=description \
    --networks=vpc-network-list

次のコマンド オプションを置き換えます。

  • name: ゾーンの名前
  • description: ゾーンの説明
  • vpc-network-list: ゾーンの照会が承認されている VPC ネットワークのカンマ区切りのリスト。これらのネットワークは、ゾーンと同じプロジェクトに存在する必要があります。

ラベルの更新

マネージド ゾーンのラベルの新規追加、既存のラベルの変更、選択したラベルの削除、すべてのラベルのクリアを行うには、次のように dns managed-zones update コマンドを使用します。

gcloud dns managed-zones update name \
    --update-labels=labels
gcloud dns managed-zones update name \
    --remove-labels=labels
gcloud dns managed-zones update name \
    --clear-labels

次のコマンド オプションを置き換えます。

  • name: ゾーンの名前
  • ラベル: Dept:MarketingProject:project1 などの Key-Value ペアのカンマ区切りのリスト。詳しくは、SDK のドキュメントをご覧ください。

マネージド ゾーンの一覧表示と説明

マネージド ゾーンのリスト

プロジェクト内のすべてのゾーンを一覧表示するには:

Console

  1. マネージド ゾーンは、Cloud Console の [Cloud DNS ゾーン] ページに表示されます。

    Cloud DNS ページに移動します。

gcloud

すべてのマネージド ゾーンを一覧表示するには、dns managed-zones list コマンドを使用します。

gcloud dns managed-zones list

すべてのマネージド ゾーンを一覧表示するには、次のようにコマンドを変更します。

gcloud dns managed-zones list \
   --filter="visibility=public"

すべての限定公開マネージド ゾーンを一覧表示するには、次のようにコマンドを変更します。

gcloud dns managed-zones list \
   --filter="visibility=private"

マネージド ゾーンの説明

マネージド ゾーンの属性を表示するには:

Console

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

    Cloud DNS ページに移動します。

  2. 検査するゾーンをクリックします。

gcloud

新しいマネージド ゾーンの属性を表示するには、dns managed-zones describe コマンドを使用します。

gcloud dns managed-zones describe name

次のコマンド オプションを置き換えます。

  • name: ゾーンの名前

マネージド ゾーンの削除

Console

  1. Cloud Console で Cloud DNS ページに移動します。

    Cloud DNS ページに移動します。

  2. 削除するマネージド ゾーンをクリックします。

  3. SOA レコードと NS レコードを除く、ゾーン内のすべてのレコードを削除します。詳しくは、レコードの追加または削除をご覧ください。

  4. [ゾーンを削除] をクリックします。

gcloud

  1. SOA レコードと NS レコードを除く、ゾーン内のすべてのレコードを削除します。詳しくは、レコードの追加または削除をご覧ください。ゾーン全体をすばやく空にするには、空のファイルをレコードセットにインポートします。詳しくは、レコードセットのインポートとエクスポートをご覧ください。例:

    touch empty-file
    gcloud dns record-sets import -z name \
       --delete-all-existing \
       empty-file
    rm empty-file
    

    次のコマンド オプションを置き換えます。

    • name: ゾーンの名前
  2. 新しい限定公開マネージド ゾーンを削除するには、dns managed-zones delete コマンドを使用します。

    gcloud dns managed-zones delete name
    

    次のコマンド オプションを置き換えます。

    • name: ゾーンの名前

転送先ネットワーク要件

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

転送先 ソース範囲
標準ルーティングを使用してアクセスされる RFC 1918 転送先
限定公開ルーティングを使用してアクセスされる任意の転送先
35.199.192.0/19
標準ルーティングを使用してアクセスされる、RFC 1918 以外の転送先 Google Public DNS ソース範囲

限定公開ターゲット

Cloud DNS が標準ルーティングを使用して RFC 1918 転送先にアクセスする場合、または限定公開ルーティングを使用して任意の転送先にアクセスする場合、オンプレミス ネットワークは次の要件を満たす必要があります。

  • 35.199.192.0/19 からのトラフィックを許可する: オンプレミス ネットワークのファイアウォールや同様の機器では、35.199.192.0/19 の送信元からのパケットを許可する必要があります。Cloud DNS は、すべてのお客様に 35.199.192.0/19 ソース範囲を使用します。35.199.192.0/19 アドレス範囲は、Google Cloud VPC ネットワークまたは VPC ネットワークに接続されたオンプレミス ネットワークからのみアクセスできます。
  • VPC ネットワーク経由で 35.199.192.0/19 に応答する: オンプレミス ネットワークには、35.199.192.0/19 宛てのレスポンス トラフィックを Cloud VPN トンネルまたは Cloud Interconnect アタッチメント(VLAN)経由で転送するルートが必要です。転送先からの DNS クエリに対するレスポンスをインターネット経由で送信することはできません。オンプレミス ネットワークがインターネット経由で 35.199.192.0/19 に応答した場合、Google Cloud はそのレスポンスを無視します。このルーティング要件を満たすには、次のいずれかの方法を使用します。
    • 静的ルーティングを使用する Cloud VPN トンネルの場合は、オンプレミス ネットワーク内に、宛先が 35.199.192.0/19 でネクストホップが Cloud VPN トンネルであるルートを手動で作成します。ポリシーベースのルーティングを使用する Cloud VPN トンネルの場合は、35.199.192.0/19 を含めるように、オンプレミスの VPN ゲートウェイのリモート トラフィック セレクタと Cloud VPN のローカル トラフィック セレクタを構成します。
    • 動的ルーティングを使用する Cloud VPN トンネルの場合または Cloud Interconnect の場合は、トンネルまたは Cloud Interconnect アタッチメント(VLAN)を管理する Cloud Router でカスタムのルート アドバタイズを構成します。
  • 転送先からのダイレクト レスポンス: Cloud DNS では、パケットを受信する転送先ネームサーバーが 35.199.192.0/19 に応答を送る必要があります。ネームサーバーが別のネームサーバーにリクエストを送信し、そのネームサーバーが 35.199.192.0/19 に応答した場合、Cloud DNS はそのレスポンスを無視します。セキュリティ上の理由で、Google Cloud では各転送先の DNS 応答の送信元アドレスが転送先の IP アドレスと一致すると想定しています。

一般公開ターゲット

Cloud DNS が標準ルーティングを使用して RFC 1918 以外の転送先にアクセスするとき、転送先ネームサーバーは一般公開されていると想定されます。

次のステップ