Pular para o conteúdo principal

Desafio 19: ExpressRoute private peering

Modo de simulação

Este desafio é baseado em simulação. O ExpressRoute requer um provedor de conectividade física e custa $55--$10.000+/mês. Você aprenderá os comandos CLI, padrões de configuração e saídas esperadas sem implantar recursos reais.

Tempo e custo estimados

45--60 minutos | Sem custo (simulação) | Peso no exame: 20--25%

Objetivos

Após concluir este desafio, você será capaz de:

  • Selecionar um modelo de conectividade ExpressRoute
  • Selecionar um SKU e tier apropriados para o ExpressRoute
  • Criar um circuito ExpressRoute
  • Escolher entre somente Azure private peering, somente Microsoft peering ou ambos
  • Configurar o Azure private peering
  • Criar e configurar um gateway ExpressRoute
  • Conectar uma rede virtual a um circuito ExpressRoute

Cenário

A Contoso decidiu que suas cargas de trabalho híbridas exigem a largura de banda dedicada e a confiabilidade que somente o ExpressRoute pode fornecer. Seu datacenter local em Silicon Valley se conecta a uma instalação de colocation da Equinix. Eles precisam:

  1. Selecionar o modelo de conectividade correto para seu ambiente
  2. Criar um circuito ExpressRoute com o SKU e largura de banda corretos
  3. Implantar um gateway ExpressRoute em sua VNet hub
  4. Configurar o Azure private peering para conectividade RFC 1918
  5. Vincular a VNet ao circuito

Tarefa 1: Entender os modelos de conectividade do ExpressRoute

Antes de criar qualquer recurso, você deve escolher o modelo de conectividade que corresponde à sua infraestrutura física.

Modelo de conectividadeDescriçãoCaso de uso
Co-localização em CloudExchangeSeu datacenter está na mesma instalação que uma exchange de nuvem (ex.: Equinix, Megaport)Mais comum para empresas com presença em colocation
Ethernet ponto a pontoFibra dedicada entre seu datacenter e a MicrosoftAlta largura de banda, conectividade de site único
Qualquer para qualquer (IPVPN)WAN baseada em MPLS que conecta múltiplos escritórios filiaisEmpresas multi-site que já utilizam MPLS
ExpressRoute DirectFibra direta para o edge da Microsoft (10 Gbps ou 100 Gbps)Ingestão massiva de dados, isolamento rigoroso, MACsec

Para o cenário da Contoso, co-localização em CloudExchange é apropriada porque eles já estão presentes na Equinix.

Listar provedores de serviço disponíveis

az network express-route list-service-providers --output table

Saída esperada:

Name PeeringLocations BandwidthsOffered
-------------------- ---------------------------------------- ---------------------------
Equinix Silicon Valley, Washington DC, Chicago 50Mbps, 100Mbps, 200Mbps,
500Mbps, 1Gbps, 2Gbps,
5Gbps, 10Gbps
AT&T Netbond Silicon Valley, Chicago, Dallas 50Mbps, 100Mbps, 500Mbps,
1Gbps
Megaport Silicon Valley, Sydney, London 50Mbps, 100Mbps, 200Mbps,
500Mbps, 1Gbps, 10Gbps

Tarefa 2: Criar o circuito ExpressRoute

Entendendo os tiers e famílias de SKU

Tier do SKURecursos
LocalAcesso apenas a regiões no mesmo metro ou próximas. Sem cobranças de egress de dados.
StandardAcesso a todas as regiões dentro do mesmo limite geopolítico. 10 links de VNet.
PremiumConectividade global (entre limites geopolíticos). 100 links de VNet. Limites de rota maiores (10.000).
Família do SKUModelo de cobrança
MeteredDataPagamento por GB de egress. Taxa mensal menor.
UnlimitedDataTaxa mensal fixa independente do volume de egress.

Criar o circuito

az network express-route create \
--resource-group rg-contoso-network \
--name er-circuit-contoso-sv \
--bandwidth 200 \
--peering-location "Silicon Valley" \
--provider "Equinix" \
--sku-family MeteredData \
--sku-tier Standard \
--location westus2

Saída esperada:

{
"allowClassicOperations": false,
"bandwidthInGbps": null,
"bandwidthInMbps": 200,
"circuitProvisioningState": "Enabled",
"id": "/subscriptions/aaaa0000-bb11-2222-33cc-444444dddddd/resourceGroups/rg-contoso-network/providers/Microsoft.Network/expressRouteCircuits/er-circuit-contoso-sv",
"location": "westus2",
"name": "er-circuit-contoso-sv",
"peerings": [],
"provisioningState": "Succeeded",
"serviceKey": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"serviceProviderNotes": null,
"serviceProviderProperties": {
"bandwidthInMbps": 200,
"peeringLocation": "Silicon Valley",
"serviceProviderName": "Equinix"
},
"serviceProviderProvisioningState": "NotProvisioned",
"sku": {
"family": "MeteredData",
"name": "Standard_MeteredData",
"tier": "Standard"
},
"stag": null,
"tags": null,
"type": "Microsoft.Network/expressRouteCircuits"
}

Observações importantes:

  • A serviceKey é fornecida ao seu provedor de conectividade para que eles provisionem a conexão física do lado deles.
  • serviceProviderProvisioningState começa como NotProvisioned até que o provedor ative o link.
  • circuitProvisioningState é Enabled (lado Azure está pronto).

Verificar o status do circuito

az network express-route show \
--resource-group rg-contoso-network \
--name er-circuit-contoso-sv \
--query "{Name:name, Bandwidth:bandwidthInMbps, ProviderState:serviceProviderProvisioningState, CircuitState:circuitProvisioningState, SKU:sku.name}" \
--output table

Saída esperada (após o provedor provisionar):

Name Bandwidth ProviderState CircuitState SKU
---------------------- --------- ------------- ------------ --------------------
er-circuit-contoso-sv 200 Provisioned Enabled Standard_MeteredData

Tarefa 3: Criar o gateway ExpressRoute

Um gateway de rede virtual ExpressRoute conecta sua VNet do Azure ao circuito ExpressRoute. Ele deve ser implantado em uma sub-rede chamada GatewaySubnet.

SKUs do gateway ExpressRoute

SKUMáximo de conexõesMáximo de circuitosThroughput
Standard (ErGw1AZ)441 Gbps
High Performance (ErGw2AZ)882 Gbps
Ultra Performance (ErGw3AZ)161610 Gbps
ErGwScale4--164--161--40 Gbps (escalável)

O sufixo AZ indica implantação com redundância de zona entre zonas de disponibilidade.

Criar o GatewaySubnet

az network vnet subnet create \
--resource-group rg-contoso-network \
--vnet-name vnet-hub-westus2 \
--name GatewaySubnet \
--address-prefixes 10.0.255.0/27

Criar um IP público para o gateway

az network public-ip create \
--resource-group rg-contoso-network \
--name pip-er-gateway \
--sku Standard \
--allocation-method Static \
--zone 1 2 3

Criar o gateway ExpressRoute

az network vnet-gateway create \
--resource-group rg-contoso-network \
--name gw-expressroute-hub \
--vnet vnet-hub-westus2 \
--gateway-type ExpressRoute \
--sku ErGw1AZ \
--public-ip-addresses pip-er-gateway \
--no-wait
![Challenge 19 - Topologia de Rede](/img/az-700/challenge-19-topology.svg)


---

## Tarefa 4: Configurar o Azure private peering

O Azure private peering habilita a conectividade entre sua rede local e VNets do Azure usando endereços IP RFC 1918 (privados). Este é o tipo de peering mais comum.

### Requisitos de peering

- **Sub-rede primária**: Uma sub-rede IPv4 /30 para o link de sessão BGP primário
- **Sub-rede secundária**: Uma sub-rede IPv4 /30 para o link de sessão BGP secundário
- **VLAN ID**: Uma tag VLAN única para isolar este peering no link físico
- **ASN do peer**: Seu número de sistema autônomo BGP local (não pode ser 65515, que o Azure reserva)

Cada sub-rede /30 fornece dois IPs utilizáveis: você usa o primeiro, a Microsoft usa o segundo.

### Configurar o private peering

```bash
az network express-route peering create \
--resource-group rg-contoso-network \
--circuit-name er-circuit-contoso-sv \
--peering-type AzurePrivatePeering \
--peer-asn 65020 \
--primary-peer-subnet 172.16.0.0/30 \
--secondary-peer-subnet 172.16.0.4/30 \
--vlan-id 200 \
--shared-key "ContosoSharedKey123"

Saída esperada:

{
"azureASN": 12076,
"gatewayManagerEtag": "",
"id": "/subscriptions/.../peerings/AzurePrivatePeering",
"ipv6PeeringConfig": null,
"lastModifiedBy": "Customer",
"microsoftPeeringConfig": null,
"name": "AzurePrivatePeering",
"peerASN": 65020,
"peeringType": "AzurePrivatePeering",
"primaryAzurePort": "",
"primaryPeerAddressPrefix": "172.16.0.0/30",
"provisioningState": "Succeeded",
"secondaryAzurePort": "",
"secondaryPeerAddressPrefix": "172.16.0.4/30",
"sharedKey": "ContosoSharedKey123",
"state": "Enabled",
"vlanId": 200
}

Verificar a configuração do peering

az network express-route peering show \
--resource-group rg-contoso-network \
--circuit-name er-circuit-contoso-sv \
--name AzurePrivatePeering \
--output table

Saída esperada:

Name PeeringType PeerAsn VlanId State ProvisioningState
-------------------- -------------------- ------- ------ ------- -----------------
AzurePrivatePeering AzurePrivatePeering 65020 200 Enabled Succeeded

Tarefa 5: Conectar a VNet ao circuito ExpressRoute

Com o gateway implantado e o peering configurado, vincule-os usando az network vpn-connection create com o parâmetro --express-route-circuit2.

az network vpn-connection create \
--resource-group rg-contoso-network \
--name conn-er-hub \
--vnet-gateway1 gw-expressroute-hub \
--express-route-circuit2 er-circuit-contoso-sv

Saída esperada:

{
"connectionType": "ExpressRoute",
"enableBgp": false,
"expressRouteCircuit2": {
"id": "/subscriptions/.../expressRouteCircuits/er-circuit-contoso-sv"
},
"id": "/subscriptions/.../connections/conn-er-hub",
"name": "conn-er-hub",
"provisioningState": "Succeeded",
"routingWeight": 0,
"virtualNetworkGateway1": {
"id": "/subscriptions/.../virtualNetworkGateways/gw-expressroute-hub"
}
}

Verificar o status da conexão

az network vpn-connection show \
--resource-group rg-contoso-network \
--name conn-er-hub \
--query "{Name:name, Status:connectionStatus, Type:connectionType}" \
--output table

Saída esperada:

Name Status Type
------------ --------- ------------
conn-er-hub Connected ExpressRoute

Tarefa 6: Verificar o provisionamento do circuito e a tabela de rotas

Verificar a integridade completa do circuito

az network express-route show \
--resource-group rg-contoso-network \
--name er-circuit-contoso-sv \
--query "{Name:name, ServiceProviderState:serviceProviderProvisioningState, CircuitState:circuitProvisioningState, Peerings:peerings[].{Type:peeringType,State:state}}" \
--output json

Saída esperada:

{
"Name": "er-circuit-contoso-sv",
"ServiceProviderState": "Provisioned",
"CircuitState": "Enabled",
"Peerings": [
{
"Type": "AzurePrivatePeering",
"State": "Enabled"
}
]
}

Visualizar a tabela de rotas do peering

az network express-route list-route-tables \
--resource-group rg-contoso-network \
--name er-circuit-contoso-sv \
--path primary \
--peering-name AzurePrivatePeering

Saída esperada:

{
"value": [
{
"locPrf": "",
"network": "10.0.0.0/16",
"nextHop": "172.16.0.1",
"path": "65020",
"weight": 0
},
{
"locPrf": "",
"network": "192.168.1.0/24",
"nextHop": "172.16.0.1",
"path": "65020",
"weight": 0
}
]
}

Isso mostra que a rede local (10.0.0.0/16 e 192.168.1.0/24) está sendo anunciada a partir do roteador do cliente (ASN 65020) para o edge da Microsoft.


Cenários de quebra e correção

Cenário A: Circuito preso em NotProvisioned

Sintoma: O circuito foi criado há horas, mas serviceProviderProvisioningState ainda mostra NotProvisioned.

Causa raiz: O provedor de conectividade ainda não provisionou a cross-connect física usando a chave de serviço.

Resolução:

  1. Confirme que a chave de serviço foi compartilhada com seu provedor
  2. Contate o provedor para verificar se eles iniciaram o provisionamento
  3. Alguns provedores requerem ativação separada no portal (ex.: portal Equinix Cloud Exchange)
# Check current state
az network express-route show \
--resource-group rg-contoso-network \
--name er-circuit-contoso-sv \
--query "serviceProviderProvisioningState"
# Output: "NotProvisioned"

Cenário B: VLAN ID incorreto causa falha no peering

Sintoma: O private peering mostra state: Disabled e a sessão BGP não se estabelece.

Causa raiz: O VLAN ID configurado no Azure não corresponde à tag VLAN configurada no roteador CE/PE.

Resolução: Atualize o VLAN ID para corresponder à configuração do seu roteador.

az network express-route peering update \
--resource-group rg-contoso-network \
--circuit-name er-circuit-contoso-sv \
--name AzurePrivatePeering \
--vlan-id 300

Cenário C: Conflito de ASN do peer

Sintoma: A criação do peering falha com um erro sobre o ASN ser inválido.

Causa raiz: O ASN 65515 é reservado pelo Azure para o VPN Gateway. Você não pode usá-lo como ASN do peer.

Resolução: Escolha um ASN privado no intervalo 64512--65514 ou 65516--65534, ou use um ASN público que sua organização possui.


Resumo da arquitetura

On-Premises DC Equinix Colo Microsoft Edge Azure VNet
+-----------+ +-------------+ +-------------+ +------------+
| Router |---fiber--| Exchange |--xconn-| MSEE |--BGP--| ER Gateway |
| ASN 65020| | Provider | | ASN 12076 | | ErGw1AZ |
+-----------+ +-------------+ +-------------+ +------------+
| | |
VLAN 200 Private Peering vnet-hub
172.16.0.1/30 172.16.0.2/30 10.0.0.0/16

Verificação de conhecimento

1. Qual comando conecta um virtual network gateway a um circuito ExpressRoute?

2. Um circuito ExpressRoute mostra serviceProviderProvisioningState como NotProvisioned. O que deve acontecer antes de você poder configurar o peering?

3. Qual tier de SKU do ExpressRoute fornece conectividade entre fronteiras geopolíticas e suporta até 100 links de VNet?

4. Qual é o tamanho mínimo de sub-rede necessário para cada link de peering BGP no peering privado do ExpressRoute?

5. Qual valor de ASN é reservado pelo Azure e não pode ser usado como ASN de peer para peering privado do ExpressRoute?


Recursos adicionais