处理 Hub 和 Spoke

本页介绍如何列出、创建、描述、删除和更新 Network Connectivity Center Hub 和 Spoke。

如需了解 Network Connectivity Center,请参阅 Network Connectivity Center 概览

准备工作

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

创建或选择项目

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

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 安装 Google Cloud CLI。
  5. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  6. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  7. 确保您的 Google Cloud 项目已启用结算功能

  8. 安装 Google Cloud CLI。
  9. 如需初始化 gcloud CLI,请运行以下命令:

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

    gcloud config set project PROJECT_ID

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

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

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

    gcloud config list --format='text(core.project)'

启用 Network Connectivity API

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

控制台

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

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

    转到 Network Connectivity Center

  2. 点击启用

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

获取访问权限

如要使用 Network Connectivity Center,您需要具备角色和权限中所述的权限。

确定资源

使用 gcloud CLI 或 API 引用资源时,请使用下表中所述的惯例。

会展 支持 备注 示例
完整 URI 所有资源 您必须使用这些方法之一来引用路由器设备实例。

"https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

      
相对资源名称 所有资源

"projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

    
名称 区域和全球资源 此方法可用于 Hub、Spoke 和 VPN 隧道以及 VLAN 连接。

 "HUB_NAME"

    

使用 Hub

本部分介绍如何列出、创建、描述和删除 Network Connectivity Center 中心。您还可以更新 Hub 的标签或说明。

创建 hub

如需使用 Network Connectivity Center,您必须至少创建一个 hub 和一个 spoke。您可以在创建 hub 的同时创建 spoke,也可以在稍后添加 spoke。

创建 hub 时,您可以选择向 hub 应用标签。如需详细了解标签,请参阅标签的要求

如需了解每个项目允许的最大 spoke 数量,请参阅配额和限制

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击创建 hub

  4. 完成表单的基本配置部分:

    1. 输入 Hub 名称
    2. (可选)输入说明
    3. 可选:要添加标签,请点击添加项,然后输入
    4. 验证表单是否显示正确的项目 ID。如果项目 ID 不正确,请使用页面顶部的菜单选择其他项目。
  5. 执行下列其中一项操作:

gcloud

如需创建 Hub,请使用 gcloud network-connectivity hubs create 命令

  gcloud network-connectivity hubs create HUB_NAME \
    --description="DESCRIPTION" \
    --labels="KEY"="VALUE"

替换以下值:

  • HUB_NAME:新 Hub 的名称
  • DESCRIPTION:用于描述该 Hub 的可选文本
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

API

如要创建 Hub,请使用 networkconnectivity.hubs.create 方法

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

替换以下值:

  • PROJECT_ID:新 Hub 所属项目的项目ID
  • HUB_NAME:新 Hub 的名称
  • DESCRIPTION:用于描述该 Hub 的可选文本
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

列出 Hub

如需列出与项目关联的 hub,请按照以下指南操作。

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

    该页面列出了与项目关联的所有 hub,以及每个 hub 的以下信息:

    • hub 的名称
    • hub 的说明
    • 已应用于 hub 的所有标签
    • 与 hub 关联的 spoke 数量
    • 与 hub 关联的 spoke 类型

gcloud

如需列出与项目关联的 hub,请使用 gcloud network-connectivity hubs list 命令

  gcloud network-connectivity hubs list

命令输出包括每个 hub 的名称和说明。

API

如需列出与项目关联的 hub,请使用 networkconnectivity.hubs.list 方法

  GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs

PROJECT_ID 替换为要列出的 Hub 所属项目的项目 ID。

对于每个 hub,此方法会返回以下详细信息:

  • hub 的名称
  • 显示创建 hub 的时间的时间戳
  • 上次更新的时间戳
  • 应用于该 Hub 的所有标签
  • hub 的说明(如果存在)
  • hub 的唯一 ID
  • hub 的状态
  • routingVpcs 列表,即与 hub 的 spoke 关联的 VPC 网络

描述 Hub

请按照以下指南检索有关项目 Hub 的详细信息。

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目以查看关于该项目 Hub 的信息。

  3. 如需检查 Hub 的 Spoke 的详细信息,请点击 Spoke 标签。

gcloud

如需获取现有 Hub 的详细信息,请使用 gcloud network-connectivity hubs describe 命令

gcloud network-connectivity hubs describe HUB_NAME

HUB_NAME 替换为该 Hub 的名称。

此命令的输出包含以下信息:

  • Hub 的创建时间
  • Hub 的说明
  • 应用于该 Hub 的所有标签
  • 与此 hub 的 spoke 资源关联的 VPC 网络 (routingVpcs)
  • Hub 的唯一标识符
  • 上次更新 Hub 的时间

如需了解连接到 Hub 的 Spoke,请参阅列出 Spoke描述 Spoke

API

如需获取现有 Hub 的详细信息,请使用 networkconnectivity.hubs.get 方法

  GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME

替换以下值:

  • PROJECT_ID:要说明的 Hub 所属项目的项目 ID
  • HUB_NAME:要说明的 Hub 名称

此命令的输出包含以下信息:

  • Hub 的创建时间
  • Hub 的说明
  • 应用于该 Hub 的所有标签
  • 与此 hub 的 spoke 资源关联的 VPC 网络 (routingVpcs)
  • Hub 的唯一标识符
  • 上次更新 Hub 的时间

以下代码段展示了此 API 调用的典型响应:

 {
   "name": "projects/myproject/locations/global/hubs/myhub",
   "createTime": "2021-08-29T23:40:25.844970812Z",
   "updateTime": "2021-08-30T04:20:36.738801209Z",
   "labels": {
     "environment": "test"
   },
   "description": "in review",
   "uniqueId": "d6d3e375-4224-4352-a3b6-776042419430",
   "state": "ACTIVE",
   "routingVpcs": [ {
     "uri": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/myvpcnetwork"
   } ]
 }
 

如需了解连接到 Hub 的 Spoke,请参阅列出 Spoke描述 Spoke

更新 Hub

创建 hub 后,您可以添加或更改以下任一项:

  • 应用于 hub 的标签;如需了解标签,请参阅标签要求
  • hub 的说明

不允许对现有 hub 进行其他更改。

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击要修改的 hub 的名称。

  4. Hub 详细信息页面上,点击 修改 hub

  5. 更新 hub 说明和/或标签。

  6. 点击保存

gcloud

如需更新 Hub 的说明或向 Hub 添加标签,请使用 gcloud network-connectivity hubs update 命令

  gcloud network-connectivity hubs update HUB_NAME \
    --description="DESCRIPTION" \
    --update-labels="KEY"="VALUE"

替换以下值:

  • HUB_NAME:hub 的名称
  • DESCRIPTION:此 Hub 的可选新说明
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

要删除一个或多个标签,请使用 --remove-labels 标志。如需移除所有标签,请使用 --clear-labels 标志。如需了解详情,请参阅 gcloud network connectivity hubs update 命令

API

如需更新 Hub 的说明或向 Hub 添加标签,请使用 networkconnectivity.hubs.patch 方法

  PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME
  {
    "description": "DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

替换以下值:

  • PROJECT_ID:包含 hub 的项目的 ID
  • HUB_NAME:hub 的名称
  • DESCRIPTION:hub 的可选说明
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

删除 Hub

在删除某个 Hub 之前,必须先删除其 Spoke,如删除 Spoke 中所述。

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击删除 Hub

  4. 在确认对话框中,执行下列操作之一:

    • 如果您不想删除此 Hub,请点击取消
    • 点击删除以删除 Hub。

gcloud

如需删除 Hub,请使用 gcloud network-connectivity hubs delete 命令

  gcloud network-connectivity hubs delete HUB_NAME

HUB_NAME 替换为该 Hub 的名称。

API

如需删除 Hub,请使用 networkconnectivity.hubs.delete 方法

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME

替换以下值:

  • PROJECT_ID:要删除的 Hub 所属项目的项目的 ID
  • HUB_NAME:要删除的 Hub 的名称

处理 Spoke

本部分介绍如何列出、创建、描述、删除和更新 Network Connectivity Center spoke。

Spoke 指南

创建 Spoke 时,您可以指定您计划与 Spoke 关联的 Google Cloud 网络资源类型。

  • 如需查看受支持的资源类型列表,请参阅 Network Connectivity Center 概览中的 Spoke 部分。
  • 如需了解可与 Spoke 关联的资源数量,请参阅配额和限制页面。

对于混合 spoke,我们建议在与 spoke 相连的最近区域中创建 spoke。网站可以是本地数据中心、分支办公室或其他云提供商。 VPC spoke 是全球性的。

使用要求

您必须在要与 Spoke 关联的 Network Connectivity 资源所在的 Google Cloud 区域中创建 Spoke。例如,假设您有一个 VPN 隧道使用 us-central1 中的高可用性 VPN 网关。如果要创建使用此隧道的 Spoke,则必须在 us-central1 中创建该 Spoke。

限制

创建 Spoke 后,您无法更改它的许多特性。如果要修改无法更改的特性,您必须删除 Spoke 并重新创建。

例如,以下特性无法更改:

  • 站点到站点数据传输字段的值。

  • 与 Spoke 关联的高可用性 VPN 隧道或 VLAN 连接。

  • 与 Spoke 背后的支持资源关联的 VPC 网络。此限制仅与路由器设备 Spoke 相关,因为它们具有可修改的资源。

如需查看 Spoke 创建后可以更改的 Spoke 特性的列表,请参阅更新 Spoke

关于将多个资源连接到一个 Spoke 的建议

创建 Spoke 时,可以添加多个资源,但所有资源的类型必须相同。例如,您可以添加多个高可用性 VPN 隧道,但不能添加高可用性 VPN 隧道和 VLAN 连接。

此外,对于 VLAN 连接和 VPN 隧道,存在以下限制:虽然一个 spoke 可以与多个资源关联,但每个资源只能与一个 spoke 关联。相比之下,如果路由器设备实例在多个 VPC 网络中具有接口,并且站点到站点数据传输字段设置为 false,则路由器设备实例可以与多个 spoke 关联。但是,每个接口只能与一个 spoke 关联。

此外,请参阅创建路由器设备 Spoke创建 VLAN 连接 Spoke创建 VPN Spoke创建 VPC Spoke 部分中介绍的特定于资源的建议。

ASN Spoke 分配(仅限混合 Spoke)

对于混合 spoke,您必须按照 ASN 要求中所述分配 ASN。

验证 Spoke 资源

在创建 Spoke 之前,必须正确配置相应的资源。如需了解更多信息,请参阅创建路由器设备 Spoke创建 VLAN 连接 Spoke创建 VPN Spoke创建 VPC Spoke 部分中介绍的特定于资源的建议。

创建路由器设备 Spoke

如果您使用路由器设备 spoke 连接到 Google Cloud 外部的站点,请遵循以下指导:

  • 与 VLAN 连接和 VPN spoke 不同,路由器设备 spoke 不必与 Google Cloud 外部的某一位置相关联。但是,由于路由器设备实例是区域级资源,因此我们建议您将其配置为从附近的位置接收数据。

  • 如果配置多个路由器设备实例来接收来自同一组站点的数据,我们建议您将这些实例与同一 Spoke 相关联。

如果您使用路由器设备 spoke 进行站点到站点数据传输,请遵循以下指导:

  • 如果将多个路由器设备实例与一个 Spoke 相关联,请注意 Network Connectivity Center 不会在这些实例之间提供站点到站点数据传输。如需使用站点到站点数据传输,您必须设置多个 Spoke。相应地,Network Connectivity Center 将允许在这些 Spoke 之间进行数据传输。

创建路由器设备 Spoke 后,您必须在路由器设备实例和位于同一区域的 Cloud Router 之间设置 BGP 对等互连。如需了解详情,请参阅创建路由器设备实例

如需了解如何配置创建路由器设备 Spoke 所需的资源,请参阅以下文档:

控制台

输入基本 Spoke 详情

  1. 在 Google Cloud Console 中,转到 Network Connectivity Center 页面。
  2. 转到 Network Connectivity Center
  3. 在项目下拉菜单中,选择一个项目。
  4. 点击 Spoke 标签页。
  5. 点击添加 Spoke
  6. 新 spoke 表单中,设置 Spoke 类型
  7. 输入 Spoke 名称和(可选)说明
  8. 选择新 spoke 的区域字段。
  9. 站点到站点数据传输下,选择开启关闭。如果您选择的区域不支持数据传输,则该字段处于停用状态。如需详细了解此使用场景,请参阅站点到站点数据传输概览
  10. VPC 网络下拉列表中,选择一个网络。 如果您有多个使用数据传输功能的 Spoke,则所有这些 Spoke 都必须位于同一 VPC 网络中。因此,如果您已创建某个使用数据传输功能的 Spoke,则 VPC 网络值会被预填充且无法更改。

输入路由器设备详细信息

  1. 选择一个路由器设备实例:
    1. 点击添加实例
    2. 实例下拉菜单中,选择一个现有的路由器设备实例。
  2. 如需向此 Spoke 添加更多路由器设备实例,请重复上述步骤。完成后,点击完成,然后继续保存您的 Spoke

保存您的 Spoke

  1. 如果要添加更多 Spoke,请点击添加 Spoke,然后重新开始该过程,从输入 Spoke 名称开始。
  2. 添加完 Spoke 后,点击创建Network Connectivity Center 页面会更新,以显示您创建的 Spoke 的详细信息。

gcloud

如需创建路由器设备 spoke,请使用 gcloud network-connectivity spokes linked-router-appliances create 命令

例如,如需创建具有两个路由器设备实例并使用站点到站点数据传输的 spoke,请运行以下命令:

  gcloud network-connectivity spokes linked-router-appliances create NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \
    --router-appliance=instance="ROUTER_APPLIANCE_URI_2",ip=IP_ADDRESS_2 \
    --region=REGION \
    --labels="KEY"="VALUE" \
    --site-to-site-data-transfer
 

替换以下值:

  • NAME:Spoke 的名称
  • HUB_NAME:hub 的名称
  • DESCRIPTION:描述该 Spoke 的可选文本
  • ROUTER_APPLIANCE_URI:第一个路由器设备实例的 URI,例如
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS:第一个路由器设备实例的内部 IP 地址
  • ROUTER_APPLIANCE_URI_2:第二个路由器设备实例的 URI
  • IP_ADDRESS_2:第二个路由器设备实例的内部 IP 地址
  • REGION:Spoke 所在的 Google Cloud 区域;例如 us-west1
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

如果您要为 spoke 启用数据传输,请使用 site-to-site-data-transfer 标志。如需详细了解此使用场景,请参阅站点到站点数据传输概览

API

如需创建路由器设备 Spoke,请使用 networkconnectivity.spokes.create 方法。例如,如需创建包含两个路由器设备实例的 Spoke,请使用以下请求:

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedRouterApplianceInstances": {
      "instances": [
        {
          "virtualMachine": "ROUTER_APPLIANCE_URI",
          "ipAddress": "IP_ADDRESS",
        },
        {
          "virtualMachine": "ROUTER_APPLIANCE_URI_2,
          "ipAddress": "IP_ADDRESS_2",
        }
      ],
      "siteToSiteDataTransfer": BOOLEAN
    }
  }
 

替换以下值:

  • PROJECT_ID:您的项目的 ID
  • REGION:您希望 spoke 所在的 Google Cloud 区域,例如 us-west1
  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:您要将 Spoke 连接到的 Hub 的名称
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值
  • ROUTER_APPLIANCE_URI:第一个路由器设备实例的 URI,例如
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS:第一个路由器设备实例的内部 IP 地址
  • ROUTER_APPLIANCE_URI_2:第二个路由器设备实例的 URI
  • IP_ADDRESS_2:第二个路由器设备实例的内部 IP 地址

创建 VLAN 连接 Spoke

在创建 VLAN 连接 Spoke 之前,请参考以下准则:

  • 如果您在同一站点的冗余配置中配置了专用互连或合作伙伴互连连接,则应将这两个连接一起配置为单个 Spoke。与这些互连连接关联的冗余 VLAN 连接必须位于同一 Google Cloud 区域中。如需详细了解冗余配置,请参阅 Cloud Interconnect 的最佳做法
  • 如果要使用来自不同区域的多个互连连接,则必须将其配置为不同的 Spoke。

如需了解如何配置创建 VLAN 连接 Spoke 所需的资源,请参阅以下文档:

如需了解如何验证 VLAN 连接资源,请参阅以下文档:

控制台

输入基本 Spoke 详情

  1. 在 Google Cloud Console 中,转到 Network Connectivity Center 页面。
  2. 转到 Network Connectivity Center
  3. 在项目下拉菜单中,选择一个项目。
  4. 点击 Spoke 标签页。
  5. 点击添加 Spoke
  6. 新 spoke 表单中,设置 Spoke 类型
  7. 输入 Spoke 名称和(可选)说明
  8. 选择新 spoke 的区域字段。
  9. 站点到站点数据传输下,选择开启关闭。如果您选择的区域不支持数据传输,则该字段处于停用状态。如需详细了解此使用场景,请参阅站点到站点数据传输概览
  10. VPC 网络下拉列表中,选择一个网络。 如果您有多个使用数据传输功能的 Spoke,则所有这些 Spoke 都必须位于同一 VPC 网络中。因此,如果您已创建某个使用数据传输功能的 Spoke,则 VPC 网络值会被预填充且无法更改。

输入 VLAN 连接详情

  1. 选择 VLAN 连接:
    1. 点击添加连接
    2. VLAN 连接下拉菜单中,选择一个现有连接。
  2. 要为此 Spoke 添加更多连接,请重复上述步骤。 完成后,点击完成,然后继续保存您的 Spoke

保存您的 Spoke

  1. 如果要添加更多 Spoke,请点击添加 Spoke,然后重新开始该过程,从输入 Spoke 名称开始。
  2. 添加完 Spoke 后,点击创建Network Connectivity Center 页面会更新,以显示您创建的 Spoke 的详细信息。

gcloud

如需创建 VLAN 连接 spoke,请使用 gcloud network-connectivity spokes linked-interconnect-attachments create 命令

例如,如需创建具有两个 VLAN 连接并使用站点到站点数据传输的 spoke,请运行以下命令:

  gcloud network-connectivity spokes linked-interconnect-attachments create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --interconnect-attachments=VLAN_ATTACHMENT_NAME,VLAN_ATTACHMENT_NAME_2 \
    --region=REGION \
    --labels="KEY"="VALUE"
    --site-to-site-data-transfer

替换以下值:

  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:您要向其连接 Spoke 的 Hub 名称(以 URI 格式表示);例如
    projects/myproject/locations/global/hubs/us-west-to-uk
  • DESCRIPTION:描述该 Spoke 的可选文本
  • VLAN_ATTACHMENT_NAME:要添加到 Spoke 的第一个 VLAN 连接的名称
  • VLAN_ATTACHMENT_NAME_2:第二个 VLAN 连接的名称;如果添加第二个连接,请确保省略英文逗号与连接名称之间的空格
  • REGION:Spoke 所在的 Google Cloud 区域
  • KEY:标签文本的键值对中的键
  • VALUE:标签文本的键值对中的值

如果您要为 spoke 启用数据传输,请使用 site-to-site-data-transfer 标志。如需详细了解此使用场景,请参阅站点到站点数据传输概览

API

如需创建 VLAN 连接 Spoke,请使用 networkconnectivity.spokes.create 方法。例如,如需创建包含两个 VLAN 连接的 Spoke,请使用以下请求:

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedInterconnectAttachments": {
      "uris": [
        "VLAN_ATTACHMENT_NAME",
        "VLAN_ATTACHMENT_NAME_2"
      ],
      "siteToSiteDataTransfer": BOOLEAN
    }
  }

替换以下值:

  • PROJECT_ID:您的项目的 ID
  • REGION:您希望 spoke 所在的 Google Cloud 区域,例如 us-west1
  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:您要将 Spoke 连接到的 Hub 的名称
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值
  • VLAN_ATTACHMENT_NAME:要添加到 Spoke 的第一个 VLAN 连接的名称
  • VLAN_ATTACHMENT_NAME_2:第二个 VLAN 连接的名称
  • BOOLEAN:用于确定是否为 spoke 启用站点到站点数据传输的值;如需详细了解此使用场景,请参阅站点到站点数据传输概览

创建 VPN Spoke

在创建 VPN Spoke 之前,请参考以下准则:

  • 在将高可用性 VPN 隧道连接到 Spoke 时,我们建议您将连接到单个站点的所有隧道一起配置为单个 Spoke。反之亦然;连接到两个不同网站的两个隧道应挂接到不同的 Spoke。例如,假设您希望将达拉斯的办公室与东京的办公室联系起来。与达拉斯连接的隧道所属的 Spoke 必须不同于将 VPC 网络连接到东京的 Spoke。

  • 将高可用性 VPN 隧道连接到 Spoke 时,您不能在同一 Google Cloud 项目中将位于不同区域的多个高可用性 VPN 网关互连。这是高可用性 VPN 的限制,而非 Network Connectivity Center 的限制。

如需了解如何配置创建 VPN Spoke 所需的资源,请参阅以下文档:

如需了解如何验证 VPN 资源,请参阅检查高可用性 VPN 状态

控制台

输入基本 Spoke 详情

  1. 在 Google Cloud Console 中,转到 Network Connectivity Center 页面。
  2. 转到 Network Connectivity Center
  3. 在项目下拉菜单中,选择一个项目。
  4. 点击 Spoke 标签页。
  5. 点击添加 Spoke
  6. 新 spoke 表单中,设置 Spoke 类型
  7. 输入 Spoke 名称和(可选)说明
  8. 选择新 spoke 的区域字段。
  9. 站点到站点数据传输下,选择开启关闭。如果您选择的区域不支持数据传输,则该字段处于停用状态。如需详细了解此使用场景,请参阅站点到站点数据传输概览
  10. VPC 网络下拉列表中,选择一个网络。 如果您有多个使用数据传输功能的 Spoke,则所有这些 Spoke 都必须位于同一 VPC 网络中。因此,如果您已创建某个使用数据传输功能的 Spoke,则 VPC 网络值会被预填充且无法更改。

输入 VPN 隧道详情

  1. Spoke 类型下拉列表设置为 VPN 隧道
  2. 选择 Spoke 的区域
  3. 选择一个隧道:
    1. 点击添加隧道
    2. VPN 隧道下拉菜单中,选择一个现有隧道。
  4. 要为此 Spoke 添加更多隧道,请重复上述步骤。 完成后,点击完成,然后继续保存您的 Spoke

保存您的 Spoke

  1. 如果要添加更多 Spoke,请点击添加 Spoke,然后重新开始该过程,从输入 Spoke 名称开始。
  2. 添加完 Spoke 后,点击创建Network Connectivity Center 页面会更新,以显示您创建的 Spoke 的详细信息。

gcloud

如需创建包含高可用性 VPN 隧道的 spoke,请使用 gcloud network-connectivity spokes linked-vpn-tunnels create 命令

例如,如需创建具有两个高可用性 VPN 隧道并使用站点到站点数据传输的 spoke,请输入以下命令:

  gcloud network-connectivity spokes linked-vpn-tunnels create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --vpn-tunnels=TUNNEL_NAME,TUNNEL_NAME_2 \
    --region=REGION
    --labels="KEY"="VALUE"
    --site-to-site-data-transfer

替换以下值:

  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:您要向其连接 Spoke 的 Hub 名称(以 URI 格式表示);例如
    projects/PROJECT_ID/locations/global/hubs/us-west-to-uk
  • DESCRIPTION:用于描述 Spoke 的可选文本;例如 us-vpn-spoke
  • TUNNEL_NAME:要添加到 Spoke 的第一个高可用性 VPN 隧道的名称
  • TUNNEL_NAME_2:第二个高可用性 VPN 隧道的名称;如果您使用第二个隧道,请确保省略英文逗号与第二个隧道名称之间的空格
  • REGION:Spoke 所在的 Google Cloud 区域
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值

如果您要为 spoke 启用数据传输,请使用 site-to-site-data-transfer 标志。如需详细了解此使用场景,请参阅站点到站点数据传输概览

API

如需创建 VPN Spoke,请使用 networkconnectivity.spokes.create 方法。例如,如需创建包含两个高可用性 VPN 隧道的 Spoke,请使用以下请求:

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedVpnTunnels": {
      "uris": [
        "TUNNEL_NAME",
        "TUNNEL_NAME_2"
      ],
      "siteToSiteDataTransfer": BOOLEAN
    }
  }

替换以下值:

  • PROJECT_ID:您的项目的 ID
  • REGION:您希望 spoke 所在的 Google Cloud 区域,例如 us-west1
  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:您要将 Spoke 连接到的 Hub 的名称
  • KEY:可选标签文本的键值对中的键
  • VALUE:可选标签文本的键值对中的值
  • TUNNEL_NAME:要添加到 Spoke 的第一个高可用性 VPN 隧道的名称
  • TUNNEL_NAME_2:第二个高可用性 VPN 隧道的名称
  • BOOLEAN:用于确定是否为 spoke 启用站点到站点数据传输的值;如需详细了解此使用场景,请参阅站点到站点数据传输概览

创建 VPC Spoke

在创建 VPC 连接 Spoke 之前,请参考以下准则:

  • VPC Spoke 是全球性的,因为 VPC 网络是全球性的。
  • VPC spoke 之间不得存在子网重叠。您可以使用 exclude export filters 标志来避免这种情况。
  • Network Connectivity Center VPC 连接与 VPC 对等互连之间不能存在子网重叠。
  • VPC spoke(其中 hub 和 VPC spoke 位于不同的项目中)的工作流不同。如需了解详情,请参阅与 Hub 不同的项目中的 VPC Spoke

如需连接给定项目中的多个 VPC 网络,请将 VPC 网络连接到 spoke,并将其连接到 hub。如需创建 VPC Spoke,请按照以下步骤操作。

控制台

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

    转到 Network Connectivity Center

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

  3. 点击 Spoke 标签页。

  4. 点击添加 Spoke

  5. 选择 hub 部分中,按如下方式选择 hub 位置:

    • 如需将新 Spoke 连接到同一项目中的 Hub,请选择在项目 PROJECT_NAME,然后从列表中选择 Hub 名称。
    • 如果要将新的 Spoke 连接到其他项目中的 Hub,请选择在其他项目中。输入要连接新 Spoke 的项目 IDHub 名称

    当您选择其他项目中的 Hub 时,仅在 Hub 管理员审核并接受您建议的 Spoke 时,您的 Spoke 才会生效。如需详细了解如何创建连接到其他项目中的 Hub 的 Spoke,请参阅 VPC Spoke 概览。如果您要在 Hub 所在的项目中创建 VPC Spoke,则系统会自动接受并激活该 Spoke。

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

  7. 选择 VPC 网络作为 Spoke 类型

  8. 如需将 VPC 网络添加到 Spoke,请从列表中选择 VPC 网络

  9. 或者,您可以添加 VPC Spoke 过滤条件以自定义路由的通告方式,方法是输入 IP 地址范围以排除从 Spoke 到 Hub 的导出。创建 spoke 后,您将无法更改此过滤条件。

  10. 点击完成

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

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

gcloud

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

gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
--hub=HUB \
--description=DESCRIPTION \
--vpc-network=VPC_URI \
--exclude-export-ranges=[CIDR_RANGE,...] \
--global

请替换以下内容:

  • SPOKE_NAME:您要创建的 Spoke 的名称,例如 vpc-spoke1
  • HUB:Spoke 的 Hub
  • DESCRIPTION:(可选)用于描述 Spoke 的文本
  • VPC_URI:此 Spoke 指向的 VPC 网络
  • [CIDR_RANGE,...]:(可选)要从导出到 Hub 中排除的 IP 地址范围,例如“192.0.2.0/24, 198.51.100.0/24”。您最多可以添加 16 个 CIDR 范围。指定范围必须大于或等于 VPC 网络中单独配置的子网。

API

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

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/spokes/SPOKE_NAME
  {
    "hub":"HUB_NAME",
    "linkedVpcNetwork": {
       "uri": VPC_URI,
       "exclude_export_ranges": "[CIDR_RANGE]",
    },
  }

替换以下值:

  • PROJECT_ID:新 spoke 所属项目的项目 ID
  • SPOKE_NAME:Spoke 的名称
  • HUB_NAME:hub 的名称
  • VPC_URI:此 Spoke 指向的 VPC 网络
  • [CIDR_RANGE]:要从导出到 Hub 中排除的 IP 地址范围(最多 16 个 CIDR 范围),例如 10.1.0.0/16, 192.168.0.0/24, 172.16.1.1/32。指定范围必须大于或等于 VPC 中单独配置的子网。

列出 Spoke

这组命令会列出指定区域的 Spoke。另请参阅描述 Hub

控制台

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

    转到 Network Connectivity Center

  2. 在项目菜单中,选择包含要列出现有 Spoke 的 Hub 的项目。

  3. hub 标签页中,选择 hub。

  4. 点击 Spoke 标签页。系统会列出连接到该 Hub 的所有 Spoke。

  5. 如需查看特定 spoke 的详细信息,请点击 spoke 名称。

gcloud

如需列出现有 Spoke,请使用 gcloud network-connectivity spokes list 命令

gcloud network-connectivity spokes list \
--region=LOCATION

LOCATION 替换为适当的区域。

如需列出现有 VPC Spoke,请使用同一命令并附加 --global 标志:

gcloud network-connectivity spokes list \
--global

API

如要列出现有 Spoke,请使用 networkconnectivity.spokes.list 方法

  GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/spokes

替换以下值:

  • PROJECT_ID:要列出的 Spoke 所属项目的项目 ID
  • LOCATION:该 Spoke 所在的区域,例如 VPC Spoke 的 us-west1global

如需获取现有 Spoke 的汇总列表,其中多行的值将汇总成单个摘要值,请将 networkconnectivity.spokes.list 方法并将 locations 后面的连字符 (-) 用作通配符。

  GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/-/spokes

描述 Spoke

要获取有关现有 Spoke 的详细信息,请遵循以下指导信息。

控制台

  1. 转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. hub 标签页中,选择 hub。系统会列出连接到该 Hub 的所有 Spoke。

  4. 如需查看特定 spoke 的详细信息,请执行以下操作之一:

    • Spoke 名称列中,选择一个 Spoke 以查看 Spoke 详细信息页面。
    • Spoke 标签页上,点击 Spoke 名称列,然后选择 Spoke 以查看 Spoke 详细信息页面。

gcloud

如需描述 Spoke,请使用 gcloud network-connectivity spokes describe 命令

  gcloud network-connectivity spokes describe SPOKE_NAME \
    --region=LOCATION

替换以下值:

  • SPOKE_NAME:Spoke 的名称
  • LOCATION:Spoke 所在的区域

如需描述 VPC Spoke,请使用同一命令并附加带有 --global 标志:

  gcloud network-connectivity spokes describe SPOKE_NAME \
    --global

API

如需描述 Spoke,请使用 networkconnectivity.spokes.get 方法

 GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/spokes/SPOKE_NAME

替换以下值:

  • PROJECT_ID:该 Spoke 所属项目的项目 ID
  • LOCATION:该 Spoke 所在的区域,例如 VPC Spoke 的 us-west1global
  • SPOKE_NAME:Spoke 的名称

更新 Spoke

创建 Spoke 后,您可以更新以下内容:

  • Spoke 的说明
  • 应用于 Spoke 的标签;如需了解标签,请参阅标签要求
  • 如果 spoke 是路由器设备 spoke,则可以更改其底层资源;但是,新资源必须与原始资源位于同一 VPC 网络

控制台

如需更改路由器设备 Spoke 使用的资源,请完成以下步骤:

  1. 转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击 Spoke 标签页。

  4. 点击您要修改的 spoke 的名称。

  5. 执行以下其中一项操作:

    • 若要添加资源,请点击添加实例,然后按照提示选择一个或多个虚拟机。完成之后,请点击确定
    • 如需移除资源,请选择要移除的虚拟机,然后点击移除实例。 在确认对话框中点击确定

gcloud

要更新 Spoke,请使用以下任一命令:

更新说明和标签

要更新路由器设备 Spoke 的说明和标签,请运行以下命令:

  gcloud network-connectivity spokes linked-router-appliances update SPOKE_NAME \
    --description="DESCRIPTION" \
    --region=LOCATION \
    --update-labels="KEY"="VALUE"

替换以下值:

  • SPOKE_NAME:要更新的 Spoke 的名称
  • DESCRIPTION:Spoke 的新说明
  • LOCATION:Spoke 所在的 Google Cloud 区域;例如 us-west1global
  • KEY:键值对中的键
  • VALUE:键值对中的值

更新路由器设备 Spoke 的底层资源

如果需要,您可以更新路由器设备 spoke 以使用其他路由器设备实例,只要新资源与原始资源位于同一 VPC 网络中即可。如需用新资源替换现有资源,请运行以下命令:

  gcloud network-connectivity spokes linked-router-appliances update SPOKE_NAME \
     --region=LOCATION \
     --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS

替换以下值:

  • SPOKE_NAME:Spoke 的名称
  • LOCATION:Spoke 所在的 Google Cloud 区域;例如 us-west1
  • ROUTER_APPLIANCE_URI:要与 Spoke 关联的新路由器设备实例的 URI,例如,
    "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"
  • IP_ADDRESS:新路由器设备实例的内部 IP 地址

API

如需更新 Spoke,请使用 networkconnectivity.spokes.patch 方法

更新说明和标签

如需更新路由器设备 spoke 的说明和标签,请使用以下请求:

 PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
 {
   "description": "DESCRIPTION"
   "labels": {
     "KEY": "VALUE"
   }
 }

替换以下值:

  • PROJECT_ID:该 Spoke 所属项目的项目 ID
  • REGION:该 Spoke 所在的区域;例如 us-west1
  • SPOKE_NAME:要更新的 Spoke 的名称
  • DESCRIPTION:Spoke 的新说明
  • KEY:键值对中的键
  • VALUE:键值对中的值

更新路由器设备 Spoke 的底层资源

如果需要,您可以更新路由器设备 spoke 以使用其他路由器设备实例,只要新资源与原始资源位于同一 VPC 网络中即可。如需用新资源替换现有资源,请使用以下请求:

 PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE
 {
   "linkedRouterApplianceInstances": {
     "instances": [
       {
         "virtualMachine": "ROUTER_APPLIANCE_URI",
         "ipAddress": "IP_ADDRESS",
       }
     ]
   }
 }

替换以下值:

  • PROJECT_ID:该 Spoke 所属项目的项目 ID
  • REGION:该 Spoke 所在的区域;例如 us-west1
  • SPOKE:Spoke 的名称
  • ROUTER_APPLIANCE_URI:要与 Spoke 关联的新路由器设备实例的 URI,例如,
    "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"
  • IP_ADDRESS:新路由器设备实例的内部 IP 地址

删除 Spoke

删除 Spoke 时,您也可以从该 Spoke 中分离资源。也就是说,删除 Spoke 并不会删除资源;只会断开它们与 Spoke 的连接。

控制台

  1. 转到 Network Connectivity Center 页面。

    转到 Network Connectivity Center

  2. 在项目菜单中,选择一个项目。

  3. 点击 Spoke 标签页。

  4. 查看项目的 Spoke 名称列表。

  5. 选择要删除的 Spoke。

  6. 点击删除 Spoke

  7. 在确认对话框中,执行下列操作之一:

    • 如果您不想删除 Spoke,请点击取消
    • 点击删除以删除 Spoke。

gcloud

如需删除 Spoke,请使用 gcloud network-connectivity spokes delete 命令

  gcloud network-connectivity spokes delete SPOKE_NAME \
    --region=REGION

替换以下值:

  • SPOKE_NAME:要删除的 Spoke 的名称
  • REGION:Spoke 所在的区域;除了完整的 Spoke 名称中所列的区域外,其他区域均要使用此选项。如果您要删除 VPC spoke,则必须指定 --global

API

如要删除现有 Spoke,请使用 networkconnectivity.spokes.delete 方法

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/spokes/SPOKE_NAME

替换以下值:

  • PROJECT_ID:待删除 Spoke 所属项目的项目 ID
  • LOCATION:该 Spoke 所在的区域,例如 VPC Spoke 的 us-west1--global
  • SPOKE_NAME:要删除的 Spoke 的名称

后续步骤