ピアリング ゾーンを作成する

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

別の VPC ネットワーク(プロデューサー ネットワーク)の VPC 名前解決順序を照会するために VPC ネットワーク(コンシューマ ネットワーク)が 1 つ必要な場合に、新しいマネージド プライベート ピアリング ゾーンを作成するには、次の手順を行います。

コンソール

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

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

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

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

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

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

  6. [オプション] で、[DNS ピアリング] を選択します。

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

  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
    

    以下を置き換えます。

    • PRODUCER_PROJECT_ID: プロデューサー VPC ネットワークを含むプロジェクトの ID
    • SERVICE_ACCOUNT: 手順 1 で特定または作成されたコンシューマ VPC ネットワークを含むプロジェクトのサービス アカウント
  3. コンシューマ VPC ネットワークを含むプロジェクトで、サービス アカウントに DNS 管理者ロールを付与し、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_SUFFIX: ゾーンの DNS サフィックス(例: example.com
    • CONSUMER_VPC_NETWORK: コンシューマ VPC ネットワークの名前
    • SERVICE_ACCOUNT: 手順 1 で特定されたコンシューマ VPC ネットワークを含むプロジェクト内のサービス アカウント。
    • PRODUCER_VPC_NETWORK: プロデューサー VPC ネットワークの名前
    • PRODUCER_PROJECT_ID: プロデューサー VPC ネットワークを含むプロジェクトの ID

Terraform

resource "random_id" "zone_suffix" {
  byte_length = 8
}

resource "google_dns_managed_zone" "peering_zone" {
  name        = "peering-zone-${random_id.zone_suffix.hex}"
  dns_name    = "peering.example.com."
  description = "Example private DNS peering zone"

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_source.id
    }
  }

  peering_config {
    target_network {
      network_url = google_compute_network.network_target.id
    }
  }
}

resource "google_compute_network" "network_source" {
  name                    = "network-source"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_target" {
  name                    = "network-target"
  auto_create_subnetworks = false
}

次のステップ