Commander un Internet Access avec un Fabric Port
Equinix Internet Access (EIA) fournit un accès Internet mixte en utilisant plusieurs fournisseurs d'accès Internet (FAI) de niveau 1 et les points d'échange Internet (IX) d'Equinix pour offrir une disponibilité, une fiabilité et une vitesse élevées.
- La connexion Fabric entre votre port Fabric et le profil de service Equinix Internet Access est fournie gratuitement.
- Lorsque vous déprovisionnez votre instance de service Internet Access, la connexion Fabric associée est également déprovisionnée.
- En cas de problème lors du provisionnement d'une instance de service Internet Access, la connexion Fabric associée est automatiquement déprovisionné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 été intégrée à Equinix Identity and Access Management, vous pouvez commander Equinix Internet Access avec port dédié.
Conditions préalables
-
Authentifier - Soumettez vos informations d'identification, votre ID client et votre secret client pour OAuth2. authentification. Reportez-vous à API Authentication pour savoir comment appeler l'API OAuth afin de valider et d'authentifier vos informations d'identification.
-
Déterminez les informations du côté A. Pour obtenir vos informations de port Fabric, envoyez une requête
GETau point de terminaison/fabric/v4/ports. Vous avez besoin de l'UUID du port, du type de protocole de liaison (DOT1Q ou QINQ). Si vous créez une connexion redondante, choisissez un port "PRIMARY" et un port "SECONDARY". Vous avez besoin de ces informations pour la demande de création de connexion. -
Déterminez les informations du côté Z. Le profil de service Internet Access est de type
IA_PROFILEet son ID est32d81829-0bf8-45d5-84e2-7289a553dbb6. Pour déterminer l'emplacement du métro pour votre service, envoyez une requêteGETau point de terminaison/internetAccess/v2/ibxspour trouver les emplacements où Internet Access est disponible. Vous avez besoin de ces informations pour commander votre service Internet Access.
Création de la connexion Internet Access
Pour créer la connexion pour votre service Internet Access, envoyez une requête POST au point de terminaison /fabric/v4/connections. Le type de connexion est IA_VC.
Fournissez vos informations portuaires dans l'objet aSide, y compris :
accessPoint.typeasCOLO- Fournissez l'UUID de votre port à
port.uuid
Si vous vous connectez à partir d'un port Dot1q :
- linkProtocol.type comme `DOT1Q`
- Fournissez l'ID du VLAN à `linkProtocol.vlanTag`
Si vous vous connectez à partir d'un port QinQ :
- linkProtocol.type comme `QINQ`
- Fournissez l'ID du tag interne à `linkProtocol.vlanCTag`
- Fournissez l'ID du tag externe à `linkProtocol.vlanSTag`
- Si vous créez des connexions redondantes, faites deux demandes.
Une requête doit avoir votre port primaire et
redundancy.priorityfixé àPRIMARY, et l'autre votre port secondaire etredundancy.priorityfixé àSECONDARYet vous devez spécifierredundancy.groupcomme l'UUID de la première connexion.
Fournissez le profil du service Internet Access dans l'objet zSide, y compris :
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 est l'identifiant de connexion de votre service Internet Access. Vous devez disposer de cet UUID de connexion pour commander le service Internet Access.
Commande d'un service avec bloc IP attribué par le fournisseur
Pour commander votre service Internet Access, envoyez une requête POST au point de terminaison /internetAccess/v2/services.
Pour la redondance, si vous avez créé deux connexions pour votre service, mettez type à DUAL, et fournissez les deux identifiants de connexion au tableau connections.
Si vous avez créé une seule connexion pour votre service, mettez type à SINGLE et fournissez l'ID de la connexion au tableau connections.
Dans l'objet routingProtocol spécifiez :
- Votre
routingProtocol.typeà partir deSTATIC,DIRECT, ouBGP. - Lorsque vous commandez votre service en utilisant des blocs IP appartenant à Equinix (PA), définissez la valeur
ipBlock.prefixLengthà la taille du bloc IP dont vous avez besoin.
Lorsque vous commandez une instance de service EIA située dans l'un de nos centres de données IBX dans la région APAC, assurez-vous d'ajouter les informations addressingPlans et questions à l'objet ipBlock dans le cas d'un bloc PA IPv4. Consultez la référence API pour plus d'informations.
Routage statique
La documentation sur le routage statique se trouve 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 sur le routage direct est disponible 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>"
}
}
}'
Routage BGP
Spécifiez les détails de votre configuration BGP dans l'objet routingProtocol :
- les routes que vous voulez voir annoncées à l'Internet,
FULL,DEFAULT,FULL_DEFAULT, ouPARTIALdansroutingProtocol.exportPolicy. - fournissez la plage d'ASN du client BITS_16 pour un ASN de 16 bits ou BITS_32 pour un ASN de 32 bits dans
routingProtocol.customerAsnRange. - fournissez bgpAuthKey dans
routingProtocol.bgpAuthKeysi nécessaire.
La documentation sur le routage BGP est disponible 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>"
}
}
}'
Commander un service avec un bloc IP indépendant du fournisseur
Lorsque vous commandez votre service en utilisant votre propre bloc IP (PI), spécifiez-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
Spécifiez quelles IP de votre bloc IP peuvent être utilisées pour le peering dans l'objet peering. Pour le type de service simple, veuillez fournir une seule adresse IP dans le tableau equinixPeerIps. Pour le type de service double, veuillez fournir deux adresses IP dans le tableau equinixPeerIps et l'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>"
}
}
}'
Routage 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>"
}
}
}'
Commande de service avec les blocs IP PA et PI
Lorsque vous commandez votre service avec des blocs IP attribués par le fournisseur (PA) et indépendants du fournisseur (PI), spécifiez au moins deux objets route 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).
Les blocs IP multiples ne peuvent être demandés qu'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 afficher 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 de provisionnement de votre instance de service Internet Access, la connexion associée est déprovisionnée automatiquement.