Commande d'un accès Internet avec un port Fabric
Equinix Internet Access (EIA) fournit un accès Internet mixte utilisant plusieurs fournisseurs d'accès Internet (FSI) de niveau 1 et des points d'échange Internet (IX) Equinix pour offrir une haute disponibilité, fiabilité et vitesse.
- La connexion Fabric entre votre port Fabric et le profil de service d'accès Internet Equinix est fournie gratuitement.
- Lorsque vous désactivez votre instance de service d'accès Internet, la connexion Fabric associée est également désactivée.
- En cas de problème lors de la mise en service d'une instance de service Internet Access, la connexion Fabric associée est automatiquement désactivée.
Equinix Internet Access with Fabric est disponible pour les organisations intégrées à Equinix Identity and Access Management, et le compte utilisé pour envoyer des requêtes API doit avoir le rôle Equinix Fabric Manager.
Si votre organisation n'a pas encore été intégrée à Equinix Identity and Access Management, vous pouvez commander Equinix Internet Access avec port dédié.
Préalable
-
Authentification - Soumettez vos identifiants utilisateur, votre identifiant client et votre clé secrète client pour OAuth2 Authentification. Consultez Authentification API pour obtenir des instructions sur la façon d'appeler l'API OAuth afin de valider et d'authentifier vos informations d'identification.
-
Déterminez les informations côté A. Pour obtenir les informations de port Fabric, envoyez une requête
GETau point de terminaison/fabric/v4/ports(/api-catalog/fabricv4#tag/Ports/operation/getPorts). Vous aurez besoin du ou des UUID de port, ainsi que du type de protocole de liaison (DOT1Q ou QINQ). Si vous créez une connexion redondante, indiquez un portPRIMARYet un portSECONDARY. Ces informations sont nécessaires pour la requête de création de connexion. -
Déterminez les informations côté réseau (Z-side). Le profil du service d'accès Internet est de type
IA_PROFILEet son identifiant est32d81829-0bf8-45d5-84e2-7289a553dbb6. Pour déterminer la zone métropolitaine de couverture de votre service, envoyez une requêteGETau point de terminaison/internetAccess/v2/ibxsafin de trouver les zones où l'accès Internet est disponible. Ces renseignements sont nécessaires pour commander votre service d'accès Internet.
Création d'une connexion Internet
Pour créer la connexion à votre service d'accès Internet, envoyez une requête POST au point de terminaison /fabric/v4/connections. Le type de connexion est IA_VC.
Veuillez indiquer les renseignements relatifs à votre port dans l'objet aSide, notamment:
accessPoint.typeasCOLO- Fournissez l'UUID de votre port à
port.uuid
Si vous vous connectez à partir d'un port Dot1q:
- linkProtocol.type as `DOT1Q`
- Fournissez l'ID du VLAN à `linkProtocol.vlanTag`
Si vous vous connectez à partir d'un port QinQ:
- linkProtocol.type as `QINQ`
- Fournissez l'ID de la balise interne à `linkProtocol.vlanCTag`
- Fournissez l'ID de la balise externe à `linkProtocol.vlanSTag`
- Si vous créez des connexions redondantes, faites deux requêtes.
Une requête doit avoir votre port principal et
redundancy.prioritydéfini surPRIMARY, et l'autre votre port secondaire. etredundancy.prioritydéfini surSECONDARYet vous devez spécifierredundancy.groupcomme l'UUID de la première connexion.
Fournissez le profil du service d'accès Internet dans l'objet zSide, incluant:
accessPoint.typeasSP.profile.typeasIA_PROFILEprofile.uuidas32d81829-0bf8-45d5-84e2-7289a553dbb6metroCodeas the two letter metro code of the Internet Access metro you are connecting to.
Exemples de requêtes cURL:
Primary connection example
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": "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "<your_port_uuid>"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": <vlan_id>
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "IA_PROFILE",
"uuid": "32d81829-0bf8-45d5-84e2-7289a553dbb6"
},
"location": {
"metroCode": "<metro_code>"
}
}
},
"project": {
"projectId": "<project_id>"
},
"order": {
"purchaseOrderNumber": "<purchase_order_number>"
},
"notifications": [
{
"type": "ALL",
"emails": [
"<contact_email>"
]
}
]
}'
Secondary connection example
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": "SECONDARY",
"group": "<primary_connection_uuid>"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "<your_port_uuid>"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": <vlan_id>
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "IA_PROFILE",
"uuid": "32d81829-0bf8-45d5-84e2-7289a553dbb6"
},
"location": {
"metroCode": "<metro_code>"
}
}
},
"project": {
"projectId": "<project_id>"
},
"order": {
"purchaseOrderNumber": "<purchase_order_number>"
},
"notifications": [
{
"type": "ALL",
"emails": [
"<contact_email>"
]
}
]
}'
La réponse contient un uuid qui correspond à l'identifiant de connexion de votre service d'accès Internet. Vous devez disposer de cet UUID de connexion pour commander le service d'accès Internet.
Service de commande avec bloc IP attribué par le fournisseur
Pour commander votre service d'accès Internet, envoyez une requête POST au point de terminaison /internetAccess/v2/services.
Pour plus de sécurité, si vous avez créé deux connexions pour votre service, définissez type sur DUAL et fournissez les deux identifiants de connexion au tableau connections.
Si vous avez créé une seule connexion pour votre service, définissez type sur SINGLE et fournissez l'ID de connexion au tableau connections.
Dans l'objet routingProtocol, précisez:
- Votre
routingProtocol.typedeSTATIC,DIRECTouBGP. - Lors de la commande de votre service en utilisant des blocs IP appartenant à Equinix (PA), définissez la valeur
ipBlock.prefixLengthsur la taille du bloc IP dont vous avez besoin.
Lors de la commande d'une instance de service EIA hébergée dans l'un de nos centres de données IBX de la région Asie-Pacifique, assurez-vous d'ajouter les informations « addressingPlans » et « questions » à l'objet « ipBlock » en cas de blocage IPv4 PA. Consultez la référence API pour plus d'informations.
Routage statique
La documentation relative au routage statique peut être trouvée ici.
Exemples de requêtes cURL:
Single Static Service in APAC region example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>,
"addressingPlans": [
{
"afterThreeMonths": <number_of_ip_addresses_used_after_three_months>,
"immediate": <number_of_ip_addresses_used_instantly>,
"purpose": "<purpose_of_ip_block>",
"size": <number_of_ip_addresses_requested>
}
],
"questions": [
{
"answer": "YES",
"type": "PRIVATE_SPACE_CONSIDERED"
},
{
"answer": "NO",
"type": "REFUSED_PREVIOUSLY"
},
{
"answer": "NO",
"type": "RETURNING_ADDRESS_SPACE"
}
]
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual Static Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Routage direct
La documentation relative au routage direct peut être trouvée ici.
Exemples de requêtes cURL:
Single Direct Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual Direct Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Acheminement BGP
Précisez les détails de votre configuration BGP dans l'objet routingProtocol:
- Indiquez dans
routingProtocol.exportPolicyles routes que vous souhaitez annoncer sur Internet:FULL,DEFAULT,FULL_DEFAULTouPARTIAL. - Fournissez la plage ASN client BITS_16 pour un ASN 16 bits ou BITS_32 pour un ASN 32 bits dans
routingProtocol.customerAsnRange. - Fournissez la clé d'authentification BGP dans
routingProtocol.bgpAuthKeysi nécessaire.
La documentation relative au routage BGP peut être trouvée ici.
Exemples de requêtes cURL:
Single BGP Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "My Internet Access Service",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"bgpAuthKey": "<bgp_auth_key>",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual BGP Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"bgpAuthKey": "<bgp_auth_key>",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Service de commande avec blocage IP indépendant du fournisseur
Lors de la commande de votre service en utilisant votre propre bloc d'adresses IP (PI), précisez-le dans customerRoutes.prefix
Routage statique
Exemples de requêtes cURL:
Single Static Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual Static Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Routage direct
Indiquez dans l'objet « peering » les adresses IP de votre bloc d'adresses IP qui peuvent être utilisées à des fins de peering.
Pour le type de service unique, veuillez ne fournir qu'une seule adresse IP dans le tableau equinixPeerIps.
Pour le type de service double, veuillez fournir deux adresses IP dans le tableau equinixPeerIps et une adresse IP VRRP dans le champ equinixVRRPIp.
Exemples de requêtes cURL:
Single Direct Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
],
"peerings": [
{
"equinixPeerIps": [
"<peering_ip_address>"
]
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
],
"peerings": [
{
"equinixPeerIps": [
"<peering_ip_address>"
]
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual Direct Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "DIRECT",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
],
"peerings": [
{
"equinixPeerIps": [
"<peering_ip_address>",
"<peering_ip_address>"
],
"equinixVRRPIp": "<virtual_router_group_ip_address>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
],
"peerings": [
{
"equinixPeerIps": [
"<peering_ip_address>",
"<peering_ip_address>"
],
"equinixVRRPIp": "<virtual_router_group_ip_address>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Acheminement BGP
Exemples de requêtes cURL:
Single BGP Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"bgpAuthKey": "<bgp_auth_key>",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Dual BGP Service example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "DUAL",
"connections": [
"<connection_uuid1>", "<connection_uuid2>"
],
"routingProtocol": {
"type": "BGP",
"customerAsnRange": "<asn_range>",
"bgpAuthKey": "<bgp_auth_key>",
"exportPolicy": "<route_advertisement_code>",
"ipv4": {
"customerRoutes": [
{
"prefix": "<your_ipv4_ip_block>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"prefix": "<your_ipv6_ip_block>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Service de commande avec blocs IP PA et PI
Lors de la commande de votre service avec des blocs IP attribués au fournisseur (PA) et indépendants du fournisseur (PI), précisez au moins deux objets de routage client avec les champs appropriés:
ipBlock.prefixLengthin case of Equinix provided IP Block (PA).customerRoutes.prefixin case of using your own IP Block (PI).
Il est possible de demander plusieurs blocs d'adresses IP uniquement avec les protocoles de routage statique et BGP.
Exemples de requêtes cURL:
Provider Assigned and Provider Independent IP Blocks example
curl -X POST 'https://api.equinix.com/internetAccess/v2/services' \
-H 'content-type: application/json' \
-H 'authorization: Bearer <token>' \
-d '{
"name": "<your_service_name>",
"type": "SINGLE",
"connections": [
"<connection_uuid>"
],
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv4_ip_block>
}
},
{
"prefix": "<your_ipv4_ip_block>"
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": <size_of_ipv6_ip_block>
}
},
{
"prefix": "<your_ipv6_ip_block>"
}
]
}
},
"order": {
"purchaseOrder": {
"number": "<purchase_order_number>"
}
}
}'
Suivi de vos demandes
Pour voir l'état de votre demande de création de connexion, envoyez une requête GET au point de terminaison fabric/v4/connections/{connectionId}.
To view the details of your Internet Access service, use the internetAccess/v2/services/{serviceId} endpoint.
En cas de problème lors de la mise en service de votre instance de service d'accès Internet, la connexion associée est automatiquement désactivée.