Connect to Google Cloud Partner Interconnect
Establish a direct, layer 2 connection to Google Cloud Partner Interconnect to connect your IBX colocated assets to your Google Cloud resources.
Retrieve Your Pairing Key
Log in to Google Cloud Platform and locate a VLAN attachment pairing key that you want to use to establish the connection.
Pairing key is a unique identifier allowing service providers to identify particular VLAN attachments that they can connect to. For example: 2dfcdee7-b6f9-41d0-b98f-639151097693/us-west1/1
.
The key comprises:
- A random, alphanumeric string (2cfcdcc7-b6f9-41d0-b98f-639151099393)
- Region (us-west1)
- 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 to the Google Cloud documentation for details on pairing keys and other Partner Interconnect terms.
Fabric API Prerequisites
-
Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for instructions on how to call OAuth API to validate and authenticate your credentials.
-
Determine Your A-side Information. Either:
- Retrieve your Equinix Fabric ports information using the Get All Ports API request.
OR
- Determine your Network Edge device information. You need a provisioned Equinix Virtual Device/Redundant Devices/Cluster with a registered license. Check your available virtual devices and clusters by calling Get Virtual Devices or Get Virtual Device {uuid}. You may choose any available interface on the device for your connection. However, Equinix will select an interface if you do not specify one.
-
Choose the Z-side metro location. Use the Get All Metros API request to find all metros where Equinix Fabric is available and determine destination location.
-
Identify the service profile. Use the Retrieve Service Profiles API request to search for a specific service profile or use the Get Service Profiles API request to list all available service profiles, and identify the profile you want to connect to.
-
Validate your Authorization Key. Use the Validate Connection Authorization Key API request to verify that your pairing key can be used to create a connection to the selected service profile in the given metro.
Connecting to Google Cloud Partner Interconnect from a DOT1Q port
To create a connection from your DOT1Q port to Google Cloud Partner Interconnect, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
POST /fabric/v4/connections | |
---|---|
Method | POST |
Endpoint | /fabric/v4/connections |
Headers | Authorization , Content-Type |
Path Parameters | Not applicable |
Query Parameters | Not applicable |
Body Parameters | type , name , order , bandwidth , redundancy , aSide , zSide , notifications |
Sample cURL Request
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"type": "EVPL_VC",
"name": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"bandwidth": 1000,
"redundancy": {
"priority: "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"metroCode": "SV"
},
"authenticationKey": "xx-xx-xx",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"type": "EVPL_VC",
"uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"name": "Conn-1",
"state": "PROVISIONING",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"redundancy": {
"group": "b767f685-41b0-1b07-6de0-320a5c00abdd",
"priority": "PRIMARY"
},
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",
"type": "XF_PORT",
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"href": "https://api.equinix.com/fabric/v4/services/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5",
"type": "L2_PROFILE",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"href": "https://api.equinix.com/v4/metros/SV",
"metroCode": "SV",
"region": "AMER"
},
"authenticationKey": "xx-xx-xx",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PROVISIONING",
"providerStatus": "PROVISIONING"
},
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z"
}
}
Response payload includes configuration parameters defined in the request body. For a full list of possible parameters and their descriptions, see the API Reference.
Connecting to Google Cloud Partner Interconnect from a QINQ Port
To create a connection from your QINQ port to Google Cloud Partner Interconnect, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
POST /fabric/v4/connections | |
---|---|
Method | POST |
Endpoint | /fabric/v4/connections |
Headers | Authorization , Content-Type |
Path Parameters | Not applicable |
Query Parameters | Not applicable |
Body Parameters | type , name , order , bandwidth , redundancy , aSide , zSide , notifications |
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"type": "EVPL_VC",
"name": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"bandwidth": 1000,
"redundancy": {
"priority: "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "QINQ",
"vlanCTag": 1001,
"vlanSTag": 1002
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"metroCode": "SV"
},
"authenticationKey": "xx-xx-xx",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Connecting to Google Cloud Partner Interconnect from a Network Edge Device
To create a connection from your Network Edge device to Google Cloud Partner Interconnect, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
POST /fabric/v4/connections | |
---|---|
Method | POST |
Endpoint | /fabric/v4/connections |
Headers | Authorization , Content-Type |
Path Parameters | Not applicable |
Query Parameters | Not applicable |
Body Parameters | type , name , order , bandwidth , redundancy , aSide , zSide , notifications |
Sample cURL Request:
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '
{
"type": "EVPL_VC",
"name": "vd2gcp-vvv-0412a",
"bandwidth": "50",
"redundancy": {
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "L2_PROFILE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"location": {
"metroCode": "SV"
},
"sellerRegion": "us-west1",
"authenticationKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
},
"project": {
"projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
},
"order": {
"purchaseOrderNumber": "1-1234567890"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Sample Response:
{
"type": "EVPL_VC",
"href": "https://api.equinix.com/fabric/v4/connections/fcf8f83a-45a2-48c9-92f8-8bbd38c361f6",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "vd2gcp-vvv-0425a",
"operation": {
"providerStatus": "PROVISIONING",
"equinixStatus": "PROVISIONING"
},
"order": {
"purchaseOrderNumber": "1-1234567890",
"billingTier": "Up to 50 MB"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
],
"changeLog": {
"createdBy": "fabricamcrh1",
"createdByFullName": "XXXXX XXXXX",
"createdByEmail": "x@gmail.com",
"createdDateTime": "2024-04-25T20:39:00.643Z",
"updatedBy": "fabricamcrh1",
"updatedByFullName": "XXXXXX XXXXX",
"updatedByEmail": "x@gmail.com",
"updatedDateTime": "2024-04-25T20:39:00.643Z"
},
"bandwidth": 50,
"redundancy": {
"group": "376160d7-a4a6-405a-96d2-756f4be1b3d1",
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"interface": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"id": 3,
"type": "CLOUD"
},
"location": {
"metroCode": "DC"
},
"virtualDevice": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "CL"
},
"profile": {
"href": "https://api.equinix.com/fabric/v4/serviceProfiles/bd4570e2-d792-4a00-87f5-3bde040cdcd7",
"type": "L2_PROFILE",
"name": "Google Cloud Partner Interconnect Zone 1",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"sellerRegion": "us-west1",
"authenticationKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
Response payload includes configuration parameters defined in the request body. For a full list of possible parameters and their descriptions, see the API Reference.
Monitoring the Connection
Send a GET
request to the fabric/v4/connections/{connectionId}
endpoint to monitor connection status.
equinixStatus parameter values | providerStatus attribute values | Google Status | Description |
---|---|---|---|
PROVISIONING | PROVISIONING | Connection request has not been sent to Googleyet. | |
PROVISIONED | PENDING_APPROVAL | Waiting for service provider. | Connection waiting for acceptance. |
PROVISIONED | PROVISIONING | Activation needed -> Border Gateway Protocol (BGP) configuration required. | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Pending -> availability | Connection accepted by client. |
Activating the Connection
Activate the virtual connection using Google Cloud Platform. Refer to the Google Cloud documentation for instructions on how to activate the connection using Google Cloud Platform Console.