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 Amazon Web Services

Establish a direct, layer 2 connection between your IBX colocated assets and your Amazon Web Services (AWS) resources.

connectToAWS_0

Step 1: Identify Your Amazon Account ID

Log in to AWS Management Console and locate your account number.

 

Refer to https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html for instructions on how to find your account number.

Step 2: Create Connection

1. 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.

2. Determine A-side port information
Retrieve your allocated Equinix Fabric port information using the Get All Ports API request.

3. Choose Z-side metro location and seller region
Use the Get All Metros API request to find all metros where Equinix Fabric is available, and determine the destination location.

4. Identify the service profile to connect
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.

5. Validate your AWS Account ID
Use the Validate Connection Authorization Key API request to verify that your AWS Account ID can be used to create a connection to the selected service profile in the given metro.

6. Establish connection
Use the POST /fabric/v4/connections API request to create a connection with the pre-determined attributes.

 POST /fabric/v4/connections
MethodPOST
Endpoint/fabric/v4/connections
HeadersAuthorization, Content-Type
Path ParametersNot applicable
Query ParametersNot applicable
Body Parameterstype, name, order, bandwidth, redundancy, aSide, zSide, notifications
 

Use the Retrieve Pricing API request to retrieve connection price estimate.


Sample curl request - connection to AWS from a DOT1Q port

curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
},
"sellerRegion": "us-west-1",
"authenticationKey": "xx-xx-xx"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'

Sample curl request - connection to AWS from a QINQ port

curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
},
"sellerRegion": "us-west-1",
"authenticationKey": "xx-xx-xx"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'

Body parameters

ParameterMandatoryTypeExample valuesApplicable valuesDescription
typeyesstringEVPL_VCEVPL_VCConnection type.

EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections.
nameyesstringConn-1Maximum: 24 characters
Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
Connection name.
ordernoobject--Order details.
order.purchaseOrderNumbernostring1-129105284100-Subscriber's purchase order identifier.
bandwidthyesinteger10050
200
500
1000
2000
5000
10000
25000
Connection speed in Mbps.
redundancyConditionalobject--Redundancy details.
redundancy.groupConditionalstringm167f685-41b0-1b07-6de0-320a5c00abeu-Unique Id of the redundancy group. This is only required for secondary connections. If you are creating a secondary connection, enter the group of the PRIMARY. You can find the group of the primary connection by calling Get Specified Connection or by checking the "group" field in the response you receive when creating PRIMARY connection.
redundancy.priorityConditionalstringPRIMARYPRIMARY
SECONDARY
Whether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection.
aSideyesobject--Source port definition.
aSide.accessPointyesobject--Connection endpoint configuration from the A-side.
accessPoint.typeyesstringCOLOCOLOConnection endpoint type.

COLO - Colocation space in an IBX data center.
accessPoint.portyesobject--Port associated with the connection.
port.uuidyesstringa867f685-41b0-1b07-6de0-320a5c00abdd-Equinix-assigned port identifier.
accessPoint.linkProtocolyesobject--Link protocol configuration.
linkProtocol.typeyesstringDOT1QDOT1Q
QINQ
Link protocol type.
linkProtocol.vlanTagyesinteger1001Range: 2-4094DOT1Q protocol VLAN tag.
linkProtocol.vlanCTagyesinteger1002Range: 2-4094QINQ protocol, inner virtual local area network (VLAN) customer frame tag used to identify packets as they traverse trunk lines.
linkProtocol.vlanSTagyesinteger1003Range: 2-4094QINQ protocol, outer virtual local area network (VLAN) service frame tag used to identify packets as they traverse trunk lines.
zSideyesobject--Connection destination definition.
zSide.accessPointyesobject--Connection endpoint configuration from the Z-side.
accessPoint.typeyesstringSPSPConnection endpoint type.

SP - Service profile defining connection details
accessPoint.profileyesobject--The service profile associated with this access point.
profile.uuidyesstring20d32a80-0d61-4333-bc03-707b591ae2f5-Unique identifier assigned to the service profile associated with this access point.
zSide.locationyesobject--Attributes associated with the specified asset location.
location.metroCodeyesstringSV-Metropolitan area identifier.
zSide.authenticationKeyyesstringxx-xx-xx-Access point authentication key.
zSide.sellerRegionyesstringus-west-1-Access point seller region.
notificationsyesarray[object]--Subscriber preferences for notification of changes in asset configuration or status.
notifications.typeyesstringALLALLNotification preferences for a specified asset, such as a service token, port, access point, or profile.
notifications.emailsyesarray[string]["test@equinix.com"]Minimum: 1
Maximum: 12
List of up to 12 recipients.
 

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


Sample response - connection to AWS from a DOT1Q port

{
"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": "SECONDARY"
},
"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"
},
"sellerRegion": "us-west-1",
"authenticationKey": "xx-xx-xx"
}
},
"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 body description

 

Response payload includes configuration parameters defined in the request body. The following table contains descriptions of additional information included in the response payload. For descriptions of the remaining fields, refer to the Body parameters section.

ParameterTypeExample valuesDescription
hrefstringhttps://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62An absolute URL that returns the specified connection.
uuidstring3a58dd05-f46d-4b1d-a154-2e85c396ea62Equinix-assigned connection identifier.
statestringPROVISIONINGLifecycle stage of a connection.
order.billingTierstringUp to 1 GbpsBilling tier for connection bandwidth.
redundancyobjectObject containing redundancy details.
redundancy.groupstring7a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the redundancy group.
redundancy.prioritystringPRIMARYWhether the connection is PRIMARY or SECONDARY.
port.hrefstringhttps://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abddAn absolute URL that returns the specified port.
port.typestringXF_PORTType of port.

XF_PORT - Equinix Fabric port used as a Fabric connection endpoint.
profile.hrefstringhttps://api.equinix.com/fabric/v4/services/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5An absolute URL that returns the specified service profile.
profile.typestringL2_PROFILEService profile type.

L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model.
location.hrefstringhttps://api.equinix.com/v4/metros/SVAn absolute URL that returns the specified metro.
location.regionstringAMERBroad geographic area in which a specified Equinix asset is located.
operationobject-Access point operational data.
operation.equinixStatusstringPROVISIONINGProgress towards provisioning a specified connection.
operation.providerStatusstringPROVISIONINGProvider's progress towards provisioning a specified connection.
changeLogobject-A permanent record of asset creation, modification, or deletion.
changeLog.createdDateTimestring2021-07-15T19:30:29.526ZConnection creation timestamp in the IETF ISO 8601 extended date/time format:
 
YYYY-MM-DDTHH:MM:SS.000+0000
 

Use the Get Specified Connection API request to monitor connection status.

equinixStatus 
attribute values
providerStatus 
attribute values
AWS Direct Connect StateDescription
PROVISIONINGPROVISIONING Connection request has not been sent to AWS yet.
PROVISIONEDPENDING_APPROVAL Ordering -> Requested The connection awaits for acceptance.
PROVISIONEDPROVISIONINGPendingConnection establishment in progress.
PROVISIONEDPROVISIONEDPending -> AvailableThe connection has been accepted.

Step 3: Accept Connection

Log in to AWS Management Console and accept pending connection.