Skip to main content

Order Internet Access with Network Edge

Equinix Internet Access (EIA) provides blended internet access using multiple tier-1 internet service providers (ISPs) and Equinix Internet Exchanges (IX) to deliver high availability, reliability, and speed. To order Internet Access through the API:

  • The Fabric Connection between your Network Edge device and the Equinix Internet Access service profile is provided free of charge.
  • When you deprovision your Internet Access service instance, the associated Fabric connection is also deprovisioned.
  • In case the there's an issue with provisioning an Internet Access service instance, the associated Fabric connection is deprovisioned automatically.

Equinix Internet Access with Network Edge is available to organizations onboarded to Equinix Identity and Access Management, and the account used to send API requests must have the Equinix Fabric Manager, Network Edge Connections Manager, and Network Edge Device Manager roles.

Prerequisites

  1. Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for instructions on how to call the OAuth API to validate and authenticate your credentials.

  2. Determine the a-side information. You need a provisioned Network Edge Virtual Device, Redundant Devices, or Cluster with a registered license. Send a GET request to the /ne/v1/devices endpoint or the /ne/v1/devices/{id} endpoint. You may choose any available interface on the device for your connection. However, Equinix will select an interface if you do not specify one.

  3. Determine the z-side information. The Internet Access service profile is of type IA_PROFILE and its ID is 2d81829-0bf8-45d5-84e2-7289a553dbb6. To determine the metro location for your service, send a GET request to the /internetAccess/v2/ibxs endpoint to find the locations where Internet Access is available. You need this information for ordering your Internet Access service.

Creating the Internet Access Connection

To create the connection for your Internet Access service, send a POST request to the /fabric/v4/connections endpoint. The connection type is IA_VC.

Provide your virtual device information in the aSide object, including:

  • accessPoint.type as VD
  • virtualDevice.type as EDGE
  • virtualDevice.uuid as your device's UUID

Provide the Internet Access service profile in the zSide object, including:

  • accessPoint.type as SP.
  • profile.type as IA_PROFILE
  • profile.uuid as 32d81829-0bf8-45d5-84e2-7289a553dbb6
  • metroCode as the two letter metro code of the Internet Access metro you are connecting to.

If you are creating redundant connections, make two requests. One request should have the redundancy.priority set to PRIMARY, and the other redundancy.priority set to SECONDARY. Use a virtual device cluster or a pair of redundant devices (one for primary and one for secondary) for the a-side.

note

If you are using redundant connections to redundant devices or a cluster, only BGP routing is supported.

Sample cURL Request:

curl -X POST 'https://api.equinix.com/fabric/v4/connections'  
-H 'content-type: application/json'
-H 'authorization: Bearer <TOKEN>'
-d '{
"type": "IA_VC",
"name": "<your_connection_name>",
"bandwidth": <connection_speed>,
"redundancy": {
"priority": "<redundancy_code>"
},
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "<virtual_device_uuid>"
}
}
}
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "IA_PROFILE",
"uuid": "32d81829-0bf8-45d5-84e2-7289a553dbb6"
},
"location": {
"metroCode": "<metro_code>"
}
}
},
"order": {
"purchaseOrderNumber": "<purchase_order_number>"
},
"notifications": [
{
"type": "ALL",
"emails": [
"<contact_email>"
]
}
]
}'
Important

The request response contains a uuid that is your Internet Access service's connection ID. You must have this connection UUID for ordering the Internet Access service.

Ordering Service with Provider Assigned IPs

To order your Internet Access service, send a POST request to the /internetAccess/v2/services endpoint.

When ordering your service using Equinix-owned (PA) IP addresses, set the ipBlock.prefixLength value to the size of the subnet you need.

For redundancy, if you created two connections for your service, . If you created a single connection for your service,

If you are ordering service over a single connection:

  • Set type to SINGLE and provide the connection ID to the connections array.
  • Choose your routingProtocol.type from STATIC, DIRECT, or BGP.

If you are ordering service over a pair of redundant connections, specify:

  • Set type to DUAL, and provide both connection IDs to the connections array.
  • Set your routingProtocol.type to BGP.
note

When ordering EIA with Network Edge service instance located in one of our IBX data centers in the APAC region, make sure to add the addressingPlans information to the ipBlock object. See the API reference for more information.

Static Routing

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

Direct Routing

Specify routingProtocol.type as DIRECT. More information is on the Direct Routing page.

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
],
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
],
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

BGP Routing

Specify your BGP configuration details in the routingProtocol object. Specifying which routes you want advertised to the Internet, FULL, DEFAULT, FULL_DEFAULT, or PARTIAL in routingProtocol.exportPolicy is required. More information is on the BGP Routing page.

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "redundancy_code",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"customerAsn": <asn_number>,
"bgpAuthKey": "<bgp_auth_key",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

Ordering Service with Provider Independent IPs

To order your Internet Access service, send a POST request to the /internetAccess/v2/services endpoint.

When ordering your service using your own IP addresses (PI), specify your subnets in customerRoutes.prefix.

If you are ordering service over a single connection:

  • Set type to SINGLE and provide the connection ID to the connections array.
  • Choose your routingProtocol.type from STATIC, DIRECT, or BGP.

If you are ordering service over a pair of redundant connections, specify:

  • Set type to DUAL, and provide both connection IDs to the connections array.
  • Set your routingProtocol.type to BGP.

Static Routing

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_subnet>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_subnet>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

Direct Routing

Specify routingProtocol.type as DIRECT and your peering information in the peering object. More information is on the Direct Routing page.

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_subnet>"
}
],
"peerings": [
{
"connection": {
"uuid": "<connection_uuid>"
},
"equinixPeerIps": [
"<peering_ip_address>"
],
"equinixVRRPIp": "<virtual_router_group_ip_address>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_subnet>"
}
],
"peerings": [
{
"connection": "<connection_uuid>",
"equinixPeerIps": [
"<peering_ip_address>"
],
"equinixVRRPIp": "<virtual_router_group_ip_address>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

BGP Routing

Specify your BGP configuration details in the routingProtocol object. Specifying which routes you want advertised to the Internet, FULL, DEFAULT, FULL_DEFAULT, or PARTIAL in routingProtocol.exportPolicy is required. More information is on the BGP Routing page.

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "redundancy_code",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"customerAsn": <asn_number>,
"bgpAuthKey": "<bgp_auth_key",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_subnet>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_subnet>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

Ordering Service with Mixed IPs

To order your Internet Access service, send a POST request to the /internetAccess/v2/services endpoint.

When ordering your service with both provider assigned and provider independent IP addresses:

  • Set the ipBlock.prefixLength value to the size of the subnet you need from Equinix (PA).
  • Specify your own IP address subnets in customerRoutes.prefix (PI).

If you are ordering service over a single connection:

  • Set type to SINGLE and provide the connection ID to the connections array.
  • Choose your routingProtocol.type from STATIC or BGP.

If you are ordering service over a pair of redundant connections:

  • Set type to DUAL, and provide both connection IDs to the connections array.
  • Set your routingProtocol.type to BGP.

Static Routing

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
},
"prefix": "<your_ipv4_subnet>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
},
"prefix": "<your_ipv6_subnet>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

BGP Routing

Specify your BGP configuration details in the routingProtocol object. Specifying which routes you want advertised to the Internet, FULL, DEFAULT, FULL_DEFAULT, or PARTIAL in routingProtocol.exportPolicy is required. More information is on the BGP Routing page.

Sample cURL Request:

curl -X  
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"name": "string",
"description": "string",
"type": "redundancy_code",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"customerAsn": <asn_number>,
"bgpAuthKey": "<bgp_auth_key",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
},
"prefix": "<your_ipv4_subnet>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_subnet>
},
"prefix": "<your_ipv6_subnet>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<po_number>"
},
"referenceNumber": "<reference_number>",
"signature": {
"signatory": "<signatory_code>"
}
}
}'

Monitoring Your Requests

To view the status of your create connection request, send a GET request to the fabric/v4/connections/{connectionId} endpoint.

To view the details of your Internet Access service, use the internetAccess/v2/services/{serviceId} endpoint.

If there is an issue with provisioning your Internet Access service instance, the associated connection is deprovisioned automatically.