Working with hubs and spokes

This page describes how to list, create, describe, delete, and update Network Connectivity Center hubs and spokes.

For an introduction to Network Connectivity Center, see the Network Connectivity Center overview.

Before you begin

Before you get started, review the following sections.

Create or select a project

To make it easier to configure Network Connectivity Center, start by identifying a valid project.

  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 Cloud project. Learn how to confirm that billing is enabled for your project.

  4. Install and initialize the Cloud SDK.
  5. In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.

  7. Install and initialize the Cloud SDK.
  1. If you are using the gcloud command-line tool, set your project ID by running the following command. The gcloud instructions on this page assume that you have set your project ID.
    gcloud config set project PROJECT_ID
        
  1. Confirm that the ID was set by running the following command:
    gcloud config list --format='text(core.project)'
        

Enable the Network Connectivity API

Before you can perform any tasks using Network Connectivity Center, you must enable the Network Connectivity API.

Console

To enable the Network Connectivity API:

  1. In the Cloud Console, go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. Click Enable.

Alternatively, you can enable the API by using the Cloud Console API Library, as described in Enabling APIs.

Get access

To work with Network Connectivity Center, you need the permissions described in Access control.

When you configure Network Connectivity Center, you also work with Google Cloud resources such as VPC networks, subnets, and firewall rules. For more information about the permissions you need to work with these resources, see the Compute Engine access control documentation.

Identify resources

When you reference resources by using the gcloud tool or the API, use the conventions described in the following table.

Convention Supported for Notes Example
Full URI All resources You must use one of these methods to reference router appliance instances.
"https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

      
Relative resource name All resources
"projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

    
Name Regional and global resources This method can be used for hubs, spokes, VPN tunnels, and VLAN attachments.
 "HUB_NAME"

    

Working with hubs

This section describes how to list, create, describe, and delete Network Connectivity Center hubs. You can also update a hub's labels or description.

Create a hub

For each project, you can create one hub. When you create a hub, you can optionally add a description and labels to it.

Console

  1. In the Cloud Console, go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project.

  3. Enter a Hub name.

  4. Enter an optional Description.

  5. Verify the Project ID. If the project ID is incorrect, select a different project by using the pull-down menu at the top of the screen.

  6. Click Continue.

  7. Do one of the following:

  8. Click Done.

gcloud

To create a hub, use the gcloud network-connectivity hubs create command.

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

Replace the following values:

  • HUB_NAME: the name of the new hub
  • DESCRIPTION: optional text that describes the hub
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

API

To create a hub, use the networkconnectivity.hubs.create method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the new hub
  • HUB_NAME: the name of the new hub
  • DESCRIPTION: optional text that describes the hub
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

List hubs

Network Connectivity Center permits only one hub per project. To list a project's hub, use the following guidance.

Console

  1. In the Cloud Console, go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project.

gcloud

To list the hub associated with the project, use the gcloud network-connectivity hubs list command.

  gcloud network-connectivity hubs list

API

To list the hub associated with the project, use the networkconnectivity.hubs.list method.

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

Replace PROJECT_ID with the project ID of the project that contains the hubs to list.

Describe a hub

Use the following guidance to retrieve details about a project's hub.

Console

  1. In the Cloud Console, go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project to view information about that project's hub.

  3. To view details about the hub's spokes, click the Spokes tab.

gcloud

To get detailed information about an existing hub, use the gcloud network-connectivity hubs describe command.

gcloud network-connectivity hubs describe HUB_NAME

Replace HUB_NAME with the name of the hub.

Output from this command includes the following information:

  • The time the hub was created
  • The hub's description
  • Any labels applied to the hub
  • The routing VPC network (the network that is associated with this hub's spoke resources)
  • The hub's unique identifier
  • The time the hub was last updated

If you want information about the spokes attached to a hub, see List spokes and Describe a spoke.

API

To get detailed information about an existing hub, use the networkconnectivity.hubs.get method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the hubs to describe
  • HUB_NAME: the name of the hub to describe

Output from this command includes the following information:

  • The time the hub was created
  • The hub's description
  • Any labels applied to the hub
  • The routing VPC network (the network that is associated with this hub's spoke resources)
  • The hub's unique identifier
  • The time the hub was last updated

The following snippet illustrates a typical response to this API call:

 {
   "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"
   } ]
 }
 

If you want information about the spokes attached to a hub, see List spokes and Describing a spoke.

Update a hub

After a hub has been created, you can update it by adding or changing either of the following:

  • Labels applied to the hub
  • The hub's description

For more information about labels, see Requirements for labels.

gcloud

To update a hub's description or add labels to a hub, use the gcloud network-connectivity hubs update command.

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

Replace the following values:

  • HUB_NAME: the name of the hub
  • DESCRIPTION: an optional new description for the hub
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

To remove one or more labels, use the --remove-labels flag. To remove all labels, use the --clear-labels flag. For more information, see gcloud network connectivity hubs update.

API

To update a hub's description or add labels to a hub, use the networkconnectivity.hubs.patch method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the hub to add a label to
  • HUB_NAME: the name of the hub
  • DESCRIPTION: an optional new description for the hub
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

Delete a hub

Before you can delete a hub, you must delete its spokes, as described in Delete a spoke.

Console

  1. In the Cloud Console, go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project.

  3. Click Delete hub.

  4. In the confirmation dialog, do one of the following:

    • Click Cancel if you don't want to delete the hub.
    • Click Delete to delete the hub.

gcloud

To delete a hub, use the gcloud network-connectivity hubs delete command.

  gcloud network-connectivity hubs delete HUB_NAME

Replace HUB_NAME with the name of the hub.

API

To delete a hub, use the networkconnectivity.hubs.delete method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the hub to delete
  • HUB_NAME: the name of the hub to delete

Working with spokes

This section describes how to list, create, describe, and delete Network Connectivity Center spokes. You can also update a spoke's labels and description.

Spoke guidelines

When you create a spoke, you specify the type of Google Cloud network resource that you plan to associate with the spoke.

We recommend creating spokes in the region closest to the site that the spoke connects to. A site could be an on-premises data center, a branch office, or another cloud provider.

Requirements

  • You must create a spoke in the same region as the Google Cloud resource that you associate with it. For example, if you associate HA VPN tunnels with a spoke, that spoke must be in the same region as the HA VPN gateway that contains those tunnels.

  • To associate more than one resource with a spoke by using the gcloud command-line tool or the API, separate the resource names with a comma. There must be no space before or after the comma.

  • It's not possible to add HA VPN tunnels or VLAN attachments to an existing spoke (or remove them from a spoke). To make changes in these cases, you must delete and re-create the spoke so that it contains the appropriate resources. However, you can add or remove a router appliance instance from an existing spoke, with one limitation: After a spoke is created, it must remain associated with the same VPC network. So you can change the router appliance instances that are associated with the spoke, but you can't add instances from a different network.

Recommendations for attaching multiple resources to a spoke

When creating a spoke, you can add more than one resource, but all resources must be of the same type. For example, you can add multiple HA VPN tunnels, but you can't add HA VPN tunnels and VLAN attachments. Also, while a spoke can be associated with multiple resources, each resource can be associated with only one spoke. For more information, see Spoke resource types.

Additionally, see the resource-specific recommendations described in the sections Create a Router appliance spoke, Create a VLAN attachment spoke, and Create a VPN spoke.

ASN spoke assignment

You must assign ASNs as described in ASN requirements for spoke resources.

Validate spoke resources

Before you create a spoke, the corresponding resource must be configured correctly. For more information, see the resource-specific recommendations described in the sections Create a Router appliance spoke, Create a VLAN attachment spoke, and Create a VPN spoke.

Create a Router appliance spoke

Unlike VLAN attachments and VPN spokes, a Router appliance spoke doesn't have to be associated with a single location outside of Google Cloud. However, because router appliance instances are regional resources, we recommend that you configure them to receive data from nearby locations.

If you configure multiple router appliance instances to receive data from the same set of sites, we recommend that you associate those instances with the same spoke.

If you link multiple router appliance instances to a spoke, be aware that Network Connectivity Center doesn't provide site-to-site data transfer between those instances. To use site-to-site data transfer, you must set up multiple spokes. In response, Network Connectivity Center permits data transfer between those spokes.

After you create a Router appliance spoke, you must set up BGP peering between the router appliance instance and a Cloud Router located in the same region. For details, see Creating router appliance instances.

For information about configuring the resources that are required to create a Router appliance spoke, see the following documentation:

Console

Enter basic spoke details

  1. In the Google Cloud Console, go to the Network Connectivity Center page.
  2. Go to Network Connectivity Center
  3. In the project pull-down menu, select a project.
  4. Click the Spokes tab.
  5. Click Add spokes.
  6. In the Network drop-down list, select a network. All of your hub's spokes must be in the same VPC network. If you have already created a spoke for this hub, the Network value is prepopulated and cannot be changed.
  7. In the New spoke form, enter a Spoke name and optionally, a Description.

Enter router appliance details

  1. Set the Spoke type drop-down list to Router appliance.
  2. Select the Region for the spoke.
  3. Choose a router appliance instance:
    1. Click Add instance.
    2. From the Instances drop-down menu, select an existing router appliance instance.
  4. To add more router appliance instances to this spoke, repeat the preceding step. When you are finished, click Done and continue to Save your spoke.

Save your spoke

  1. If you want to add more spokes, click Add spoke and begin the process again, starting with entering a Spoke name.
  2. When you are finished adding spokes, click Create. The Network Connectivity Center page updates to show details about the spokes that you created.

gcloud

To create a Router appliance spoke, use the gcloud network-connectivity spokes linked-router-appliances create command. For example, to create a spoke that contains two router appliance instances, enter the following command:

  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
 

Replace the following values:

  • NAME: the name of the spoke
  • HUB_NAME: the name of the hub
  • DESCRIPTION: optional text that describes the spoke
  • ROUTER_APPLIANCE_URI: the URI of the first router appliance instance—for example,
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS: the internal IP address of the first router appliance instance
  • ROUTER_APPLIANCE_URI_2: the URI of the second router appliance instance
  • IP_ADDRESS_2: the internal IP address of the second router appliance instance
  • REGION: the Google Cloud region where the spoke is located—for example, us-west1
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

API

To create a Router appliance spoke, use the networkconnectivity.spokes.create method. For example, to create a spoke that contains two router appliance instances, use the following request:

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

Replace the following values:

  • PROJECT_ID: the project ID of your project
  • REGION: the Google Cloud region where you want to locate the spoke—for example, us-west1
  • SPOKE_NAME: the name for the spoke
  • HUB_NAME: the name of the hub that you are attaching the spoke to
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text
  • ROUTER_APPLIANCE_URI: the URI of the first router appliance instance—for example,
    https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME 
  • IP_ADDRESS: the internal IP address of the first router appliance instance
  • ROUTER_APPLIANCE_URI_2: the URI of the second router appliance instance
  • IP_ADDRESS_2: the internal IP address of the second router appliance instance

Create a VLAN attachment spoke

Before creating VLAN attachment spokes, consider the following guidelines:

  • If you have either Dedicated Interconnect or Partner Interconnect connections configured in a redundant configuration to the same site, you should configure both connections together as a single spoke. The redundant VLAN attachments associated with these Interconnect connections must be located in the same Google Cloud region. For more information about redundant configurations, see Best practices for Cloud Interconnect.
  • If you want to use Interconnect connections from different regions, you must configure them as different spokes.

For information about configuring the resources that are required to create a VLAN attachment spoke, see the following documentation:

For information about verifying VLAN attachment resources, see the following documentation:

Console

Enter basic spoke details

  1. In the Google Cloud Console, go to the Network Connectivity Center page.
  2. Go to Network Connectivity Center
  3. In the project pull-down menu, select a project.
  4. Click the Spokes tab.
  5. Click Add spokes.
  6. In the Network drop-down list, select a network. All of your hub's spokes must be in the same VPC network. If you have already created a spoke for this hub, the Network value is prepopulated and cannot be changed.
  7. In the New spoke form, enter a Spoke name and optionally, a Description.

Enter VLAN attachment details

  1. Set the Spoke type drop-down list to VLAN attachment.
  2. Select the Region for the spoke.
  3. Choose a VLAN attachment:
    1. Click Add attachment.
    2. From the VLAN attachment drop-down menu, select an existing attachment.
  4. To add more attachments to this spoke, repeat the preceding step. When you are finished, click Done and continue to Save your spoke.

Save your spoke

  1. If you want to add more spokes, click Add spoke and begin the process again, starting with entering a Spoke name.
  2. When you are finished adding spokes, click Create. The Network Connectivity Center page updates to show details about the spokes that you created.

gcloud

To create a VLAN attachment spoke, use the gcloud network-connectivity spokes linked-interconnect-attachments create command. For example, to create a spoke that contains two VLAN attachments, enter the following command:

  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

Replace the following values:

  • SPOKE_NAME: the name for the spoke
  • HUB_NAME: the name of the hub, in URI format, that you are attaching the spoke to—for example,
    projects/myproject/locations/global/hubs/us-west-to-uk
  • DESCRIPTION: optional text that describes the spoke
  • VLAN_ATTACHMENT_NAME: the name of the first VLAN attachment to add to the spoke
  • VLAN_ATTACHMENT_NAME_2: the name of the second VLAN attachment; if you include a second attachment, make sure you omit a space between the comma and the name of the attachment
  • REGION: the Google Cloud region where the spoke is located
  • KEY: the key in the key-value pair for the label text
  • VALUE: the value in the key-value pair for the label text

API

To create a VLAN attachment spoke, use the networkconnectivity.spokes.create method. For example, to create a spoke that contains two VLAN attachments, use the following request:

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

Replace the following values:

  • PROJECT_ID: the project ID of your project
  • REGION: the Google Cloud region where you want to locate the spoke—for example, us-west1
  • SPOKE_NAME: the name for the spoke
  • HUB_NAME: the name of the hub that you are attaching the spoke to
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text
  • VLAN_ATTACHMENT_NAME: the name of the first VLAN attachment to add to the spoke
  • VLAN_ATTACHMENT_NAME_2: the name of the second VLAN attachment

Create a VPN spoke

Before creating VPN spokes, consider the following guidelines:

  • When linking HA VPN tunnels to a spoke, we recommend that all tunnels connecting to a single site be configured together as a single spoke. The reverse is also true; two tunnels connecting to two different sites should be attached to different spokes. For example, suppose you want to connect an office in Dallas with an office in Tokyo. The tunnel that connects to Dallas must be part of a different spoke than the one that connects your VPC network to Tokyo.

  • When linking HA VPN tunnels to a spoke, you can't connect HA VPN gateways in different regions to each other in the same Google Cloud project. For more information, see Hubs, spokes, and VPC networks.

For information about configuring the resources that are required to create a VPN spoke, see the following documentation:

For information about verifying VPN resources, see Checking HA VPN status.

Console

Enter basic spoke details

  1. In the Google Cloud Console, go to the Network Connectivity Center page.
  2. Go to Network Connectivity Center
  3. In the project pull-down menu, select a project.
  4. Click the Spokes tab.
  5. Click Add spokes.
  6. In the Network drop-down list, select a network. All of your hub's spokes must be in the same VPC network. If you have already created a spoke for this hub, the Network value is prepopulated and cannot be changed.
  7. In the New spoke form, enter a Spoke name and optionally, a Description.

Enter VPN tunnel details

  1. Set the Spoke type drop-down list to VPN tunnels.
  2. Select the Region for the spoke.
  3. Choose a tunnel:
    1. Click Add tunnel.
    2. From the VPN tunnels drop-down menu, select an existing tunnel.
  4. To add more tunnels to this spoke, repeat the preceding step. When you are finished, click Done and continue to Save your spoke.

Save your spoke

  1. If you want to add more spokes, click Add spoke and begin the process again, starting with entering a Spoke name.
  2. When you are finished adding spokes, click Create. The Network Connectivity Center page updates to show details about the spokes that you created.

gcloud

To create a spoke that contains an HA VPN tunnel, use the gcloud network-connectivity spokes linked-vpn-tunnels create command. For example, to create a spoke that contains two HA VPN tunnels, enter the following command:

  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

Replace the following values:

  • SPOKE_NAME: the name for the spoke
  • HUB_NAME: the name of the hub, in URI format, that you are attaching the spoke to—for example,
    projects/PROJECT_ID/locations/global/hubs/us-west-to-uk
  • DESCRIPTION: optional text that describes the spoke—for example, us-vpn-spoke
  • TUNNEL_NAME: the name of the first HA VPN tunnel to add to the spoke
  • TUNNEL_NAME_2: the name of the second HA VPN tunnel; if you use a second tunnel, make sure you omit a space between the comma and the name of second tunnel
  • REGION: the Google Cloud region where the spoke is located
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text

API

To create a VPN spoke, use the networkconnectivity.spokes.create method. For example, to create a spoke that contains two HA VPN tunnels, use the following request:

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

Replace the following values:

  • PROJECT_ID: the project ID of your project
  • REGION: the Google Cloud region where you want to locate the spoke—for example, us-west1
  • SPOKE_NAME: the name for the spoke
  • HUB_NAME: the name of the hub that you are attaching the spoke to
  • KEY: the key in the key-value pair for the optional label text
  • VALUE: the value in the key-value pair for the optional label text
  • TUNNEL_NAME: the name of the first HA VPN tunnel to add to the spoke
  • TUNNEL_NAME_2: the name of the second HA VPN tunnel

List spokes

This set of commands lists spokes in the specified region. See also Describing a hub.

gcloud

To list existing spokes, use the gcloud network-connectivity spokes list command.

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

Replace REGION with the appropriate region.

API

To list existing spokes, use the networkconnectivity.spokes.list method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the spokes to list
  • REGION: the region where the spoke is located—for example, us-west1

To get an aggregated list of existing spokes, where the values of multiple rows are grouped together to form a single summary value, use the networkconnectivity.spokes.list method with a hyphen (-) after locations as a wildcard.

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

Describe a spoke

To get detailed information about an existing spoke, use the following guidance.

Console

  1. Go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project.

  3. Click the Spokes tab.

  4. In the Spoke name column, select a spoke to view the Spoke details page.

gcloud

To describe a spoke, use the gcloud network-connectivity spokes describe command.

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

Replace the following values:

  • SPOKE_NAME: the name of the spoke
  • REGION: the region where the spoke is located

API

To describe a spoke, use the networkconnectivity.spokes.get method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the spoke
  • REGION: the region where the spoke is located—for example, us-west1
  • SPOKE_NAME: the name of the spoke

Update a spoke

After a spoke has been created, you can update the following:

  • The spoke's description
  • The labels applied to the spoke; for information about labels, see Requirements for labels
  • If the spoke is a Router appliance spoke, you can change its underlying resources, as long as the new resources are in the same VPC network as the original resources

gcloud

To update a spoke, use one of the following commands:

Update description and labels

To update a Router appliance spoke's desciption and label, run the following command:

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

Replace the following values:

  • SPOKE_NAME: the name of the spoke to update
  • DESCRIPTION: a new description for the spoke
  • REGION: the Google Cloud region where the spoke is located—for example, us-west1
  • KEY: the key in the key-value pair
  • VALUE: the value in the key-value pair

Update a Router appliance spoke's underlying resources

If needed, you can update a Router appliance spoke to use a different router appliance instance, as long as the new resource is in the same VPC network as the original one. To replace the existing resource with a new one, run the following command:

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

Replace the following values:

  • SPOKE_NAME: the name of the spoke
  • REGION: the Google Cloud region where the spoke is located—for example, us-west1
  • ROUTER_APPLIANCE_URI: the URI of the new router appliance instance to associate with the spoke—for example,
    "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"
  • IP_ADDRESS: the internal IP address of the new router appliance instance

API

To update a spoke, use the networkconnectivity.spokes.patch method.

Update description and labels

To update a Router appliance spoke's desciption and label, run the following command:

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the spoke
  • REGION: the region where the spoke is located—for example, us-west1
  • SPOKE_NAME: the name of the spoke to update
  • DESCRIPTION: a new description for the spoke
  • KEY: the key in the key-value pair
  • VALUE: the value in the key-value pair

Update a Router appliance spoke's underlying resources

If needed, you can update a Router appliance spoke to use a different router appliance instance, as long as the new resource is in the same VPC network as the original one. To replace the existing resource with a new one, run the following command:

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the spoke
  • REGION: the region where the spoke is located—for example, us-west1
  • SPOKE: the name of the spoke
  • ROUTER_APPLIANCE_URI: the URI of the new router appliance instance to associate with the spoke—for example,
    "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"
  • IP_ADDRESS: the internal IP address of the new router appliance instance

Delete a spoke

When you delete a spoke, you also detach the resources from that spoke. That is, deleting a spoke does not delete the resources; it only disassociates them from the spoke.

Console

  1. Go to the Network Connectivity Center page.

    Go to Network Connectivity Center

  2. In the project pull-down menu, select a project.

  3. Click the Spokes tab.

  4. View the list of Spoke names for the project.

  5. Select thr spokes to delete.

  6. Click Delete spokes.

  7. In the confirmation dialog, do one of the following:

    • Click Cancel if you don't want to delete the spokes.
    • Click Delete to delete the spokes.

gcloud

To delete a spoke, use the gcloud network-connectivity spokes delete command.

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

Replace the following values:

  • SPOKE_NAME: the name of the spoke to delete
  • REGION: the region where the spoke is located; this option is required in addition to the region listed in the full spoke name

API

To delete an existing spoke, use the networkconnectivity.spokes.delete method.

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

Replace the following values:

  • PROJECT_ID: the project ID of the project that contains the spoke to delete
  • REGION: the region where the spoke is located—for example, us-west1
  • SPOKE_NAME: the name of the spoke to delete

What's next