Skip to main content
Index

Connect to Google

You can create a connection between your Equinix virtual device and Google cloud platform. 

 

Click here to watch a video on how to create a virtual device and connect to GCP using the Equinix portal. 

Layer 2 connection to Google

 

What do you need to create a connection? 

 

     1) A provisioned Equinix virtual device (virtualDeviceUUID) with a registered license. In case you have an optional secondary virtual device, you also need the Id of the secondary device.

     2) Authorization key from your provider. In case you have an optional secondary virtual device, you also need the authorization key of the secondary device. The two authorization keys will be the same if they belong to the same account. 

     3) Unique Id of the provider's service profile (profileUUID) and metro (sellerMetroCode).

 

If you already have all the information and authentication credentials, you can skip ahead to Step 2f and create a connection. Otherwise, go through the steps to retrieve information.

Step 1: Retrieve Google Pairing Key

Obtain your Google pairing key using the Google GCP portal.

 

The Google pairing key is a unique key essential for creating a Google GCP connection. For example, 2dfcdee7-b6f9-41d0-b98f-639151097693/us-west1/1. It comprises of three parts:

1. An alphanumeric key (2cfcdcc7-b6f9-41d0-b98f-639151099393)

2. Region (us-west1

3. Zone (1)

 

Ensure to connect to the region and zone indicated in your pairing key when creating a connection. For example, the above pairing key will only work for zone 1 connections.

 

Refer https://console.cloud.google.com/ for instructions on how to signup for GCP. 

Step 2: Create Connection

2a) Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials, contact your local Equinix Service Desk. 

 

2b) Get virtual devices

Find out your available virtual devices on the NE platform by calling Get virtual devices .

You may choose any available interface on your device for your connection. However, Equinix will choose an interface if you do not specify any.

 

You may skip this step if you already know your available virtual devices.

 

2c) Get Service Profile

Identify all seller/service profiles available for a given metro or metros by calling GET L2 Service Profiles.

 

You may skip this step if you already know the service profile details.

 

2d) Get ValidateAuthorizationKey

Verify whether a connection can be established between your Google pairing key and the seller profile zone selected earlier by calling Get L2 validate authorization key.

 

You may skip this step if you are certain that your key is authorized for creating connections with the selected service profile.

 

2e) Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers

Authorization, Content-Type

Query Parameters Not applicable
Body Parameters virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerMetroCode, authorizationKey, interfaceId, secondaryVirtualDeviceUUID, secondaryName, secondaryprofileUUID, secondarySpeed, secondarySpeedUnit, secondaryNotifications, secondaryAuthorizationKey, secondaryInterfaceId

 

The POST connections API creates a Layer 2 Connection between your virtual device and the destination service profile. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 GCP connection for HA and non-HA virtual devices.

 

GCP Connection for a non-high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",  

  "primaryName": "JohnDoeGoogle1",

  "profileUUID": "e0780ad2-adbb-49f8-b750-391dcf59236c",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "johnDoe@equinix.com"

  ],

  "purchaseOrderNumber": "78921",

  "sellerMetroCode": "DC",

  "authorizationKey": "ec76e25d-89c3-47b3-814f-39916b4aa85e/us-west1/1",

  "interfaceId": 6

}'

 

GCP Connection for a high availability virtual device connecting to the same or different zones

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",  

  "primaryName": "JohnDoeGoogle1",

  "profileUUID": "e0780ad2-adbb-49f8-b750-391dcf59236c",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "johnDoe@equinix.com"

  ],

  "sellerMetroCode": "DC",

  "purchaseOrderNumber": "78921",

  "authorizationKey": "ec76e25d-89c3-47b3-814f-39916b4aa85e/us-west1/1",

  "interfaceId": 5,

  "secondaryVirtualDeviceUUID": "03c2cfef-0ec2-4599-81c9-09efa0d7b0e7",

  "secondaryName": "JohnDoeGoogle2",

  "secondaryProfileUUID": "c60ebeab-8cc2-4d83-8b2a-a45bacd0d805",

  "secondarySpeed": 200,

  "secondarySpeedUnit": "MB",

  "secondaryNotifications": [

    "johnDoe@equinix.com"

  ],

  "secondaryAuthorizationKey": "5007a216-0014-43b3-b11c-8396f504aa62/us-west1/2",

  "secondaryInterfaceId": 6

}'

 

When creating a secondary connection from an (HA) device to GCP, you can either connect to the same profile zone or different profile zone.

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
virtualDeviceUUID Yes string ecb215dc-0d1d-4a48-a150-aacad8d3a371   Unique ID of the virtual device.
primaryName Yes string JohnDoe_GCP_QinQ   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string 999552b-39b0-49ea-a232-005088dc9c86   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection.
speedUnit Yes string MB   Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array string JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber Yes string 0987654321   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code. 
authorizationKey Yes string c13d9edf-ee52-42b0-gf3y-889a7a65fe9e/us-west1/1   Authorization Key obtained from Google. It also indicates the destination zone and region of the connection.
interfaceId No integer 6   Any available interface on your device. 
secondaryVirtualDeviceUUID No string 03c2cfef-0ec2-4599-81c9-09efa0d7b0e7   The unique ID of the secondary virtual device. 
secondaryName No string JohnDoeGoogle2   This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondaryProfileUUID No string c60ebeab-8cc2-4d83-8b2a-a45bacd0d805   Unique identifier of the secondary service profile to which the secondary connection is connected to.
secondarySpeed No integer 50   Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

"MB"

"GB"

Unit of the speed or bandwidth of the optional secondary connection.
secondaryNotifications No string JohnDoe@equinix.com   An array of email ids you would like to notify when there are any updates on your secondary connection. 
secondaryAuthorizationKey No string 5007a216-0014-43b3-b11c-8396f504aa62/us-west1/2   Authorization key obtained from the provider for the optional secondary connection. Example: OCID from Oracle Cloud Infrastructure.
secondaryInterfaceId No integer 6   Any available interface on your secondary device.

 

If you get “Access Denied” error, contact your local Equinix Service Desk.

 

Sample response for a virtual device (non HA).

 

{
    "message": "Connection Saved Successfully",

    "primaryConnectionId": "934629-dfbf-4a0a-94fe-a426f0b0606e",

}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",

    "primaryConnectionId": "0f5ddc89-dfbf-4a0a-94fe-a426f0b0606e",

    "secondaryConnectionId": "ef8af73c-8e72-4515-ac6c-2aeb60fda548"

}

 

The description of the response payload is as follows:

 

Field Name Type Example values Description
message string Connection Saved Successfully Indicates the status of the API call.
primaryConnectionID string 0f5ddc89-dfbf-4a0a-94fe-a426f0b0606e Indicates the primary connection ID.
secondaryConnectionID string ef8af73c-8e72-4515-ac6c-2aeb60fda548 Indicates the secondary connection ID.

 

When a connection is created, the connection transitions through various states within the Equinix and Google infrastructure. These states can be monitored using the response attributes of the API Get L2 connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in Google.

 

Equinix States Google States
status providerStatus Google GCP State Description
PROVISIONING NOT_AVAILABLE   Connection request has not been yet sent to Google.
PROVISIONED PENDING_APPROVAL

Waiting for service provider

The connection awaits for acceptance.

PROVISIONED PROVISIONING Activation needed -> BGP Configuration needed Connection establishment in progress.
PROVISIONED PROVISIONED Pending -> Available The connection has been accepted by the client.

 

Refer https://cloud.google.com/interconnect/docs/concepts/dedicated-overview for the different GCP connection states.  

 

 

When an end-user deletes a connection using the  API  Delete Connections {uuid},  the connection transitions through the following states within the Equinix infrastructure. 

 

Equinix States
status providerStatus Description

DEPROVISIONING

DEPROVISIONING

Connection disbandment in progress.

 

DEPROVISIONED DEPROVISIONED

Connection deleted.

Step 3: Activate Connection

Activate the virtual connection using Google Cloud Portal.

 

Refer to https://console.cloud.google.com/ for instructions on how to activate the connection using Google Cloud Platform Console.