プロジェクト間のバインディング ゾーンを作成する

このページでは、クロス プロジェクト バインディングを有効にしてゾーンを作成する方法について説明します。詳しい背景情報については、クロス プロジェクト バインディングをご覧ください。

制限事項

  • プロジェクトは同じ組織内に存在している必要があります。
  • 組織外のプロジェクトに含まれる VPC ネットワークにゾーンを関連付けることはできません。

プロジェクト間のバインディングを設定する

同じ組織内の別のプロジェクトが所有するネットワークにバインド可能なマネージド限定公開ゾーンを作成できます。同じプロジェクトでネットワークを指定する代わりに、同じ組織の別のプロジェクトでネットワークの URL を指定します。

例: プロジェクト A とプロジェクト B の 2 つのプロジェクトがあるとします。VPC ネットワークはプロジェクト A にあります。VPC ネットワーク内のすべての VM がプロジェクト B の DNS ゾーンを解決できるようにするには、次の手順を行います。

  1. ネットワーク URL を取得するには、プロジェクト A で gcloud compute networks describe コマンドを使用します。

    gcloud compute networks describe NETWORK_NAME
    

    NETWORK_NAME は、プロジェクト A の VPC ネットワークの名前に置き換えます。

    出力にネットワーク URL が SelfLink として表示されます。これは必要な URL です。出力は次のようになります。

    autoCreateSubnetworks: true
    creationTimestamp: '2021-08-11T14:07:16.454-07:00'
    description: Default network for the project
    id: '2485375699124847339'
    kind: compute#network
    name: default
    routingConfig:
     routingMode: REGIONAL
    selfLink: https://www.googleapis.com/compute/v1/projects/project-a/global/networks/default
    subnetworks:
    
  2. DNS ゾーンを作成または管理するプロジェクト B で dns managed-zones create コマンドを実行して、限定公開ゾーンを作成します。

    gcloud dns managed-zones create NAME \
     --dns-name=DNS_SUFFIX \
     --description="Cross Project Binding" \
     --visibility=private \
     --networks=VPC_NETWORK
    

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

    • NAME: ゾーンの名前
    • DNS_SUFFIX: ゾーンの DNS サフィックス(例: example.private
    • VPC_NETWORK: プロジェクト A からゾーンの照会が許可されている共有 VPC URL(https://www.googleapis.com/compute/v1/projects/project-a/global/networks/default など)

    これにより、DNS ゾーンを作成および管理するプロジェクト B に限定公開ゾーンが作成されます。出力は次のようになります。

    Created
    [https://dns.googleapis.com/dns/v1/projects/project-b/managedZones/my-zone].
    

次のステップ