Vnet Peering: Conectando Rede Virtuais no Azure
Não importa o quanto você esteja familiarizado com soluções de TI atuais, sempre haverá mais e mais para aprender… ou inventar. Isso é fascinante!
Recentemente, me deparei com o desafio de montar um ambiente de homologação de uma aplicação que garantisse a comunicação de rede entre duas Virtual Networks (Vnets), localizadas em regiões diferentes do Azure.
Meu primeiro plano seria criar um Gateway VPN e um túnel de comunicação via VPN mesmo. Eu já conhecia o recurso de emparelhamento (peering) de redes virtuais. O problema é que esta solução, só funciona se as redes virtuais estiverem provisionadas na mesma região do Azure. Neste caso o cenário era outro.
Eu ainda não sabia que já existe o recurso de emparelhamento global, mas agora eu sei e vou ensinar aqui o passo a passo.
Já é possível conectar redes virtuais em regiões diferentes sem a necessidade de provisionar recursos adicionais de VPN, ou seja, sem necessidade de aumentar os custos.
Esta tecnologia pode ser utilizada para implementar uma topologia de hub-spoke no Azure. O hub funciona como uma rede virtual e um ponto de entrada no ambiente cloud. Já os spokes são redes virtuais diferentes que se emparelham com o hub e podem segmentar e isolar workloads.
Benefícios
Alguns pontos devem ser observados no emparelhamento de redes virtuais, sejam elas locais ou globais:
- Todo o tráfego entre as redes emparelhadas é privado;
- Entre as redes emparelhadas, a largura de banda é alta e a latência é muito baixa;
- É possível conectar redes virtuais emparelhadas na mesma região, a latência é equivalente a uma conexão de rede local;
- Quando duas redes virtuais são emparelhadas na mesma região, a latência é equivalente a uma conexão de rede local;
- O emparelhamento tem um desempenho superior a uma conexão de VPN;
- Não há resolução de nomes nativa, é necessário provisionar uma solução adicional de DNS;
- Existe uma limitação de 500 redes que podem ser emparelhadas.
O Cenário
Neste artigo, vou criar um cenário um pouco diferente da topologia hub-spoke. Vamos provisionar duas redes virtuais. Nestas duas redes, vamos ter máquinas virtuais que estão representando nosso workload. Estas máquinas virtuais devem ter comunicação de rede entre elas.
Além das redes virtuais, vamos configurar um serviço de DNS privado, para garantir a resolução de nomes no nosso ambiente.
Redes Virtuais
No nosso ambiente teremos duas redes virtuais, com as seguintes informações:
Nome | Range de IP | Região |
---|---|---|
Vnet-A | 10.10.0.0/16 | Central US |
Vnet-B | 10.20.0.0/16 | West US |
As imagens abaixo mostram que a Vnet-A foi provisionada na região Central US e a Vnet-B está provisionada na região West US . Mostram também como o range de IP configura em cada Vnet.
OBS: Fique atento quanto ao endereçamento IP. Para o emparelhamento das redes virtuais ser configurado com sucesso, as redes devem ter endereçamento IP que não sejam pertencentes ao mesmo range.
O Emparelhamento
Já possuímos as duas redes virtuais e as duas máquinas virtuais já provisionadas, por enquanto sem comunicação de rede entre elas, conforme podemos ver nas imagens abaixo.
Vamos iniciar as configurações para o emparelhamento das nossas redes virtuais.
No portal do Azure, navegamos até a Vnet-A. Nas opções, vamos até o“Peering”e clicamos em Add.
Agora, basta preencher todos os campos para a criação do emparelhamento.
Nesta tela temos mais uma novidade no processo de configuração do recurso. Até pouco tempo atrás, o processo de configuração de emparelhamento exigia que a configuração fosse realizada em todas as redes virtuais do ambiente separadamente. Agora é possível realizar a configuração nas duas redes virtuais a partir de uma única tela. Em Subscription , vamos escolher a assinatura em que a rede virtual foi provisionada.
Logo abaixo, podemos observar uma série de opções. Estas opções estão diretamente relacionadas ao tráfego de rede entre as Vnets.
Nas duas primeiras caixa de seleção, podemos definir como a comunicação entre as redes virtuais vai funcionar. Por exemplo, podemos permitir o tráfego de rede da Vnet-A alcancem a Vnet-B, e proibir o tráfego inverso. Na caixa de seleção você pode permitir ou não o tráfego de rede originado de uma VPN que interliga seu ambiente local com o Azure.
Depois de alguns instantes as duas redes virtuais já estarão interligadas. Podemos confirmar isso consultando a coluna “Peering Status”.
E as nossas máquinas virtuais já poderão se comunicar através do endereço IP.
DNS Privado
Embora as nossas máquinas virtuais já consigam se comunicar via endereço IP, ainda não há resolução de nomes no emparelhamento de redes virtuais.
Recentemente a Microsoft lançou em versão preview um recurso de DNS privado no Azure. O DNS privado no Azure, fornece um serviço confiável e seguro para gerenciar e resolver nomes de domínio em redes virtuais sem a necessidade de adicionar uma solução de DNS personalizada.
Na barra de pesquisa do portal do Azure, vamos procurar por Private DNS.
Selecionamos a opção de criar uma zona de DNS Privada.
Na blade de criação do serviço de DNS preenchemos os seguintes campos:
- Resource Group: Vamos escolher o grupo de recursos para provisionar o DNS.
- Name: Vamos escolher o nosso domínio privado, neste exemplo vou utilizar o private.cooperati.com.br.
Observação
Como melhor prática, não use um domínio .local para sua zona de DNS privada. Nem todos os sistemas operacionais permitem essa prática.
O próximo passo é: conectar as redes virtuais na zona DNS recém criada.
Abrimos a Zona DNS prinvate.cooperati.com.br.
No painel da direita, vamos até a opção Virtual Network Links.
Nesta tela, vamos definir um nome para identificação do link. Logo abaixo, vamos escolher a assinatura e a rede virtual que será conectada na zona de DNS privado.
Neste caso, vamos habilitar a função de auto-registration, que cria um registro automaticamente para cada recurso presente na rede virtual.
Vamos repetir os passos anteriores para conectar as demais redes virtuais e, finalmente, testar a resolução de nomes que acabamos de configurar.
Na tela inicial do DNS Privado, podemos conferir que os registros de DNS já foram criados automaticamente conforme definimos anteriormente.
Com os registros criados , vamos até uma de nossas máquinas virtuais para testar a comunicação de rede utilizando o FQDN dos servidores.
Agora temos a garantia de que as nossas redes virtuais estão conectadas e estão com a resolução de nomes funcional.
Se você quiser conferir com maiores detalhes todo o processo de configuração do VNet Peering, acesse o vídeo abaixo. Gravei este vídeo com o passo-a-passo desta configuração.
Se tiver alguma dúvida ou sugestão, deixe seu comentário!!!
Se você tem alguma dúvida ou sugestão, deixe seu comentário!!!
Diretor técnico na Supreme Tecnologia.
MVP Azure, MTAC e Azure Administrator Associate