Solicitar acesso à Internet com uma porta de tecido
O Equinix Internet Access (EIA) oferece acesso híbrido à internet, utilizando múltiplos provedores de serviços de internet (ISPs) de nível 1 e pontos de troca de internet (IXs) da Equinix para proporcionar alta disponibilidade, confiabilidade e velocidade.
- A conexão Fabric entre sua porta Fabric e o perfil de serviço de acesso à Internet da Equinix é fornecida gratuitamente.
- Quando você desprovisiona sua instância de serviço de Acesso à Internet, a conexão Fabric associada também é desprovisionada.
- Caso haja algum problema com o provisionamento de uma instância do serviço de Acesso à Internet, a conexão Fabric associada será desprovisionada automaticamente.
O Equinix Internet Access com Fabric está disponível para organizações integradas ao Equinix Identity and Access Management, e a conta usada para enviar solicitações de API deve ter a função Equinix Fabric Manager.
Se sua organização ainda não foi integrada ao Equinix Identity and Access Management, você pode solicitar Equinix Internet Access com porta dedicada.
Pré-requisitos
-
Autenticar - Envie suas credenciais de usuário, ID do cliente e segredo do cliente para OAuth2. autenticação. Consulte Autenticação de API para obter instruções sobre como chamar a API OAuth para validar e autenticar suas credenciais.
-
Determine as informações do lado A. Para obter as informações da porta do Fabric, envie uma solicitação
GETpara o endpoint/fabric/v4/ports. Você precisa do(s) UUID(s) da(s) porta(s) e do tipo de protocolo de link (DOT1Q ou QINQ). Se estiver criando uma conexão redundante, escolha uma portaPRIMARYe uma portaSECONDARY. Você precisará dessas informações para a solicitação de criação de conexão. -
Determine as informações do lado Z. O perfil do serviço de Acesso à Internet é do tipo
IA_PROFILEe seu ID é32d81829-0bf8-45d5-84e2-7289a553dbb6. Para determinar a localização metropolitana do seu serviço, envie uma solicitaçãoGETpara o endpoint/internetAccess/v2/ibxspara encontrar os locais onde o Acesso à Internet está disponível. Você precisa dessas informações para solicitar seu serviço de Acesso à Internet.
Criando uma conexão de acesso à Internet
Para criar a conexão para o seu serviço de Acesso à Internet, envie uma solicitação POST para o endpoint /fabric/v4/connections. O tipo de conexão é IA_VC.
Forneça as informações da sua porta no objeto aSide, incluindo:
accessPoint.typeasCOLO- Forneça o UUID da sua porta para
port.uuid.
Se você estiver se conectando a partir de uma porta Dot1q:
- linkProtocol.type como `DOT1Q`
- Forneça o ID da VLAN para `linkProtocol.vlanTag`.
Se você estiver se conectando a partir de uma porta QinQ:
- linkProtocol.type como `QINQ`
- Forneça o ID da tag interna para `linkProtocol.vlanCTag`.
- Forneça o ID da tag externa para `linkProtocol.vlanSTag`.
- Se você estiver criando conexões redundantes, faça duas solicitações.
Uma das solicitações deve ter sua porta primária e
redundancy.prioritydefinidas comoPRIMARY, e a outra, sua porta secundária. e comredundancy.prioritydefinido comoSECONDARY, você deve especificarredundancy.groupcomo o UUID da primeira conexão.
Forneça o perfil do serviço de acesso à Internet no objeto zSide, incluindo:
accessPoint.typeasSP.profile.typeasIA_PROFILEprofile.uuidas32d81829-0bf8-45d5-84e2-7289a553dbb6metroCodeas the two letter metro code of the Internet Access metro you are connecting to.
Exemplos de requisições 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>"
]
}
]
}'
A resposta contém um uuid, que é o ID de conexão do seu serviço de acesso à Internet. Você precisa desse UUID de conexão para solicitar o serviço de acesso à Internet.
Serviço de encomenda com bloco de IP atribuído pelo fornecedor
Para solicitar seu serviço de acesso à Internet, envie uma solicitação POST para o endpoint /internetAccess/v2/services.
Para redundância, se você criou duas conexões para o seu serviço, defina type como DUAL e forneça os dois IDs de conexão para a matriz connections.
Se você criou uma única conexão para o seu serviço, defina type como SINGLE e forneça o ID da conexão para a matriz connections.
No objeto routingProtocol, especifique:
- Seu
routingProtocol.typepode serSTATIC,DIRECTouBGP. - Ao solicitar seu serviço usando blocos de IP de propriedade da Equinix (PA), defina o valor
ipBlock.prefixLengthpara o tamanho do bloco de IP que você precisa.
Ao solicitar uma instância do serviço EIA localizada em um de nossos data centers IBX na região da Ásia-Pacífico, certifique-se de adicionar as informações addressingPlans e questions ao objeto ipBlock no caso de um bloco IPv4 PA. Consulte a referência da API para obter mais informações.
Roteamento Estático
A documentação sobre o roteamento estático pode ser encontrada aqui.
Exemplos de requisições 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>"
}
}
}'
Roteamento direto
A documentação sobre o roteamento direto pode ser encontrada aqui.
Exemplos de requisições 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>"
}
}
}'
Roteamento BGP
Especifique os detalhes da sua configuração BGP no objeto routingProtocol:
- Em
routingProtocol.exportPolicy, você define quais rotas deseja anunciar para a Internet:FULL,DEFAULT,FULL_DEFAULTouPARTIAL. - Forneça o intervalo de ASN do cliente BITS_16 para ASN de 16 bits ou BITS_32 para ASN de 32 bits em
routingProtocol.customerAsnRange. - Forneça a chave de autenticação BGP em
routingProtocol.bgpAuthKey, se necessário.
A documentação sobre roteamento BGP pode ser encontrada aqui.
Exemplos de requisições 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>"
}
}
}'
Serviço de pedidos com bloqueio de IP independente do provedor
Ao solicitar seu serviço usando seu próprio bloco de IP (PI), especifique-o em customerRoutes.prefix.
Roteamento Estático
Exemplos de requisições 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>"
}
}
}'
Roteamento direto
Especifique quais IPs do seu bloco de IPs podem ser usados para fins de peering no objeto peering.
Para o tipo de serviço único, forneça apenas um endereço IP na matriz equinixPeerIps.
Para o tipo de serviço Dual, forneça dois endereços IP no array equinixPeerIps e o endereço IP VRRP no campo equinixVRRPIp.
Exemplos de requisições 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>"
}
}
}'
Roteamento BGP
Exemplos de requisições 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>"
}
}
}'
Serviço de encomenda com blocos IP PA e PI
Ao solicitar seu serviço com blocos de IP atribuídos pelo provedor (PA) e independentes do provedor (PI), especifique dois ou mais objetos de rota do cliente com os campos apropriados:
ipBlock.prefixLengthin case of Equinix provided IP Block (PA).customerRoutes.prefixin case of using your own IP Block (PI).
É possível solicitar vários blocos de IP apenas com os protocolos de roteamento estático e BGP.
Exemplos de requisições 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>"
}
}
}'
Monitorando suas solicitações
Para visualizar o status da sua solicitação de criação de conexão, envie uma solicitação GET para o endpoint fabric/v4/connections/{connectionId}.
Para visualizar os detalhes do seu serviço de acesso à Internet, use o endpoint internetAccess/v2/services/{serviceId}.
Caso ocorra algum problema com o provisionamento da sua instância de serviço de Acesso à Internet, a conexão associada será desprovisionada automaticamente.