在其他项目中建议 VPC Spoke

创建 spoke 时,您必须将其与 hub 关联。如果 spoke 与 hub 位于不同的项目中,则 hub 管理员必须先批准您建议的 spoke,然后该 spoke 才能变为活跃状态。如需创建要连接到其他项目中的 hub 的 VPC spoke,请按照以下步骤操作。

如需了解如何处理 spoke,包括创建、列出、更新和删除 spoke,请参阅处理 spoke

须知事项

开始之前,请查看以下部分。

创建或选择项目

为了更轻松地配置 Network Connectivity Center,请先确定有效项目。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. 如果您使用的是 Google Cloud CLI,请使用 gcloud config set 命令设置项目 ID。

    gcloud config set project PROJECT_ID

    PROJECT_ID 替换为您的唯一项目 ID。

    此页面上的 gcloud CLI 说明假定您已设置项目 ID。

  13. 如需确认您正确设置了项目 ID,请使用 gcloud config list 命令

    gcloud config list --format='text(core.project)'
  14. 启用 Network Connectivity API

    您必须先启用 Network Connectivity API,然后才能使用 Network Connectivity Center 执行任何任务。

    控制台

    如要启用 Network Connectivity API,请执行以下操作:

    1. 在 Google Cloud 控制台中,前往 Network Connectivity Center 页面。

      转到 Network Connectivity Center

    2. 点击启用

    或者,您可以按照启用 API 中所述,使用Google Cloud 控制台 API 库来启用 API。

    建议 Spoke

    如需在与 hub 相同的项目或其他项目中创建 VPC spoke,请按以下步骤操作。

    如果要分配排除导出范围包含导出范围,请在创建 spoke 期间使用适当的选项。

    控制台

    1. 在 Google Cloud 控制台中,前往 Network Connectivity Center 页面。

      转到 Network Connectivity Center

    2. 在项目菜单中,选择您要在其中创建 spoke 的项目。

    3. 点击 Spoke 标签页。

    4. 点击添加 Spoke

    5. 选择 hub 部分中,如需将新 spoke 连接到另一个项目中的 hub,请选择 hub 位置作为在另一个项目中

    6. 输入您要将新 spoke 连接到的项目 IDHub 名称

    7. 输入 Spoke 名称和(可选)说明

    8. 如果您要连接的集线器配置为星形拓扑结构,请为您的轮辐选择或输入轮辐群组名称。如需了解星形拓扑,请参阅星形拓扑。如需了解 spoke 群组,请参阅 spoke 群组

    9. Spoke 类型部分,您可以使用以下选项:

      • 对于不同项目中的 hub,默认的 Spoke 类型VPC spoke
      • 对于同一项目中的 hub,允许的 spoke 类型由预先存在的 spoke 类型决定。
      • 如果没有 spoke,您可以选择任何 spoke 类型,但预先选择的选项是 Cloud VPN 隧道。
    10. 如需将 VPC 网络添加到 spoke,请从列表中选择 VPC 网络

    11. 可选:在 VPC spoke 过滤条件字段中,您可以添加过滤条件来自定义路由的通告方式,具体方法是指定 IP 地址范围以排除或包含从 spoke 到 hub 的导出。您可以将 spoke 配置为仅导出使用专用 IPv4 地址的子网范围、仅导出 IPv6 子网范围(内部和外部)或同时导出使用专用 IPv4 地址的子网范围以及内部和外部 IPv6 子网范围。

      1. IPv4 范围:配置 IPv4 子网范围的导出。

        • 包含从 spoke 导出到 hub 的 IPv4 子网范围:默认情况下,此复选框处于选中状态,会导出使用专用 IPv4 地址的所有子网范围。

          如果您不想导出 IPv4 子网范围,请取消选中此复选框。

          如果您只想导出特定的 IPv4 子网范围,请选择指定 IPv4 范围,然后输入要导出的地址范围。您指定的 IPv4 子网范围必须是专用 IPv4 地址范围,不包括以非公开方式使用的公共 IPv4 地址。如需了解详情,请参阅有效的 IPv4 范围

        • 排除从 spoke 导出到 hub 的 IPv4 子网范围:如果 spoke 导出使用专用 IPv4 地址的所有子网范围,而您希望从导出中排除特定范围,请在此字段中输入这些范围。

      2. IPv6 范围:配置 IPv6 子网范围的导出。

        • 包含从 spoke 导出到 hub 的所有 IPv6 子网范围:如需将所有内部和外部 IPv6 子网范围导出到 hub,请选中该复选框。
    12. 点击完成

    13. 如果您要添加更多 spoke,请点击添加 spoke,然后重新开始该过程,从输入 Spoke 名称开始。

    14. 添加完 spoke 后,点击创建。Network Connectivity Center 页面会更新,以显示您创建的 spoke 的详细信息。

      在 hub 管理员审核并接受您建议的 spoke 之前,spoke 状态会保持为 Inactive

    gcloud

    如需创建 VPC spoke,请使用 gcloud network-connectivity spokes linked-vpc-network create 命令

    gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
        --hub=HUB_URI \
        --global \
        --vpc-network=VPC_NETWORK \
        --include-export-ranges=[INCLUDE_EXPORT_RANGES] \
        --exclude-export-ranges=[EXCLUDE_IPV4_RANGES] \
        --group=GROUP_NAME
    

    替换以下内容:

    • SPOKE_NAME:您要创建的 spoke 的名称。
    • HUB_URI:您要在其中创建 spoke 的其他项目中的 hub 的 URI。
    • VPC_NETWORK:通过此 spoke 可以连接到的 VPC 网络。VPC 网络必须与 spoke 位于同一项目中。
    • INCLUDE_EXPORT_RANGES:一个英文逗号分隔列表,其中包含用于定义可导出到 hub 的子网 IP 地址范围的关键字、CIDR 或关键字和 CIDR 组合。

      • ALL_PRIVATE_IPV4_RANGES 关键字会将使用专用 IPv4 地址的所有子网范围添加到包含导出范围列表中。

      • ALL_IPV6_RANGES 关键字会将所有 IPv6 子网范围添加到包含导出范围列表中。

      • 包含导出范围列表最多支持 16 个不重叠的唯一 CIDR。该列表中的任何 CIDR 都不能与列表中的其他 CIDR 匹配或包含其他 CIDR。VPC spoke 网络中与包含导出范围列表中的 CIDR 重叠的每个当前和未来子网范围都必须满足以下条件之一:

        • 与包含导出范围列表中的 CIDR 完全匹配。

        • 处于包含导出范围列表中的 CIDR 内。在这种情况下,子网范围的子网掩码长度大于包含导出范围列表中的 CIDR。例如,如果 VPC spoke 网络具有 10.1.2.0/24 子网范围,则 10.1.0.0/16 是包含导出范围列表的有效 CIDR,但 10.1.2.0/25 则不是。

      • 如果您省略 INCLUDE_EXPORT_RANGES 列表,Network Connectivity Center 的运作方式就如同包含导出范围列表为 [ALL_PRIVATE_IPV4_RANGES] 一样。

    • EXCLUDE_IPV4_RANGES:用于定义永远不会导出到 hub 的子网 IP 地址范围的 CIDR 的英文逗号分隔列表。

      • 排除 IPv4 范围列表最多支持 16 个不重叠的唯一 CIDR。该列表中的任何 CIDR 都不能与列表中的其他 CIDR 匹配或包含其他 CIDR。

      • 排除 IPv4 范围列表中指定的每个 CIDR 都必须扩展到由包含导出范围列表完全包含的 IP 地址。

      • 如果您省略 EXCLUDE_IPV4_RANGES 列表,Network Connectivity Center 的运作方式就如同排除 IPv4 导出范围列表为空 ([]) 一样。

    • GROUP_NAME:此 spoke 所属的群组。支持的值为:网状拓扑 hub 为 default,星形拓扑 hub 为 centeredge。对于使用星形拓扑的 spoke 群组,此字段为必填字段。如需详细了解 spoke 群组,请参阅 spoke 群组

    API

    如需创建 VPC spoke,请使用 networkconnectivity.spokes.create 方法

      POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/spokes
      {
        "name":"SPOKE_NAME",
        "hub":"HUB_URI",
        "linkedVpcNetwork": {
           "uri": VPC_URI,
           "include_export_ranges": "[INCLUDE_EXPORT_RANGES]",
           "exclude_export_ranges": "[EXCLUDE_IPV4_RANGES]",
           "group": "GROUP_NAME"
        },
      }
    

    替换以下内容:

    • PROJECT_ID:新 spoke 所属项目的 ID
    • SPOKE_NAME:您要创建的 spoke 的名称
    • HUB_URI:包含此项目的完整 hub URI,因为 hub 与 spoke 位于不同的项目中,例如 projects/hub-project-ID/locations/global/hubs/hub-name
    • VPC_URI:此 spoke 指向的 VPC 网络,例如 vpc_uri
    • INCLUDE_EXPORT_RANGES:一个英文逗号分隔列表,其中包含用于定义可导出到 hub 的子网 IP 地址范围的关键字、CIDR 或关键字和 CIDR 组合。

      • ALL_PRIVATE_IPV4_RANGES 关键字会将使用专用 IPv4 地址的所有子网范围添加到包含导出范围列表中。

      • ALL_IPV6_RANGES 关键字会将所有 IPv6 子网范围添加到包含导出范围列表中。

      • 包含导出范围列表最多支持 16 个不重叠的唯一 CIDR。该列表中的任何 CIDR 都不能与列表中的其他 CIDR 匹配或包含其他 CIDR。VPC spoke 网络中与包含导出范围列表中的 CIDR 重叠的每个当前和未来子网范围都必须满足以下条件之一:

        • 与包含导出范围列表中的 CIDR 完全匹配。

        • 处于包含导出范围列表中的 CIDR 内。在这种情况下,子网范围的子网掩码长度大于包含导出范围列表中的 CIDR。例如,如果 VPC spoke 网络具有 10.1.2.0/24 子网范围,则 10.1.0.0/16 是包含导出范围列表的有效 CIDR,但 10.1.2.0/25 则不是。

      • 如果您省略 INCLUDE_EXPORT_RANGES 列表,Network Connectivity Center 的运作方式就如同包含导出范围列表为 [ALL_PRIVATE_IPV4_RANGES] 一样。

    • EXCLUDE_IPV4_RANGES:用于定义永远不会导出到 hub 的子网 IP 地址范围的 CIDR 的英文逗号分隔列表。

      • 排除 IPv4 范围列表最多支持 16 个不重叠的唯一 CIDR。该列表中的任何 CIDR 都不能与列表中的其他 CIDR 匹配或包含其他 CIDR。

      • 排除 IPv4 范围列表中指定的每个 CIDR 都必须扩展到由包含导出范围列表完全包含的 IP 地址。

      • 如果您省略 EXCLUDE_IPV4_RANGES 列表,Network Connectivity Center 的运作方式就如同排除 IPv4 导出范围列表为空 ([]) 一样。

    • GROUP_NAME:此 spoke 所属的群组,例如 centeredge。对于使用星形拓扑的 spoke 群组,此字段为必填字段。如需详细了解 spoke 群组,请参阅 spoke 群组

    后续步骤