Partilhar via


Conectar uma rede virtual a um circuito de Rota Expressa usando o Azure PowerShell

Este artigo ajuda você a vincular redes virtuais (VNets) aos circuitos do Azure ExpressRoute usando o modelo de implantação do Resource Manager e o PowerShell. As redes virtuais podem estar na mesma assinatura ou fazer parte de outra assinatura. Este tutorial também mostra como atualizar um link de rede virtual.

Diagrama mostrando uma rede virtual vinculada a um circuito de Rota Expressa.

Pré-requisitos

  • Revise os pré-requisitos, os requisitos de roteamento e os fluxos de trabalho antes de iniciar a configuração.

  • Deve ter um circuito ExpressRoute ativo.

    • Siga as instruções para criar um circuito de Rota Expressa e ter o circuito ativado pelo seu provedor de conectividade.
    • Certifique-se de ter o emparelhamento privado do Azure configurado para o seu circuito. Consulte o artigo configurar roteamento para obter instruções de roteamento.
    • Certifique-se de que o emparelhamento privado do Azure seja configurado e estabeleça o emparelhamento BGP entre sua rede e a Microsoft para conectividade de ponta a ponta.
    • Certifique-se de ter uma rede virtual e um gateway de rede virtual criados e totalmente provisionados. Siga as instruções para criar um gateway de rede virtual para a Rota Expressa. Um gateway de rede virtual para ExpressRoute usa o GatewayType ExpressRoute, não VPN.
  • Você pode conectar até 10 redes virtuais a um circuito de Rota Expressa padrão. Todas as redes virtuais devem estar na mesma região geopolítica ao usar um circuito de Rota Expressa padrão.

  • Uma única rede virtual pode ser ligada a até 16 circuitos ExpressRoute. Use as etapas neste artigo para criar um novo objeto de conexão para cada circuito de Rota Expressa ao qual você está se conectando. Os circuitos da Rota Expressa podem estar na mesma assinatura, em assinaturas diferentes ou em uma combinação de ambas.

  • Se você habilitar o complemento premium ExpressRoute, poderá vincular redes virtuais fora da região geopolítica do circuito ExpressRoute. O complemento premium permite que você conecte mais de 10 redes virtuais ao seu circuito ExpressRoute, dependendo da largura de banda escolhida. Consulte as FAQ para obter mais detalhes sobre o add-on premium.

  • Para criar a conexão do circuito ExpressRoute com o gateway de rede virtual ExpressRoute de destino, o número de espaços de endereço anunciados das redes virtuais locais ou emparelhadas precisa ser igual ou inferior a 200. Depois que a conexão for criada com êxito, você poderá adicionar mais espaços de endereço, até 1.000, às redes virtuais locais ou emparelhadas.

  • Reveja as orientações para a conectividade entre redes virtuais através da Rota Expressa.

Trabalhando com o Azure PowerShell

As etapas e exemplos neste artigo usam módulos Az do Azure PowerShell. Para instalar os módulos Az localmente no seu computador, consulte Instalar o Azure PowerShell. Para saber mais sobre o novo módulo Az, consulte Apresentando o novo módulo Az do Azure PowerShell. Os cmdlets do PowerShell são atualizados com frequência. Se você não estiver executando a versão mais recente, os valores especificados nas instruções podem falhar. Para localizar as versões instaladas do PowerShell em seu sistema, use o Get-Module -ListAvailable Az cmdlet.

Você pode usar o Azure Cloud Shell para executar a maioria dos cmdlets do PowerShell e comandos da CLI, em vez de instalar o Azure PowerShell ou a CLI localmente. O Azure Cloud Shell é um shell interativo gratuito que tem ferramentas comuns do Azure pré-instaladas e está configurado para ser usado com sua conta. Para executar qualquer código contido neste artigo no Azure Cloud Shell, abra uma sessão do Cloud Shell, use o botão Copiar em um bloco de código para copiar o código e cole-o na sessão do Cloud Shell com Ctrl+Shift+V no Windows e Linux ou Cmd+Shift+V no macOS. O texto colado não é executado automaticamente, pressione Enter para executar o código.

Existem algumas formas de iniciar o Cloud Shell:

Opção Ligação
Clique em Experimentar no canto superior direito de um bloco de código. Cloud Shell neste artigo
Abrir o Cloud Shell no seu browser. https://shell.azure.com/powershell
Clique no botão Cloud Shell, no menu do canto superior direito do portal do Azure. Cloud Shell no portal

Conectar uma rede virtual

Resiliência máxima (Recomendado): fornece o mais alto nível de resiliência à sua rede virtual. Ele fornece duas conexões redundantes do gateway de rede virtual para dois circuitos diferentes de Rota Expressa em locais diferentes de Rota Expressa.

Clone o script

Para criar conexões de resiliência máxima, clone o script de configuração do GitHub.

# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/ 
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/

Execute o script New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 para criar conexões de alta disponibilidade. O exemplo a seguir mostra como criar duas novas conexões para dois circuitos de Rota Expressa.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$circuit2 = Get-AzExpressRouteCircuit -Name "MyCircuit2" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name1 "ERConnection1" -Name2 "ERConnection2" -Peer1 $circuit1.Peerings[0] -Peer2 $circuit2.Peerings[0] -RoutingWeight1 10 -RoutingWeight2 10 -VirtualNetworkGateway1 $gw

Se você quiser criar uma nova conexão e usar uma existente, você pode usar o exemplo a seguir. Este exemplo cria uma nova conexão com um segundo circuito ExpressRoute e usa uma conexão existente com o primeiro circuito ExpressRoute.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = Get-AzVirtualNetworkGatewayConnection -Name "ERConnection1" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name2 "ERConnection2" -Peer2 $circuit1.Peerings[0] -RoutingWeight2 10 -VirtualNetworkGateway1 $gw -ExistingVirtualNetworkGatewayConnection $connection

Ligar uma rede virtual de uma subscrição diferente a um circuito (Connect a virtual network in a different subscription to a circuit)

Você pode compartilhar um circuito de Rota Expressa em várias assinaturas. A figura a seguir mostra um esquema simples de como o compartilhamento funciona para circuitos de Rota Expressa em várias assinaturas.

Nota

Não há suporte para a conexão de redes virtuais entre as nuvens soberanas do Azure e a nuvem pública do Azure. Você só pode vincular redes virtuais de diferentes assinaturas na mesma nuvem.

Cada uma das nuvens menores dentro da nuvem grande é usada para representar assinaturas que pertencem a diferentes departamentos dentro de uma organização. Cada um dos departamentos dentro da organização usa sua própria assinatura para implantar seus serviços, mas eles podem compartilhar um único circuito de Rota Expressa para se conectar novamente à sua rede local. Um único departamento (neste exemplo: TI) pode possuir o circuito ExpressRoute. Outras assinaturas dentro da organização podem usar o circuito ExpressRoute.

Nota

As taxas de conectividade e largura de banda para o circuito ExpressRoute serão aplicadas ao proprietário da assinatura. Todas as redes virtuais compartilham a mesma largura de banda.

Conectividade entre assinaturas

Administração - proprietários de circuitos e utilizadores de circuitos

O "proprietário do circuito" é um Utilizador Avançado autorizado do recurso de circuito ExpressRoute. O proprietário do circuito pode criar autorizações que podem ser resgatadas pelos "usuários do circuito". Os usuários do circuito são proprietários de gateways de rede virtual que não estão na mesma assinatura que o circuito da Rota Expressa. Os usuários do circuito podem resgatar autorizações (uma autorização por rede virtual).

O proprietário do circuito tem o poder de modificar e revogar autorizações a qualquer momento. A revogação de uma autorização resulta na exclusão de todas as conexões de link da assinatura cujo acesso foi revogado.

Nota

O proprietário do circuito não é uma função RBAC interna ou definida no recurso ExpressRoute. A definição de proprietário do circuito é qualquer função com o seguinte acesso:

  • Microsoft.Network/expressRouteCircuits/authorizations/write
  • Microsoft.Network/expressRouteCircuits/authorizations/read
  • Microsoft.Network/expressRouteCircuits/authorizations/delete

Isso inclui as funções internas, como Colaborador, Proprietário e Colaborador de Rede. Descrição detalhada das diferentes funções internas.

Operações do proprietário do circuito

Para criar uma autorização

O proprietário do circuito cria uma autorização, que cria uma chave de autorização a ser usada por um usuário do circuito para conectar seus gateways de rede virtual ao circuito da Rota Expressa. Uma autorização é válida para apenas uma conexão.

O trecho de cmdlet a seguir mostra como criar uma autorização:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$auth1 = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"

A resposta aos comandos anteriores contém a chave de autorização e o status:

Name                   : MyAuthorization1
Id                     : /subscriptions/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/CrossSubTest/authorizations/MyAuthorization1
Etag                   : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
AuthorizationKey       : ####################################
AuthorizationUseStatus : Available
ProvisioningState      : Succeeded

Para rever autorizações

O proprietário do circuito pode revisar todas as autorizações emitidas em um circuito específico executando o seguinte cmdlet:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Para adicionar autorizações

O proprietário do circuito pode adicionar autorizações usando o seguinte cmdlet:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization2"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Para excluir autorizações

O proprietário do circuito pode revogar/excluir autorizações para o usuário executando o seguinte cmdlet:

Remove-AzExpressRouteCircuitAuthorization -Name "MyAuthorization2" -ExpressRouteCircuit $circuit
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

Operações do utilizador do circuito

O usuário do circuito precisa do ID do par e de uma chave de autorização do proprietário do circuito. A chave de autorização é um GUID.

A ID de mesmo nível pode ser verificada a partir do seguinte comando:

Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"

Para resgatar uma autorização de conexão

O usuário do circuito pode executar o seguinte cmdlet para resgatar uma autorização de link:

$id = "/subscriptions/********************************/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/MyCircuit"    
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "RemoteResourceGroup" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $id -ConnectionType ExpressRoute -AuthorizationKey "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

Para liberar uma autorização de conexão

Você pode liberar uma autorização excluindo a conexão que vincula o circuito ExpressRoute à rede virtual.

Modificar uma conexão de rede virtual

Você pode atualizar determinadas propriedades de uma conexão de rede virtual.

Para atualizar o peso da conexão

Sua rede virtual pode ser conectada a vários circuitos de Rota Expressa. Você pode receber o mesmo prefixo de mais de um circuito ExpressRoute. Para escolher qual conexão enviar tráfego destinado a esse prefixo, você pode alterar RoutingWeight de uma conexão. O tráfego é enviado na conexão com o maior RoutingWeight.

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyVirtualNetworkConnection" -ResourceGroupName "MyRG"
$connection.RoutingWeight = 100
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

O intervalo de RoutingWeight é de 0 a 32000. O valor predefinido é 0.

Configurar ExpressRoute FastPath

Você pode habilitar o ExpressRoute FastPath se o gateway de rede virtual for Ultra Performance ou ErGw3AZ. O FastPath melhora o desempenho do caminho de dados, como pacotes por segundo e conexões por segundo entre a rede local e a rede virtual.

Configurar o FastPath em uma nova conexão

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG" 
$gw = Get-AzVirtualNetworkGateway -Name "MyGateway" -ResourceGroupName "MyRG" 
$connection = New-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" -ExpressRouteGatewayBypass -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute -Location "MyLocation" 

Atualizando uma conexão existente para habilitar o FastPath

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" 
$connection.ExpressRouteGatewayBypass = $True
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Com o emparelhamento de rede virtual e o suporte a UDR, o FastPath enviará tráfego diretamente para VMs implantadas em redes virtuais "faladas" (conectadas via emparelhamento de rede virtual) e honrará quaisquer UDRs configuradas na GatewaySubnet. Esta capacidade está agora disponível em geral (GA).

Com o FastPath e o Private Link, o tráfego de Link Privado enviado pela Rota Expressa ignora o gateway de rede virtual da Rota Expressa no caminho de dados. Com ambos os recursos habilitados, o FastPath enviará tráfego diretamente para um ponto de extremidade privado implantado em uma rede virtual "falada".

Esses cenários estão geralmente disponíveis para cenários limitados com conexões associadas a circuitos ExpressRoute Direct de 10 Gbps e 100 Gbps. Para habilitar, siga as orientações abaixo:

  1. Preencha este formulário da Microsoft para solicitar a inscrição da sua assinatura. As solicitações podem levar até 4 semanas para serem concluídas, portanto, planeje as implantações de acordo.
  2. Depois de receber uma confirmação da Etapa 1, execute o seguinte comando do Azure PowerShell na assinatura do Azure de destino.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Nota

Você pode usar o Monitor de Conexão para verificar se o tráfego está chegando ao destino usando o FastPath.

Nota

A habilitação do suporte ao FastPath Private Link para cenários de GA limitados pode levar mais de 4 semanas para ser concluída. Planeie a(s) sua(s) implementação(ões) com antecedência.

O suporte do FastPath para emparelhamento de rede virtual e UDRs só está disponível para conexões ExpressRoute Direct.

Nota

Se você já tiver o FastPath configurado e quiser se inscrever nos recursos limitados do GA, precisará fazer o seguinte:

  1. Inscreva-se em um dos recursos do FastPath com os comandos do Azure PowerShell.
  2. Desative e reative o FastPath na conexão de destino.
  3. Para alternar entre o recurso GA limitado, registre a assinatura com o comando PowerShell de visualização de destino e, em seguida, desabilite e reative o FastPath na conexão.

Clean up resources (Limpar recursos)

Se você não precisar mais da conexão ExpressRoute, da assinatura onde o gateway está localizado, use o Remove-AzVirtualNetworkGatewayConnection comando para remover o link entre o gateway e o circuito.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Próximos passos

Neste tutorial, você aprendeu como conectar uma rede virtual a um circuito na mesma assinatura e em uma assinatura diferente. Para obter mais informações sobre gateways de Rota Expressa, consulte: Gateways de rede virtual de Rota Expressa.

Para saber como configurar, rotear filtros para emparelhamento da Microsoft usando o PowerShell, avance para o próximo tutorial.