Tutorial: Ligar uma rede virtual a um circuito do ExpressRoute com Azure PowerShell
Este tutorial ajuda-o a ligar redes virtuais (VNets) a circuitos do Azure ExpressRoute com o modelo de implementação Resource Manager e o PowerShell. As redes virtuais podem estar na mesma subscrição ou parte de outra subscrição. Este tutorial também mostra como atualizar uma ligação de rede virtual.
Neste tutorial, ficará a saber como:
- Ligar uma rede virtual na mesma subscrição a um circuito
- Ligar uma rede virtual de uma subscrição diferente a um circuito
- Modificar uma ligação de rede virtual
- Configurar o ExpressRoute FastPath
Pré-requisitos
Reveja os pré-requisitos, os requisitos de encaminhamento e os fluxos de trabalho antes de começar a configuração.
Deve ter um circuito ExpressRoute ativo.
- Siga as instruções para criar um circuito do ExpressRoute e ter o circuito ativado pelo seu fornecedor de conectividade.
- Certifique-se de que tem o peering privado do Azure configurado para o circuito. Veja o artigo configurar o encaminhamento para obter instruções de encaminhamento.
- Certifique-se de que o peering privado do Azure é configurado e estabelece o peering BGP entre a sua rede e a Microsoft para conectividade ponto a ponto.
- Certifique-se de que tem uma rede virtual e um gateway de rede virtual criados e totalmente aprovisionados. Siga as instruções para criar um gateway de rede virtual para o ExpressRoute. Um gateway de rede virtual para o ExpressRoute utiliza o GatewayType "ExpressRoute" e não a VPN.
Pode ligar até 10 redes virtuais a um circuito do ExpressRoute padrão. Todas as redes virtuais têm de estar na mesma região geopolítica ao utilizar um circuito do ExpressRoute padrão.
Uma única VNet pode ser ligada a até 16 circuitos do ExpressRoute. Utilize os passos neste artigo para criar um novo objeto de ligação para cada circuito do ExpressRoute ao qual se está a ligar. Os circuitos do ExpressRoute podem estar na mesma subscrição, subscrições diferentes ou numa combinação de ambos.
Se ativar o suplemento ExpressRoute premium, pode ligar redes virtuais fora da região geopolítica do circuito do ExpressRoute. O suplemento premium também lhe permitirá ligar mais de 10 redes virtuais ao circuito do ExpressRoute, consoante a largura de banda escolhida. Consulte as FAQ para obter mais detalhes sobre o suplemento premium.
Para criar a ligação do circuito do ExpressRoute ao gateway de rede virtual do ExpressRoute de destino, o número de espaços de endereço anunciados a partir das redes virtuais locais ou em modo de peering tem de ser igual ou inferior a 200. Assim que a ligação tiver sido criada com êxito, pode adicionar mais espaços de endereços, até 1000, às redes virtuais locais ou em modo de peering.
Veja a documentação de orientação para a conectividade entre redes virtuais através do ExpressRoute.
Trabalhar com Azure PowerShell
Os passos e exemplos neste artigo utilizam Azure PowerShell módulos do Az. Para instalar os módulos do Az localmente no seu computador, consulte Instalar Azure PowerShell. Para saber mais sobre o novo módulo do Az, veja Introdução ao novo módulo Azure PowerShell Az. Os cmdlets do PowerShell são atualizados com frequência. Se não estiver a executar a versão mais recente, os valores especificados nas instruções poderão falhar. Para localizar as versões instaladas do PowerShell no seu sistema, utilize o Get-Module -ListAvailable Az
cmdlet .
Pode utilizar o Azure Cloud Shell para executar a maioria dos cmdlets do PowerShell e comandos da CLI, em vez de instalar Azure PowerShell ou a CLI localmente. O Azure Cloud Shell é uma shell interativa gratuita que tem ferramentas comuns do Azure pré-instaladas e está configurada para ser utilizada com a sua conta. Para executar qualquer código contido neste artigo no Azure Cloud Shell, abra uma sessão de Cloud Shell, utilize o botão Copiar num bloco de código para copiar o código e cole-o na sessão de Cloud Shell com Ctrl+Shift+V no Windows e Linux ou Cmd+Shift+V no macOS. O texto colado não é executado automaticamente, prima Enter para executar o código.
Existem algumas formas de iniciar o Cloud Shell:
Ligar uma rede virtual na mesma subscrição a um circuito
Pode ligar um gateway de rede virtual a um circuito do ExpressRoute com o seguinte cmdlet. Certifique-se de que o gateway de rede virtual está criado e está pronto para ser ligado antes de executar o cmdlet:
$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "MyRG" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute
Ligar uma rede virtual de uma subscrição diferente a um circuito
Pode partilhar um circuito do ExpressRoute em várias subscrições. A figura seguinte mostra um esquema simples de como funciona a partilha para circuitos do ExpressRoute em várias subscrições.
Nota
A ligação de redes virtuais entre clouds soberanas do Azure e a cloud pública do Azure não é suportada. Só pode ligar redes virtuais a partir de subscrições diferentes na mesma cloud.
Cada uma das clouds mais pequenas dentro da grande cloud é utilizada para representar subscrições que pertencem a diferentes departamentos numa organização. Cada um dos departamentos dentro da organização utiliza a sua própria subscrição para implementar os seus serviços, mas pode partilhar um único circuito do ExpressRoute para ligar novamente à sua rede no local. Um único departamento (neste exemplo: TI) pode ser o proprietário do circuito do ExpressRoute. Outras subscrições na organização podem utilizar o circuito do ExpressRoute.
Nota
Os custos de conectividade e largura de banda do circuito do ExpressRoute serão aplicados ao proprietário da subscrição. Todas as redes virtuais partilham a mesma largura de banda.
Administração – proprietários de circuitos e utilizadores de circuitos
O "proprietário do circuito" é um Power User autorizado do recurso do circuito do ExpressRoute. O proprietário do circuito pode criar autorizações que podem ser resgatadas por "utilizadores do circuito". Os utilizadores de circuitos são proprietários de gateways de rede virtual que não estão na mesma subscrição que o circuito do ExpressRoute. Os utilizadores de circuitos podem resgatar autorizações (uma autorização por rede virtual).
O proprietário do circuito tem a capacidade de modificar e revogar autorizações em qualquer altura. Revogar uma autorização faz com que todas as ligações sejam eliminadas da subscrição cujo acesso foi revogado.
Nota
O proprietário do circuito não é uma função RBAC incorporada nem é definida no recurso do ExpressRoute. A definição do 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
Isto inclui as funções incorporadas, como Contribuidor, Proprietário e Contribuidor de Rede. Descrição detalhada das diferentes funções incorporadas.
Operações de 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 para ser utilizada por um utilizador de circuito para ligar os respetivos gateways de rede virtual ao circuito do ExpressRoute. Uma autorização é válida para apenas uma ligação.
O fragmento de cmdlet seguinte 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 conterá a chave de autorização e o estado:
Name : MyAuthorization1
Id : /subscriptions/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/CrossSubTest/authorizations/MyAuthorization1
Etag : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
AuthorizationKey : ####################################
AuthorizationUseStatus : Available
ProvisioningState : Succeeded
Para rever as autorizações
O proprietário do circuito pode rever todas as autorizações emitidas num circuito específico ao executar 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 com 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 eliminar autorizações
O proprietário do circuito pode revogar/eliminar autorizações para o utilizador ao executar o seguinte cmdlet:
Remove-AzExpressRouteCircuitAuthorization -Name "MyAuthorization2" -ExpressRouteCircuit $circuit
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit
Operações de utilizador do circuito
O utilizador do circuito precisa do ID do elemento da rede e de uma chave de autorização do proprietário do circuito. A chave de autorização é um GUID.
O ID de elemento da rede pode ser verificado a partir do seguinte comando:
Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Para resgatar uma autorização de ligação
O utilizador do circuito pode executar o seguinte cmdlet para resgatar uma autorização de ligação:
$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 libertar uma autorização de ligação
Pode libertar uma autorização ao eliminar a ligação que liga o circuito do ExpressRoute à rede virtual.
Modificar uma ligação de rede virtual
Pode atualizar determinadas propriedades de uma ligação de rede virtual.
Para atualizar o peso da ligação
A sua rede virtual pode ser ligada a vários circuitos do ExpressRoute. Pode receber o mesmo prefixo de mais do que um circuito do ExpressRoute. Para escolher a ligação para enviar tráfego destinado a este prefixo, pode alterar RoutingWeight de uma ligação. O tráfego será enviado na ligação com o RoutingWeight mais elevado.
$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 o ExpressRoute FastPath
Pode ativar 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 ligações por segundo entre a rede no local e a rede virtual.
Configurar o FastPath numa nova ligaçã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"
Atualizar uma ligação existente para ativar o FastPath
$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG"
$connection.ExpressRouteGatewayBypass = $True
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection
FastPath e Private Link para ExpressRoute Direct de 100 Gbps
Com o FastPath e Private Link, Private Link tráfego enviado através do ExpressRoute ignora o gateway de rede virtual do ExpressRoute no caminho dos dados. Esta opção está Geralmente Disponível para ligações associadas a circuitos ExpressRoute Direct de 100 Gb. Para ativar esta opção, siga a documentação de orientação abaixo:
- Envie um e-mail para ERFastPathPL@microsoft.com, fornecendo as seguintes informações:
- ID de Subscrição do Azure
- ID de Recurso de Rede Virtual (VNet)
- Região do Azure onde o serviço Ponto Final Privado/Private Link é implementado
- Depois de receber uma confirmação do Passo 1, execute o seguinte comando Azure PowerShell na subscrição do Azure de destino.
Register-AzProviderFeature -FeatureName ExpressRoutePrivateEndpointGatewayBypass -ProviderNamespace Microsoft.Network
- Desative e ative o FastPath nas ligações de destino para ativar as alterações. Assim que este passo estiver concluído. O tráfego de 100 Gb Private Link através do ExpressRoute irá ignorar o Gateway de Rede Virtual do ExpressRoute no caminho dos dados.
Nota
Pode utilizar Monitor de Ligação para verificar se o tráfego está a chegar ao destino com o FastPath.
Nota
A inclusão de funcionalidades fastPath e Private Link requer tempo para ser ativada após o pedido. Pode esperar cerca de duas semanas de atraso até que o pedido seja concluído, pelo que recomendamos que planeie a sua implementação com antecedência com estas linhas cronológicas em consideração.
Inscrever-se nas funcionalidades do ExpressRoute FastPath (pré-visualização)
Peering de rede virtual do FastPath e rotas definidas pelo utilizador (UDRs).
Com o FastPath e o peering de rede virtual, pode ativar a conectividade do ExpressRoute diretamente às VMs numa rede virtual local ou em modo de peering, ignorando o gateway de rede virtual do ExpressRoute no caminho de dados.
Com o FastPath e o UDR, pode configurar um UDR na GatewaySubnet para direcionar o tráfego do ExpressRoute para uma NVA de Azure Firewall ou de terceiros. O FastPath respeitará a UDR e enviará tráfego diretamente para o Azure Firewall de destino ou NVA, ignorando o gateway de rede virtual do ExpressRoute no caminho dos dados.
Para se inscrever na pré-visualização, envie um e-mail para exrpm@microsoft.com, fornecendo as seguintes informações:
- ID de Subscrição do Azure
- ID de Recurso de Rede Virtual (VNet)
- ID de Recurso do Circuito do ExpressRoute
O suporte do FastPath para peering de rede virtual e UDRs só está disponível para ligações Do ExpressRoute Direct.
FastPath e Private Link para ExpressRoute Direct de 10 Gbps
Com o FastPath e Private Link, Private Link tráfego enviado através do ExpressRoute ignora o gateway de rede virtual do ExpressRoute no caminho dos dados. Esta pré-visualização suporta ligações associadas a circuitos expressRoute Direct de 10 Gbps. Esta pré-visualização não suporta circuitos do ExpressRoute geridos por um parceiro do ExpressRoute.
Para se inscrever nesta pré-visualização, execute o seguinte comando Azure PowerShell na subscrição do Azure de destino:
Register-AzProviderFeature -FeatureName ExpressRoutePrivateEndpointGatewayBypass -ProviderNamespace Microsoft.Network
Nota
Todas as ligações configuradas para o FastPath na subscrição de destino serão inscritas na pré-visualização selecionada. Não recomendamos que ative estas pré-visualizações em subscrições de produção. Se já tiver o FastPath configurado e quiser inscrever-se na funcionalidade de pré-visualização, tem de fazer o seguinte:
- Inscreva-se numa das funcionalidades de pré-visualização do FastPath com os comandos Azure PowerShell acima.
- Desative e, em seguida, volte a ativar o FastPath na ligação de destino.
- Para alternar entre funcionalidades de pré-visualização, registe a subscrição com o comando de pré-visualização de destino do PowerShell e, em seguida, desative e reative o FastPath na ligação.
Limpar os recursos
Se já não precisar da ligação do ExpressRoute, a partir da subscrição onde o gateway está localizado, utilize o Remove-AzVirtualNetworkGatewayConnection
comando para remover a ligação entre o gateway e o circuito.
Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"
Passos seguintes
Neste tutorial, aprendeu a ligar uma rede virtual a um circuito na mesma subscrição e numa subscrição diferente. Para obter mais informações sobre gateways do ExpressRoute, veja: Gateways de rede virtual do ExpressRoute.
Para saber como configurar filtros de rota para peering da Microsoft com o PowerShell, avance para o próximo tutorial.