Skip to main content

Effective 10 September 2024, API Documentation can be found on our Equinix Product Documentation site.
The content on this page will not be updated after 1 Oct 2024 and will be inaccessible after 31st Dec 2024.


Connect to Google

End users can create connections to Google GCP using either a Dot1q port or a QinQ port.

Layer 2 Connection To Google Cloud Partner Interconnect

Establish_GCP_connection_steps

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

The key is comprised 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 with zone 1 seller/service profile.

 

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 Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.

 

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

2b) Get the Port
Retrieve your allocated Equinix Fabric port information.

 

Refer to GET Port under the API Reference section for instructions on how to retrieve port details. You may skip this step if you already know your port information.

2c) Get Metros
Find all metros where Equinix Fabric is available to check if a connection can be established between the port selected earlier and your desired destination metro.

 

Use this API to identify the metro codes of your source (A-side) and destination (Z-side) for your connection.

 

Refer to GET Metros under the API Reference section for instructions on how to get the metro code. You may skip this step if you already know this information.

2d) Get Service Profile
Identify all service profiles available for a given metro or metros, and select the profile to which you wish to connect.

 

Refer to GET Services under the API Reference section for instructions on how to retrieve service profiles in Equinix Fabric. You may skip this step if you already know the service profile details.

2e) Get ValidateAuthorizationKey
Verify whether your Google pairing key can be used to create a connection to the seller profile selected earlier.

 

The validate authorization key API currently only performs regular expression validation and checks if a connection can be established to the seller service profile. It will include validation of the pairing key with Google in the future.

 

Refer to GET validateAuthorizationKey under the API Reference section for instructions on how to validate your authorization key. You may skip this step if you are certain that your key is authorized for creating connections with the selected service profile.

2f) Post Connections

 POST /ecx/v3/l2/connections
MethodPOST
URL or Endpoint/ecx/v3/l2/connections
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersprimaryName, primaryPortUUID, primaryVlanSTag, primaryVlanCTag, profileUUID, authorizationKey, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode

The POST connections API creates a layer 2 connection between your port 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 token, refer to Requesting Access and Refresh tokens section under the Getting Access Token.

The following screenshots show a sample curl request to create a layer 2 GCPI connection using a Dot1q and QinQ port and a sample JSON response for this API.

 

Should you want to estimate the price of this connection, use the API GET Prices.


GCPI Connection using a Dot1q port

curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoeGCPDot1q",
"profileUUID": "9e441721-5342-4d8a-b62e-5ca61b4aa795",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "456456",
"primaryPortUUID": "7f891d3b-973c-73c0-bae0-30ac1885197a",
"primaryVlanSTag": "775",
"sellerRegion": "us-west1",
"sellerMetroCode": "SV",
"authorizationKey": "33835adc-00fd-4fe1-b9f3-78248e126ef7/us-west1/1"
}'

GCPI Connection using a QinQ port

curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoeGCPZone2QinQ",
"profileUUID": "c96a3e82-beb3-40a5-830a-fa75a9d6f08a",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "456456",
"primaryPortUUID": "7f891d3b-973d-73d0-bae0-30ac1885197a",
"primaryVlanSTag": "371",
"primaryVlanCTag": "271",
"sellerRegion": "us-west1",
"sellerMetroCode": "SV",
"authorizationKey": "389730d5-4280-4714-9e8e-216d942a6d3b/us-west1/2"
}'

The description of the body parameters is as follows:

Body Parameter NameMandatoryTypeExample valuesApplicable valuesDescription
primaryNameYesstringJohnDoe_GCP_QinQUser-defined name of the primary connection.

Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed).

Max Length: 24 characters
primaryPortUUIDYesstring99991d3b-9750-7500-bae0-30ac1885197aUnique Equinix-assigned ID of the buyer's primary port from where the connection originates.
primaryVlanSTagYesinteger774S-Tag/Outer-Tag of the primary connection.

Range: 2 - 4094.
primaryVlanCTagYesstring775C-Tag/Inner-Tag of the primay connection.

Range: 2 - 4094
profileUUIDYesstring999552b-39b0-49ea-a232-005088dc9c86Unique Equinix-assigned ID of the provider's service profile.
authorizationKeyYesstringc13d9edf-ee52-42b0-gf3y-889a7a65fe9e/us-west1/2Authorization Key provided by Google. This value also indicates the destination zone and region of the connection.
speedYesinteger50Speed/bandwidth to be allocated to the connection.
speedUnitYesstringMBUnit of the speed/bandwidth to be allocated to the connection.

Values: Either MB or GB.
notificationsYesarray stringJohnDoe@example.comA list of email addresses that are notified when there are any updates on this connection.

Example:
["user@example.com", "user2@example.com"]
purchaseOrderNumberYesstring0987654321This optional field links the purchase order to the connection on Equinix. This link is reflected on the invoice.
sellerRegionYesstringus-west-1Indicates the region in which the seller port resides.
sellerMetroCodeYesstringSVThe metro code that denotes the connection’s destination (Z side). 

If sellerMetroCode is empty, the value defaults to the metro code of the port.
 

The following table indicates the tagging criteria to be followed when a buyer/customer (A-side) wants to connect to Google (Z-side). Ensure to add the correct S tag or C tag based on your port type.

Port Type (A-side)S-tag requiredC-tag requiredPort Type ( Z-side)
Dot1q portYesNoDot1q port
QinQ portYesYesDot1q port
 

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

{
"message": "Connection Saved Successfully",
"primaryConnectionId": "7777a8-0e07-44d0-944c-88a25d8d28f7"
}

The description of the response payload is as follows:

Field NameTypeExample valuesDescription
messagestringConnection Saved SuccessfullyIndicates the status of the API call.
primaryConnectionIDstring7777a8-0e07-44d0-944c-88a25d8d28f7Indicates the primary connection ID.
 

Once the POST Connections API is successfully called, you may check the status of the connection using the API GET Connections{uuid}.
Should you want to upgrade the speed/bandwidth of this connection, you can use the API PATCH Connections{uuid}.

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 Connections{uuid}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in Google.

Equinix States under /ecx/v3/l2/connections/{connId}Google States
"status"  attribute values"providerStatus"  attribute valuesGoogle GCPI StateDescription
PROVISIONINGNOT_AVAILABLE  Connection request has not been yet sent to Google.
PROVISIONEDPENDING_APPROVAL  Waiting for service providerThe connection awaits for acceptance.
PROVISIONEDPROVISIONINGActivation needed -> BGP Configuration neededConnection establishment in progress.
PROVISIONEDPROVISIONEDPending -> AvailableThe connection has been accepted by the client.
 

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

EF_GCP_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 under /ecx/v3/l2/connections/{connId}
"status"  attribute values"providerStatus"  attribute valuesDescription
DEPROVISIONINGDEPROVISIONINGConnection disbandment in progress.
DEPROVISIONEDDEPROVISIONEDConnection deleted.

Step 3: Activate Connection

Activate the virtual connection using Google Cloud Portal.

 

Refer to Google Cloud Interconnect documentation for instructions to activate the connection using Google Cloud Platform Console.