Usar o Link Privado na WAN Virtual
O Link Privado do Azure é uma tecnologia que permite que você conecte as ofertas de plataforma como serviço do Azure usando a conectividade de endereço IP privado expondo Pontos de Extremidade Privados. Com a WAN Virtual do Azure, você pode implantar um ponto de extremidade privado em uma das redes virtuais conectadas a qualquer hub virtual. Esse link privado fornece conectividade com qualquer outra rede virtual ou branch conectada à mesma WAN Virtual.
Antes de começar
As etapas neste artigo pressupõem que você tenha implantado uma WAN Virtual com um ou mais hubs, bem como pelo menos duas redes virtuais conectadas à WAN Virtual.
Para criar uma nova WAN virtual e um novo hub, siga as etapas nos artigos a seguir:
Considerações de roteamento com Link Privado na WAN Virtual
A conectividade de ponto de extremidade privado no Azure está com estado. Quando uma conexão com um ponto de extremidade privado é estabelecida por meio da WAN Virtual, o tráfego é roteado por meio de um ou mais saltos de tráfego por meio de diferentes componentes da WAN Virtual (por exemplo, roteador do Hub Virtual, Gateway do ExpressRoute, Gateway de VPN, Firewall do Azure ou NVA). O tráfego exato de saltos é baseado nas configurações de roteamento da WAN Virtual. Nos bastidores, a camada de rede definida pelo software do Azure envia todos os pacotes relacionados a um único fluxo de 5 tuplas para uma das instâncias de back-end que atendem a diferentes componentes da WAN Virtual. O tráfego roteado assimetricamente (por exemplo, o tráfego correspondente a um único fluxo de 5 tuplas roteado para diferentes instâncias de back-end) não tem suporte e é descartado pela plataforma do Azure.
Durante eventos de manutenção na infraestrutura de WAN Virtual, as instâncias de back-end são reinicializadas uma de cada vez, o que pode levar a problemas de conectividade intermitentes com o Ponto de Extremidade Privado, pois a instância que atende o fluxo fica temporariamente indisponível. Um problema semelhante pode ocorrer quando o Firewall do Azure ou o roteador de hub virtual é expandido. O mesmo fluxo de tráfego pode ser balanceado por carga para uma nova instância de back-end diferente da instância que atualmente atende ao fluxo.
Para atenuar o impacto dos eventos de manutenção e expansão no Link Privado ou no Tráfego de Ponto de Extremidade Privado, considere as seguintes práticas recomendadas:
- Configure o valor de tempo limite TCP do aplicativo local para ficar entre 15 e 30 segundos. Um valor de tempo limite TCP menor permitirá que o tráfego do aplicativo se recupere mais rapidamente de eventos de manutenção e expansão. Como alternativa, teste diferentes valores de tempo limite do aplicativo para determinar um tempo limite adequado com base em seus requisitos.
- Pré-dimensione componentes de WAN Virtual para lidar com intermitências de tráfego e impedir que eventos de dimensionamento automático ocorram. Para o roteador do Hub Virtual, você pode definir as unidades mínimas de infraestrutura de roteamento no roteador do hub para evitar o dimensionamento durante as intermitências de tráfego.
Por fim, se você estiver usando a conectividade local entre o Azure e o local usando VPN ou ExpressRoute, verifique se o dispositivo local está configurado para usar o mesmo túnel VPN ou o mesmo roteador do Microsoft Enterprise Edge que o próximo salto para cada 5 tuplas correspondentes ao tráfego de ponto de extremidade privado.
Criar um ponto de extremidade de link privado
Você pode criar um ponto de extremidade de link privado para vários serviços diferentes. Neste exemplo, usaremos o Banco de Dados SQL do Azure. Você pode encontrar mais informações sobre como criar um ponto de extremidade privado para um Banco de Dados SQL do Azure no Início rápido: criar um ponto de extremidade privado usando o portal do Azure. A seguinte imagem mostra a configuração de rede do Banco de Dados SQL do Azure:
Depois de criar o Banco de Dados SQL do Azure, você pode verificar se o endereço IP do ponto de extremidade privado está navegando pelos pontos de extremidades particulares:
Ao clicar no ponto de extremidade privado que criamos, você verá o endereço IP privado, bem como o FQDN (nome de domínio totalmente qualificado). O ponto de extremidade privado deve ter um endereço IP no intervalo da VNet (10.1.3.0/24):
Verificar a conectividade da mesma VNet
Neste exemplo, verificaremos a conectividade com o Banco de Dados SQL do Azure de uma máquina virtual Linux com ferramentas MS SQL instaladas. A primeira etapa é verificar se a resolução de DNS funciona e o nome de domínio totalmente qualificado do Banco de Dados SQL do Azure é resolvido para um endereço IP privado na mesma VNet em que o ponto de extremidade privado foi implantado (10.1.3.0/24):
nslookup wantest.database.windows.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
wantest.database.windows.net canonical name = wantest.privatelink.database.windows.net.
Name: wantest.privatelink.database.windows.net
Address: 10.1.3.228
Como você pode ver na saída anterior, o FQDN wantest.database.windows.net
é mapeado para wantest.privatelink.database.windows.net
, que a zona DNS privado criada ao longo do ponto de extremidade privado será resolvida para o endereço IP privado 10.1.3.228
. Examinar a zona DNS privada confirmará que há um registro A para o ponto de extremidade privado mapeado para o endereço IP privado:
Depois de verificar a resolução DNS correta, podemos tentar nos conectar ao banco de dados:
query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.3.75
Como você pode ver, estamos usando uma consulta SQL especial que nos fornece o endereço IP de origem que o SQL Server vê do cliente. Nesse caso, o servidor vê o cliente com seu IP privado (10.1.3.75
), o que significa que o tráfego vai da VNet diretamente para o ponto de extremidade privado.
Defina as variáveis username
e password
para corresponder às credenciais definidas no Banco de Dados SQL do Azure para fazer com que os exemplos neste guia funcionem.
Conectar-se de uma VNet diferente
Agora que uma VNet na WAN Virtual do Azure tem conectividade com o ponto de extremidade privado, todas as outras VNets e branches conectados à WAN virtual também podem ter acesso a ela. Você precisa fornecer conectividade por meio de qualquer um dos modelos com suporte pela WAN Virtual do Azure, como o cenário de Qualquer para qualquer ou o cenário de VNet de Serviços Compartilhados, para dar dois exemplos.
Depois de ter conectividade entre a VNet ou o branch para a VNet em que o ponto de extremidade privado foi implantado, você precisa configurar a resolução DNS:
- Se estiver se conectando ao ponto de extremidade privado de uma VNet, você poderá usar a mesma zona privada criada com o Banco de Dados SQL do Azure.
- Se estiver se conectando ao ponto de extremidade privado de um branch (VPN site a site, VPN ponto a site ou ExpressRoute), você precisará usar a resolução de DNS local.
Neste exemplo, estamos nos conectando de uma VNet diferente. Primeiro anexaremos a zona DNS privada à nova VNet para que as cargas de trabalho possam resolver o nome de domínio totalmente qualificado do Banco de Dados SQL do Azure para o endereço IP privado. Isso é feito por meio da vinculação da zona DNS privado à nova VNet:
Agora, qualquer máquina virtual na VNet anexada deve resolver corretamente o FQDN do Banco de Dados SQL do Azure para o endereço IP privado do link privado:
nslookup wantest.database.windows.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
wantest.database.windows.net canonical name = wantest.privatelink.database.windows.net.
Name: wantest.privatelink.database.windows.net
Address: 10.1.3.228
Para verificar se essa VNet (10.1.1.0/24) tem conectividade com a VNet original em que o ponto de extremidade privado foi configurado (10.1.3.0/24), você pode verificar a tabela de rotas em vigor em qualquer máquina virtual na VNet:
Como você pode ver, há uma rota apontando para a VNet 10.1.3.0/24 injetada pelos gateways de rede virtual na WAN Virtual do Azure. Agora, podemos finalmente testar a conectividade com o banco de dados:
query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.1.75
Neste exemplo, vimos como a criação de um ponto de extremidade privado em uma das VNets anexadas a uma WAN Virtual fornece conectividade ao restante das VNets e ramificações na WAN Virtual.
Próximas etapas
Para obter mais informações sobre a WAN Virtual, veja as Perguntas frequentes.