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

Establish a direct layer 2 connection between your Metal Interconnection and your Amazon Web Services (AWS) resources.

connectToAWS_0


We also support connections from Metal to other CSPs. To get the Z-side payload for other CSPs, refer to the docs for port to CSP examples.


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 Metal Interconnection

On the Metal documentation site, you will find several examples under "Request a new interconnection for the organization." Use the example payload "SharePortVCVlanCreateInput" that has type = shared_port_vlan and an array of VLANs. Provide one or two (Redundant) VLANs and create a Metal Interconnection. You will get an authorization_code in the response to use your Metal Interconnection.

Step 3: 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. 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. As of now, we only support local connections. The Z-side metro location must be the same as the A-side Metal resource location.

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

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

5. 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 - PRIMARY connection to AWS from a Metal Interconnection

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": "METAL_NETWORK",
"authenticationKey": "xxxxxxxxx"
}
},
"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
Description
type string
REQUIRED
Connection type.
  • EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections.
name string
REQUIRED
Connection name.
Applicable values:
  • Maximum: 24 characters
  • Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
Example: my_connection
order object
REQUIRED
Order details.
purchaseOrderNumber string
OPTIONAL
Subscriber's purchase order identifier.
Example: 1-129105284100
bandwidth integer
REQUIRED
Connection bandwidth in Mbps.
Applicable values:
  • 10
  • 50
  • 200
  • 500
  • 1000
  • 2000
  • 5000
  • 10000
redundancy object
CONDITIONAL
Connection redundancy configuration.
group string
CONDITIONAL
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.
Example: 5c0e9384-aa79-4ec9-b7a2-557f8c307292
priority string
CONDITIONAL
Whether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection.
Applicable value:
  • PRIMARY
  • SECONDARY
aSide object
REQUIRED
Source definition.
accessPoint object
REQUIRED
Connection endpoint configuration from the a-Side.
type string
REQUIRED
Connection endpoint type.
  • METAL_NETWORK
authenticationKey string
REQUIRED
Provide the authorization_code you get when you create a Metal Interconnection.
zSide object
REQUIRED
Destination definition.
accessPoint object
REQUIRED
Connection endpoint configuration.
type string
REQUIRED
Connection endpoint type.
  • SP - Service profile.
profile object
REQUIRED
A named provider service and its network connectivity requirements.
Applicable to SP type access points.

Use the Retrieve Service Profiles API request to search for service profiles and determine their identifiers and available locations.
uuid string
REQUIRED
Service profile identifier.
Example: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c
location object
REQUIRED
Connection endpoint location information.
Applicable to SP type access points.
metroCode string
REQUIRED
Metropolitan area identifier.
Use the Get Specified Service Profile API request to determine where a given service is available.
sellerRegion string
REQUIRED
Seller region.
Example: us-west1
authenticationKey string
REQUIRED
AWS accound Id.
Example: 1234567890
notifications array[object]
REQUIRED
Notification settings for messages related to the asset configuration or its status.
type string
REQUIRED
Notification messages category.
Applicable values:
  • ALL
emails array[string]
REQUIRED
Email addresses of up to 12 recipients.
Example: ["mike@mspp.com","dwight@dm.com"]
 

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


Sample response - connection to AWS from a Metal Interconnection

{
"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": {
"virtualNetwork": {
"uuid": "c652cef9-4e52-4165-b997-d0f52b5a18dd"
},
"interconnection": {
"uuid": "a00f1a2a-e50e-4019-ba86-0768dac8396c"
}
}
},
"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

Parameter
Description
href string
An absolute URL that returns the specified connection.
Example: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62
uuid string
Equinix-assigned connection identifier.
Example: 3a58dd05-f46d-4b1d-a154-2e85c396ea62
state string
State of the connection.
Example: PENDING_AUTO_APPROVAL
order object
Order information.
billingTier string
Billing tier for connection bandwidth.
Example: Up to 1 Gbps
aSide object
Source definition.
accessPoint object
Connection endpoint configuration from the A-side.
virtualNetwork object
Virtual network details.
Example: 888866-ef43-445c-ba29-d17522XXXXXX
uuid string
Unique Id of the Metal VLAN associated to the Fabric connection. This can also be found by calling the Metal VLAN API.
interconnection object
Interconnection details.
uuid string
Unique Id of the Metal interconnection. Fabric recives this information when the user provides us the authorization code in the Fabric request.
Example: 88889d66-ef43-445c-ba29-d17522XXXXXX
zSide object
Destination definition.
accessPoint object
Connection endpoint configuration from the Z-side.
type string
Connection endpoint type.
Example: SP - Service profile.
profile object
The service profile associated with this access point.
href string
An absolute URL that returns complete specification for the given entity.
Example: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f
type string
Service profile type.
Example:
  • L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model.
uuid string
Unique Id of the service profile.
Example: 20d32a80-0d61-4333-bc03-707b591ae2f5
location object
Connection endpoint location information.
Applicable to SP type access points.
href string
An absolute URL that returns the location details.
Example: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f
metroCode string
Metropolitan area identifier.
region string
Metropolitan region identifier.
notifications array[object]
Notification settings for messages.
type string
Notification messages category.
Applicable values:
  • ALL
emails array[string]
Email addresses of up to 12 recipients.
Example: ["mike@mspp.com","dwight@dm.com"]
operation object
Connection operational data.
equinixStatus string
Status of the connection on the Equinix side.
Example: PROVISIONING
providerStatus string
Status of the connection on the provider side.
Example: NOT_AVAILABLE
changeLog object
A permanent record of asset creation, modification, or deletion.
createdBy string
Identity of the asset creator.
Example: AverageJoe
createdDateTime string
Asset creation timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000
Example: 2021-07-15T19:30:29.526Z

 

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 4: Accept Connection

You can accept the connection on the Fabric portal or in your AWS console.