创建使用跨项目绑定的区域

本页面介绍了如何创建启用了跨项目绑定的可用区。如需了解详细的背景信息,请参阅跨项目绑定

限制

  • 您的项目必须位于同一组织中。
  • 您不能将 DNS 区域与组织外部的项目中的 VPC 网络相关联。

设置跨项目绑定

您可以创建可绑定到同一组织中的另一个项目拥有的网络的代管式专用 DNS 区域。不是在同一项目中指定网络,而是在同一组织下的另一个项目中指定网络的网址。

示例:假设您有两个项目(项目 A 和项目 B)。VPC 网络位于项目 A 中。为确保该 VPC 网络中的所有虚拟机都能够解析项目 B 中的 DNS 区域,请按照以下步骤操作。

  1. 要获取网址,请在项目 A 中使用 gcloud compute networks describe 命令

    gcloud compute networks describe NETWORK_NAME
    

    NETWORK_NAME 替换为项目 A 中的 VPC 网络的名称。

    输出将网址列为 SelfLink,即您需要的网址。输出类似于以下内容:

    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. 通过在项目 B(您希望在其中创建或管理 DNS 区域)中运行 dns managed-zones create 命令来创建专用 DNS 区域:

    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 查询 DNS 区域的共享 VPC 网址,例如 https://www.googleapis.com/compute/v1/projects/project-a/global/networks/default。

    这将在项目 B(您希望在其中创建和管理 DNS 区域)中创建一个专用 DNS 区域。您的输出类似于以下内容:

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

后续步骤