Connect Metal to Amazon Web Services
Establish a direct layer 2 connection between your Metal asset and your
Amazon Web Services (AWS) resources.
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
Create a Metal Asset. You will get an authorization_code in the response to use your Metal asset.
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 | |
---|---|
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 |
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.
|
name
string REQUIRED |
Connection name. Applicable values:
|
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:
|
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:
|
aSide
object REQUIRED |
Source port definition. |
accessPoint
object REQUIRED |
Connection endpoint configuration from the a-Side. |
type
string REQUIRED |
Connection endpoint type.
|
authenticationKey
string REQUIRED |
Provide the authorization_code you get when you create a Metal asset. |
zSide
object REQUIRED |
Destination port definition. |
accessPoint
object REQUIRED |
Connection endpoint configuration. |
type
string REQUIRED |
Connection endpoint type.
|
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. |
Seller region.
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:
|
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 asset
{
"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 port definition. |
accessPoint
object |
Connection endpoint configuration from the A-side. |
port
object |
Port associated with the connection. Applicable to
COLO type access points.
|
href
string |
An absolute URL that returns the specified port. Example:https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd |
type
string |
Type of port. Example: XF_PORT - Equinix Fabric port used as a Fabric connection endpoint. |
zSide
object |
Destination port 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:
|
uuid
string |
Unique Id of the service profile. Example: 20d32a80-0d61-4333-bc03-707b591ae2f5 |
location
object REQUIRED |
Connection endpoint location information. Applicable to SP type access points.
|
metroCode
string REQUIRED |
Metropolitan area identifier. |
notifications
array[object] |
Notification settings for messages. |
type
string |
Notification messages category. Applicable values:
|
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 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 4: Accept Connection
You can accept the connection on the Fabric portal or in your AWS console.