Connect to Amazon Web Services
Establish a direct, layer 2 connection between your IBX colocated assets
and your Amazon Web Services (AWS) resources.
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
Get your Equinix Fabric port information by calling
Get All Ports
.
3. Choose Z-side metro location and seller region
Call
Get All Metros
to find all metros where Equinix Fabric is available.
4. Identify the service profile to connect
Call
Retrieve Service Profiles
to search for a specific service profile or use the
Get Service Profiles
API request to list all available service profiles.
5. Validate your AWS Account ID
Call
Validate Connection Authorization Key
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
Call POST /fabric/v4/connections to create a connection
.
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 |
Call Retrieve Pricing to get 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
Parameter | Mandatory | Type | Example values | Applicable values | Description |
---|---|---|---|---|---|
type | yes | string | EVPL_VC | EVPL_VC |
Connection type. EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections. |
name | yes | string | Conn-1 |
Maximum: 24 characters Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') |
Connection name. |
order | no | object | - | - | Order details. |
order.purchaseOrderNumber | no | string | 1-129105284100 | - | Subscriber's purchase order identifier. |
bandwidth | yes | integer | 100 |
50 200 500 1000 2000 5000 10000 25000 |
Connection bandwidth in Mbps. |
redundancy | Conditional | object | - | - | Redundancy details. |
redundancy.group | Conditional | string | m167f685-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.priority | Conditional | string | PRIMARY | PRIMARY SECONDARY |
Whether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection. |
aSide | yes | object | - | - | Source port definition. |
aSide.accessPoint | yes | object | - | - | Connection endpoint configuration from the A-side. |
accessPoint.type | yes | string | COLO | COLO |
Connection endpoint type. COLO - Colocation space in an IBX data center. |
accessPoint.port | yes | object | - | - | Port associated with the connection. |
port.uuid | yes | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Equinix-assigned port identifier. |
accessPoint.linkProtocol | yes | object | - | - | Link protocol configuration. |
linkProtocol.type | yes | string | DOT1Q | DOT1Q QINQ |
Link protocol type. |
linkProtocol.vlanTag | yes | integer | 1001 | Range: 2-4094 | DOT1Q protocol VLAN tag. |
linkProtocol.vlanCTag | yes | integer | 1002 | Range: 2-4094 | QINQ protocol, inner virtual local area network (VLAN) customer frame tag used to identify packets as they traverse trunk lines. |
linkProtocol.vlanSTag | yes | integer | 1003 | Range: 2-4094 | QINQ protocol, outer virtual local area network (VLAN) service frame tag used to identify packets as they traverse trunk lines. |
zSide | yes | object | - | - | Connection destination definition. |
zSide.accessPoint | yes | object | - | - | Connection endpoint configuration from the Z-side. |
accessPoint.type | yes | string | SP | SP |
Connection endpoint type. SP - Service profile defining connection details |
accessPoint.profile | yes | object | - | - | The service profile associated with this access point. |
profile.uuid | yes | string | 20d32a80-0d61-4333-bc03-707b591ae2f5 | - | Unique identifier assigned to the service profile associated with this access point. |
zSide.location | yes | object | - | - | Attributes associated with the specified asset location. |
location.metroCode | yes | string | SV | - | Metropolitan area identifier. |
zSide.authenticationKey | yes | string | xx-xx-xx | - | Access point authentication key. |
zSide.sellerRegion | yes | string | us-west-1 | - | Access point seller region. |
notifications | yes | array[object] | - | - | Subscriber preferences for notification of changes in asset configuration or status. |
notifications.type | yes | string | ALL | ALL | Notification preferences for a specified asset, such as a service token, port, access point, or profile. |
notifications.emails | yes | array[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.
Parameter | Type | Example values | Description |
---|---|---|---|
href | string | https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 | An absolute URL that returns the specified connection. |
uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned connection identifier. |
state | string | PROVISIONING | Lifecycle stage of a connection. |
order.billingTier | string | Up to 1 Gbps | Billing tier for connection bandwidth. |
redundancy | object | Object containing redundancy details. | |
redundancy.group | string | 7a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the redundancy group. |
redundancy.priority | string | PRIMARY | Whether the connection is PRIMARY or SECONDARY. |
port.href | string | https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd | An absolute URL that returns the specified port. |
port.type | string | XF_PORT |
Type of port. XF_PORT - Equinix Fabric port used as a Fabric connection endpoint. |
profile.href | string | https://api.equinix.com/fabric/v4/services/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 | An absolute URL that returns the specified service profile. |
profile.type | string | L2_PROFILE |
Service profile type. L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model. |
location.href | string | https://api.equinix.com/v4/metros/SV | An absolute URL that returns the specified metro. |
location.region | string | AMER | Broad geographic area in which a specified Equinix asset is located. |
operation | object | - | Access point operational data. |
operation.equinixStatus | string | PROVISIONING | Progress towards provisioning a specified connection. |
operation.providerStatus | string | PROVISIONING | Provider's progress towards provisioning a specified connection. |
changeLog | object | - | A permanent record of asset creation, modification, or deletion. |
changeLog.createdDateTime | string | 2021-07-15T19:30:29.526Z |
Connection creation timestamp in the IETF ISO 8601 extended
date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 |
Call Get Specified Connection to monitor your connection status.
equinixStatus
attribute values |
providerStatus
attribute values |
AWS Direct Connect State | Description |
PROVISIONING | PROVISIONING | Connection request has not been sent to AWS yet. | |
PROVISIONED | PENDING_APPROVAL | Ordering -> Requested | The connection awaits for acceptance. |
PROVISIONED | PROVISIONING | Pending | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Pending -> Available | The connection has been accepted. |
Step 3: Accept Connection
Log in to AWS Management Console and accept pending connections.