Ligar redes virtuais a partir de modelos de implementação diferentes com o PowerShell

Este artigo ajuda-o a ligar VNets clássicos a VNets do Gestor de Recursos para permitir que os recursos localizados nos modelos de implementação separados se comuniquem entre si. Os passos deste artigo utilizam o PowerShell, mas também pode criar esta configuração utilizando o portal Azure selecionando o artigo desta lista.

Ligar um VNet clássico a um VNet do Gestor de Recursos é semelhante à ligação de um VNet a uma localização no local. Ambos os tipos de conetividade utilizam um gateway de VPN para fornecer um túnel seguro através de IPsec/IKE. Pode criar uma ligação entre VNets que estão em diferentes subscrições e em diferentes regiões. Também pode ligar VNets que já têm ligações a redes no local, desde que o gateway com o qual tenham sido configurados seja dinâmico ou baseado em rotas. Para obter mais informações sobre ligações de VNet a VNet, consulte FAQ sobre VNet para VNet no final deste artigo.

Se ainda não tiver um gateway de rede virtual e não quiser criar um, talvez queira considerar ligar os seus VNets utilizando o VNet Peering. O VNet peering não utiliza um gateway de VPN. Para obter mais informações, veja VNet peering.

Antes de começar

Os passos seguintes acompanham-no através das definições necessárias para configurar um gateway dinâmico ou baseado em rotas para cada VNet e criar uma ligação VPN entre os gateways. Esta configuração não suporta gateways estáticos ou baseados em políticas.

Pré-requisitos

  • Ambos os VNets já foram criados. Se precisar de criar uma rede virtual de gestor de recursos, consulte criar um grupo de recursos e uma rede virtual. Para criar uma rede virtual clássica, consulte Criar um VNet clássico.
  • Os intervalos de endereços para os VNets não se sobrepõem entre si, nem se sobrepõem a qualquer uma das gamas para outras ligações a que os gateways podem estar ligados.
  • Instalou os mais recentes cmdlets PowerShell. Veja como instalar e configurar a Azure PowerShell para obter mais informações. Certifique-se de que instala tanto os cmdlets de Gestão de Serviços (SM) como os cmdlets do Gestor de Recursos (RM).

Definições de exemplo

Pode utilizar estes valores para criar um ambiente de teste ou consultá-los para compreender melhor os exemplos neste artigo.

Definições clássicas do VNet

Nome VNet = ClassicVNet
Localização = Eua Ocidental
Espaços de Endereço de Rede Virtual = 10.0.0.0/24
Sub-rede-1 = 10.0.0.0/27
GatewaySubnet = 10.0.0.32/29
Nome da rede local = RMVNetLocal
GatewayType = Dinamagem dinâmica

Definições VNet do Gestor de Recursos

VNet Name = RMVNet
Grupo de Recursos = RG1
Espaços de endereço IP de rede virtual = 192.168.0.0/16
Sub-rede-1 = 192.168.1.0/24
GatewaySubnet = 192.168.0.0/26
Localização = Leste dos EUA
Gateway nome IP público = gwpip
Gateway de rede local = ClassicVNetLocal
Nome de Gateway de rede virtual = RMGateway
Gateway IP configuração de endereçamento = gwipconfig

Secção 1 - Configurar o clássico VNet

1. Descarregue o seu ficheiro de configuração de rede

  1. Faça login na sua conta Azure na consola PowerShell com direitos elevados. O cmdlet seguinte solicita-lhe as credenciais de login da sua Conta Azure. Após iniciar sessão, são transferidas as definições da conta para que fiquem disponíveis para o Azure PowerShell. Nesta secção são utilizados os cmdlets Azure PowerShell (Gestão de Serviços clássicos).

    Add-AzureAccount
    

    Obtenha a sua assinatura Azure.

    Get-AzureSubscription
    

    Se tiver mais do que uma subscrição, selecione a subscrição que pretende utilizar.

    Select-AzureSubscription -SubscriptionName "Name of subscription"
    
  2. Exporte o seu ficheiro de configuração da rede Azure executando o seguinte comando. Pode alterar a localização do ficheiro para exportar para um local diferente, se necessário.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  3. Abra o ficheiro .xml que descarregou para editá-lo. Para um exemplo do ficheiro de configuração da rede, consulte o Esquema de Configuração da Rede.

2. Verificar a sub-rede gateway

No elemento VirtualNetworkSites, adicione uma sub-rede de gateway ao seu VNet se ainda não tiver sido criada uma. Ao trabalhar com o ficheiro de configuração da rede, a sub-rede gateway DEVE ser denominada "GatewaySubnet" ou Azure não pode reconhecê-lo e usá-lo como sub-rede de gateway.

Importante

Ao trabalhar com sub-redes de gateway, evite associar um grupo de segurança de rede (NSG) à sub-rede do gateway. Associar um grupo de segurança de rede a esta sub-rede pode fazer com que o seu gateway de rede virtual (gateways VPN e Rota Expresso) deixe de funcionar como esperado. Para obter mais informações sobre grupos de segurança de rede, veja o que é um grupo de segurança de rede?

Exemplo:

<VirtualNetworkSites>
  <VirtualNetworkSite name="ClassicVNet" Location="West US">
    <AddressSpace>
      <AddressPrefix>10.0.0.0/24</AddressPrefix>
    </AddressSpace>
    <Subnets>
      <Subnet name="Subnet-1">
        <AddressPrefix>10.0.0.0/27</AddressPrefix>
      </Subnet>
      <Subnet name="GatewaySubnet">
        <AddressPrefix>10.0.0.32/29</AddressPrefix>
      </Subnet>
    </Subnets>
  </VirtualNetworkSite>
</VirtualNetworkSites>

3. Adicione o site da rede local

O site de rede local que adiciona representa o RM VNet ao qual pretende ligar. Adicione um elemento LocalNetworkSites ao ficheiro se já não existir. Neste ponto da configuração, o VPNGatewayAddress pode ser qualquer endereço IP público válido porque ainda não criámos o portal para o Gestor de Recursos VNet. Assim que criarmos o gateway, substituímos este endereço IP do espaço reservado pelo endereço IP público correto que foi atribuído ao gateway RM.

<LocalNetworkSites>
  <LocalNetworkSite name="RMVNetLocal">
    <AddressSpace>
      <AddressPrefix>192.168.0.0/16</AddressPrefix>
    </AddressSpace>
    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
  </LocalNetworkSite>
</LocalNetworkSites>

4. Associe o VNet ao site de rede local

Nesta secção, especificamos o site de rede local a que pretende ligar o VNet. Neste caso, é o Gestor de Recursos VNet que referiu anteriormente. Certifique-se de que os nomes coincidem. Este passo não cria uma porta de entrada. Especifica a rede local a que o portal se ligará.

<Gateway>
  <ConnectionsToLocalNetwork>
    <LocalNetworkSiteRef name="RMVNetLocal">
      <Connection type="IPsec" />
    </LocalNetworkSiteRef>
  </ConnectionsToLocalNetwork>
</Gateway>

5. Guarde o ficheiro e faça o upload

Guarde o ficheiro e, em seguida, importe-o para Azure executando o seguinte comando. Certifique-se de que altera o caminho do ficheiro conforme necessário para o seu ambiente.

Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml

Verá um resultado semelhante mostrando que a importação foi bem sucedida.

OperationDescription        OperationId                      OperationStatus                                                
--------------------        -----------                      ---------------                                                
Set-AzureVNetConfig        e0ee6e66-9167-cfa7-a746-7casb9    Succeeded 

6. Criar o portal

Antes de executar este exemplo, consulte o ficheiro de configuração da rede que descarregou para obter os nomes exatos que a Azure espera ver. O ficheiro de configuração da rede contém os valores das suas redes virtuais clássicas. Por vezes, os nomes dos VNets clássicos são alterados no ficheiro de configuração da rede ao criar definições clássicas de VNet no portal Azure devido às diferenças nos modelos de implementação. Por exemplo, se usou o portal Azure para criar um VNet clássico chamado 'Classic VNet' e o criou num grupo de recursos chamado 'ClassicRG', o nome que está contido no ficheiro de configuração da rede é convertido para 'Group ClassicRG Classic VNet'. Ao especificar o nome de um VNet que contenha espaços, utilize aspas em torno do valor.

Utilize o seguinte exemplo para criar um gateway de encaminhamento dinâmico:

New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting

Pode verificar o estado do gateway utilizando o cmdlet Get-AzureVNetGateway.

Secção 2 - Configurar o gateway RM VNet

Os pré-requisitos pressupõem que já criou um RM VNet. Neste passo, cria-se uma porta de entrada VPN para o RM VNet. Não inicie estes passos até ter recuperado o endereço IP público para o gateway clássico do VNet.

  1. Inscreva-se na sua conta Azure na consola PowerShell. O cmdlet seguinte solicita-lhe as credenciais de login da sua Conta Azure. Depois de iniciar sessão, as definições da sua conta são descarregadas para que estejam disponíveis para a Azure PowerShell. Pode utilizar opcionalmente a função "Try It" para lançar o Azure Cloud Shell no navegador.

    Se utilizar a Azure Cloud Shell, ignore o seguinte cmdlet:

    Connect-AzAccount
    

    Para verificar se está a utilizar a subscrição certa, execute o seguinte cmdlet:

    Get-AzSubscription
    

    Se tiver mais de uma subscrição, especifique a subscrição que pretende utilizar.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Crie um gateway de rede local. Numa rede virtual, o gateway de rede local refere-se normalmente à sua localização no local. Neste caso, o portal de rede local refere-se ao seu VNet Clássico. Dê-lhe um nome pelo qual Azure pode se referir a ele, e também especificar o prefixo do espaço de endereço. O Azure utiliza o prefixo do endereço IP que especificar para identificar o tráfego a enviar para a sua localização no local. Se precisar de ajustar a informação aqui mais tarde, antes de criar o seu gateway, pode modificar os valores e executar novamente a amostra.

    -O nome é o nome que pretende atribuir para se referir ao portal de rede local.
    -AddressPrefix é o Espaço de Endereço para o seu VNet clássico.
    -GatewayIpAddress é o endereço IP público do gateway clássico da VNet. Certifique-se de alterar o seguinte texto de amostra "n.n.n.n" para refletir o endereço IP correto.

    New-AzLocalNetworkGateway -Name ClassicVNetLocal `
    -Location "West US" -AddressPrefix "10.0.0.0/24" `
    -GatewayIpAddress "n.n.n.n" -ResourceGroupName RG1
    
  3. Solicite um endereço IP público a ser alocado à porta de entrada de rede virtual para o VNet do Gestor de Recursos. Não é possível especificar o endereço IP que pretende utilizar. O endereço IP é dinamicamente atribuído ao gateway de rede virtual. No entanto, não significa que o endereço IP é alterado. A única vez que o endereço IP do gateway de rede virtual muda é quando o gateway é eliminado e recriado. Não muda através do redimensionamento, reposição ou outras manutenção/atualizações internas do gateway.

    Neste passo, também definimos uma variável que é usada num passo posterior.

    $ipaddress = New-AzPublicIpAddress -Name gwpip `
    -ResourceGroupName RG1 -Location 'EastUS' `
    -AllocationMethod Dynamic
    
  4. Verifique se a sua rede virtual tem uma sub-rede de gateway. Se não existir uma sub-rede de gateway, adicione uma. Certifique-se de que a sub-rede gateway se chama GatewaySubnet.

  5. Recupere a sub-rede utilizada para o portal executando o seguinte comando. Neste passo, também definimos uma variável a ser usada no passo seguinte.

    -Nome é o nome do seu Gestor de Recursos VNet.
    -ResourceGroupName é o grupo de recursos a que o VNet está associado. A sub-rede gateway já deve existir para este VNet e deve ser denominada GatewaySubnet para funcionar corretamente.

    $subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet `
    -VirtualNetwork (Get-AzVirtualNetwork -Name RMVNet -ResourceGroupName RG1)
    
  6. Crie a configuração de endereço IP gateway. A configuração do gateway define a sub-rede e o endereço IP público a utilizar. Utilize o exemplo seguinte para criar a configuração do gateway.

    Neste passo, os parâmetros -SubnetId e -PublicIpAddressId devem ser passados a propriedade de id a partir da sub-rede e objetos de endereço IP, respectivamente. Não pode usar uma corda simples. Estas variáveis são definidas no passo para solicitar um PI público e o passo para recuperar a sub-rede.

    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig `
    -Name gwipconfig -SubnetId $subnet.id `
    -PublicIpAddressId $ipaddress.id
    
  7. Crie o gateway de rede virtual do Gestor de Recursos executando o seguinte comando. O -VpnType deve ser RouteBased. Pode levar 45 minutos ou mais para a porta de entrada criar.

    New-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RG1 `
    -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn `
    -IpConfigurations $gwipconfig `
    -EnableBgp $false -VpnType RouteBased
    
  8. Copie o endereço IP público assim que o gateway VPN tiver sido criado. Utilize-o quando configurar as definições de rede locais para o seu VNet Clássico. Pode utilizar o cmdlet seguinte para recuperar o endereço IP público. O endereço IP público está listado na devolução como IpAddress.

    Get-AzPublicIpAddress -Name gwpip -ResourceGroupName RG1
    

Secção 3 - Modificar as configurações clássicas do site local da VNet

Nesta secção, trabalha com o clássico VNet. Substitua o endereço IP do espaço reservado que utilizou ao especificar as definições do site local que serão usadas para ligar ao gateway VNet do Gestor de Recursos. Como está a trabalhar com o VNet clássico, use o PowerShell instalado localmente no seu computador, não com o Azure Cloud Shell TryIt.

  1. Exporte o ficheiro de configuração da rede.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  2. Utilizando um editor de texto, modifique o valor para VPNGatewayAddress. Substitua o endereço IP do espaço reservado pelo endereço IP público do gateway do Gestor de Recursos e, em seguida, guarde as alterações.

    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
    
  3. Importe o ficheiro de configuração de rede modificado para o Azure.

    Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
    

Secção 4 - Criar uma ligação entre os gateways

Criar uma ligação entre os gateways requer PowerShell. Poderá ter de adicionar a sua Conta Azure para utilizar a versão clássica dos cmdlets PowerShell. Para tal, utilize o Add-AzureAccount.

  1. Na consola PowerShell, desaça a sua chave partilhada. Antes de executar os cmdlets, consulte o ficheiro de configuração de rede que descarregou para obter os nomes exatos que a Azure espera ver. Ao especificar o nome de um VNet que contenha espaços, utilize aspas únicas em torno do valor.

    Em exemplo, -VNetName é o nome do clássico VNet e -LocalNetworkSiteName é o nome especificado para o site da rede local. O -SharedKey é um valor que gera e especifica. No exemplo, usamos 'abc123', mas pode gerar e usar algo mais complexo. O importante é que o valor que especifica aqui deve ser o mesmo valor que especifica no passo seguinte quando criar a sua ligação. O retorno deve mostrar Status: Bem sucedido.

    Set-AzureVNetGatewayKey -VNetName ClassicVNet `
    -LocalNetworkSiteName RMVNetLocal -SharedKey abc123
    
  2. Criar a ligação VPN executando os seguintes comandos:

    Defina as variáveis.

    $vnet01gateway = Get-AzLocalNetworkGateway -Name ClassicVNetLocal -ResourceGroupName RG1
    $vnet02gateway = Get-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RG1
    

    Crie a ligação. Note que o -ConnectionType é IPsec, não Vnet2Vnet.

    New-AzVirtualNetworkGatewayConnection -Name RM-Classic -ResourceGroupName RG1 `
    -Location "East US" -VirtualNetworkGateway1 `
    $vnet02gateway -LocalNetworkGateway2 `
    $vnet01gateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
    

Secção 5 - Verificar as suas ligações

Para verificar a ligação do seu VNet clássico ao seu Gestor de Recursos VNet

PowerShell

Pode verificar se a sua ligação foi bem sucedida utilizando o cmdlet 'Get-AzureVNetConnection'.

  1. Utilize o seguinte exemplo de cmdlet, configurando os valores para corresponder aos seus. O nome da rede virtual deve estar em aspas se contiver espaços.

    Get-AzureVNetConnection "Group ClassicRG TestVNet1"
    
  2. Quando o cmdlet terminar, veja os valores. No exemplo abaixo, o Estado de Conectividade mostra-se como 'Conectado' e pode ver ingresss e bytes de saída.

    ConnectivityState         : Connected
    EgressBytesTransferred    : 181664
    IngressBytesTransferred   : 182080
    LastConnectionEstablished : 10/19/22020 12:40:54 AM
    LastEventID               : 24401
    LastEventMessage          : The connectivity state for the local network site 'F7F7BFC7_SiteVNet4' changed from Connecting to
                                Connected.
    LastEventTimeStamp        : 10/19/2020 12:40:54 AM
    LocalNetworkSiteName      : F7F7BFC7_SiteVNet4
    

Portal do Azure

No portal do Azure, pode ver o estado da ligação de um Gateway de VPN de VNet clássica ao navegar para essa ligação. Os passos seguintes mostram uma forma de navegar para a ligação e realizar uma verificação.

  1. No portal Azure,clique em Todos os recursos e navegue para a sua rede virtual clássica (VNet).

  2. Na página de rede virtual, selecione o tipo de ligação que pretende ver. Por exemplo, ligações site-to-site.

    Site local

  3. Na página de ligações Site-to-site, em Nome, selecione a ligação do site que pretende visualizar.

    Nome do site local

  4. Na página Propriedades, consulte as informações sobre a ligação.

Para verificar a ligação do seu Gestor de Recursos VNet ao seu VNet clássico

PowerShell

Pode verificar se a sua ligação foi bem sucedida utilizando o cmdlet 'Get-AzVirtualNetworkGatewayConnection', com ou sem 'Debug'.

  1. Utilize o seguinte exemplo de cmdlet, configurando os valores para corresponder aos seus. Se lhe for pedido, selecione "A" para executar "Todos". No exemplo, '--name' refere-se ao nome da ligação que pretende testar.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. Quando o cmdlet terminar, veja os valores. No exemplo abaixo, o estado da ligação é apresentado como "Ligado" e pode ver bytes de entrada e de saída.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Portal do Azure

No portal do Azure, pode ver o estado da ligação de um Gateway de VPN do Resource Manager ao navegar para essa ligação. Os passos seguintes mostram uma forma de navegar para a ligação e realizar uma verificação.

  1. No portal Azure,clique em Todos os recursos e navegue até ao seu gateway de rede virtual.

  2. No painel do gateway de rede virtual, clique em Ligações. Pode ver o estado de cada ligação.

    Ver ligações

  3. Clique no nome da ligação que pretende verificar. No Essencial, pode ver mais informações sobre a sua ligação. Os valores de Estado são 'Bem sucedidos' e 'Conectados' quando tiver feito uma ligação bem sucedida.

    Verificar ligações

FAQ da ligação VNet a VNet

O VNet-to-VNet FAQ aplica-se às ligações de gateway VPN. Para obter informações sobre o espremiamento da VNet, consulte a rede virtual a espreitar.

O Azure cobra o tráfego entre VNets?

O tráfego VNet-vNet dentro da mesma região é gratuito para ambas as direções quando utiliza uma ligação de gateway VPN. O tráfego de saída da VNet-to-VNet é cobrado com as taxas de transferência de dados inter-VNet de saída com base nas regiões de origem. Para obter mais informações, consulte a página de preços da VPN Gateway. Se estiver a ligar os seus VNets utilizando o espremiamento VNet em vez de uma porta de entrada VPN, consulte os preços da rede virtual.

O tráfego VNet-to-VNet viaja pela internet?

N.º O tráfego VNet-to-VNet atravessa a espinha dorsal do Microsoft Azure, não a internet.

Posso estabelecer uma ligação VNet-para-VNet através dos inquilinos do Azure Ative Directory (AAD)?

Sim, as ligações VNet-to-VNet que utilizam gateways Azure VPN funcionam em inquilinos da AAD.

O tráfego VNet a VNet é seguro?

Sim, está protegido pela encriptação IPsec/IKE.

Preciso de um dispositivo VPN para ligar VNets?

N.º A ligação de várias redes virtuais do Azure em conjunto não precisa de um dispositivo VPN, a menos que precise de conectividade em vários locais.

As minhas VNets precisam de estar na mesma região?

N.º As redes virtuais podem estar nas mesmas regiões ou em regiões (localizações) diferentes do Azure.

Se os VNets não estiverem na mesma subscrição, as subscrições precisam de ser associadas ao mesmo inquilino ative directory?

N.º

Posso utilizar VNet a VNet para ligar redes virtuais em instâncias do Azure separadas?

N.º A VNet a VNet suporta a ligação de redes virtuais na mesma instância do Azure. Por exemplo, não é possível criar uma ligação entre os casos globais do Azure e do governo chinês/alemão/americano Azure. Considere utilizar uma ligação VPN site-to-site para estes cenários.

Pode utilizar a VNet a VNet juntamente com ligações de vários locais?

Sim. A conectividade de rede virtual pode ser utilizada em simultâneo com VPNs de vários locais.

A quantos sites no local e redes virtuais pode uma rede virtual ligar?

Consulte a tabela de requisitos gateway.

Posso utilizar a VNet a VNet para ligar VMs ou serviços cloud fora de uma VNet?

N.º A VNet a VNet suporta a ligação de redes virtuais. Não suporta a ligação de máquinas virtuais ou serviços em nuvem que não estejam numa rede virtual.

Um serviço de nuvem ou um ponto final de equilíbrio de carga VNets?

N.º Um serviço de nuvem ou um ponto final de equilíbrio de carga não pode abranger redes virtuais, mesmo que estejam ligados entre si.

Posso utilizar um tipo VPN baseado em políticas para ligações VNet-to-VNet ou multi-site?

N.º As ligações VNet-to-VNet e Multi-Site requerem gateways VPN Azure com tipos de VPN RouteBased (anteriormente chamados de encaminhamento dinâmico).

Posso ligar uma VNet com um Tipo de VPN RouteBased a outra VNet com um tipo de VPN PolicyBased?

Não, ambas as redes virtuais DEVEM utilizar VPNs baseados em rotas (anteriormente chamados de encaminhamento dinâmico).

Os túneis VPN partilham a largura de banda?

Sim. Todos os túneis VPN da rede virtual partilham a largura de banda disponível no gateway de VPN do Azure e o mesmo SLA do tempo de atividade do gateway de VPN no Azure.

Os túneis redundantes são suportados?

Os túneis redundantes entre um par de redes virtuais são suportados quando um gateway de rede virtual está configurado como ativo-ativo.

Pode ter espaços de endereços sobrepostos para configurações de VNet a VNet?

N.º Não pode ter intervalos de endereços IP sobrepostos.

Pode existir uma sobreposição de espaços de endereços entre as redes virtuais ligadas e os sites locais no local?

N.º Não pode ter intervalos de endereços IP sobrepostos.