Conectar redes virtuais com o emparelhamento de rede virtual usando a CLI do Azure
Você pode conectar redes virtuais entre si ao emparelhamento de rede virtual. Depois que as redes virtuais são emparelhadas, os recursos de ambas as redes virtuais podem se comunicar entre si, com a mesma latência e largura de banda como se os recursos estivessem na mesma rede virtual.
Neste artigo, você aprenderá como:
Criar duas redes virtuais
Conectar duas redes virtuais a um emparelhamento de rede virtual
Implementar uma VM (máquina virtual) em cada rede virtual
Comunicação entre VMs
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este artigo exige a versão 2.0.28 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar redes virtuais
Antes de criar uma rede virtual, será necessário criar um grupo de recursos para a rede virtual e todos os outros recursos criados neste artigo. Crie um grupo de recursos com az group create. O exemplo a seguir cria um grupo de recursos chamado test-rg no local eastus.
az group create \
--name test-rg \
--location eastus
Crie uma rede virtual com az network vnet create. O exemplo a seguir cria uma rede virtual chamada vnet-1 com o prefixo de endereço 10.0.0.0/16.
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefixes 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.0.0.0/24
Crie uma rede virtual denominada vnet-2 com o prefixo de endereço 10.1.0.0/16:
az network vnet create \
--name vnet-2 \
--resource-group test-rg \
--address-prefixes 10.1.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.1.0.0/24
Emparelhar redes virtuais
Os emparelhamentos são estabelecidos entre as IDs de rede virtual. Obtenha a ID de cada rede virtual com az network vnet show e armazene a ID em uma variável.
# Get the id for vnet-1.
vNet1Id=$(az network vnet show \
--resource-group test-rg \
--name vnet-1 \
--query id --out tsv)
# Get the id for vnet-2.
vNet2Id=$(az network vnet show \
--resource-group test-rg \
--name vnet-2 \
--query id \
--out tsv)
Crie um emparelhamento de vnet-1 para vnet-2 com az network vnet peering create. Se o parâmetro --allow-vnet-access
não for especificado, um emparelhamento será estabelecido, mas nenhuma comunicação poderá fluir por ele.
az network vnet peering create \
--name vnet-1-to-vnet-2 \
--resource-group test-rg \
--vnet-name vnet-1 \
--remote-vnet $vNet2Id \
--allow-vnet-access
Na saída retornada após a execução do comando anterior, você vê que o peeringState é Iniciado. O emparelhamento permanece no estado Iniciado até que você crie o emparelhamento de vnet-2 para vnet-1. Criar um emparelhamento de vnet-2 para vnet-1.
az network vnet peering create \
--name vnet-2-to-vnet-1 \
--resource-group test-rg \
--vnet-name vnet-2 \
--remote-vnet $vNet1Id \
--allow-vnet-access
Na saída retornada após a execução do comando anterior, você vê que o peeringState é Conectado. O Azure também alterou o estado de emparelhamento do emparelhamento vnet-1-to-vnet-2 para Conectado. Confirme que o estado de emparelhamento de vnet-1-to-vnet-2 foi alterado para Conectado com az network vnet peering show.
az network vnet peering show \
--name vnet-1-to-vnet-2 \
--resource-group test-rg \
--vnet-name vnet-1 \
--query peeringState
Os recursos de uma rede virtual não podem se comunicar com os recursos da outra rede virtual até que o peeringState para os emparelhamentos em ambas as redes virtuais seja Conectado.
Criar máquinas virtuais
Crie uma VM em cada rede virtual para que seja possível comunicar-se entre elas em uma etapa posterior.
Criar a primeira VM
Crie uma VM com az vm create. O exemplo a seguir cria uma VM chamada vm-1 na rede virtual vnet-1. Se as chaves SSH ainda não existirem em uma localização de chave padrão, o comando as criará. Para usar um conjunto específico de chaves, use a opção --ssh-key-value
. A opção --no-wait
cria a VM em segundo plano, para que você possa prosseguir para a próxima etapa.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--generate-ssh-keys \
--no-wait
Criar a segunda VM
Crie uma VM na rede virtual vnet-2.
az vm create \
--resource-group test-rg \
--name vm-2 \
--image Ubuntu2204 \
--vnet-name vnet-2 \
--subnet subnet-1 \
--generate-ssh-keys
A VM demora alguns minutos para criar. Quando a VM estiver criada, a CLI do Azure mostra informações semelhantes ao exemplo a seguir:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.1.0.4",
"publicIpAddress": "13.90.242.231",
"resourceGroup": "test-rg"
}
Anote o publicIpAddress. Esse endereço será usado para acessar a VM da internet em uma etapa posterior.
Observação
O Azure fornece um IP de acesso de saída padrão para VMs que não receberam um endereço IP público ou que estão no pool de back-end de um balanceador de carga do Azure básico interno. O mecanismo de IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.
O IP de acesso de saída padrão é desabilitado quando um dos seguintes eventos acontece:
- Um endereço IP público é atribuído à VM.
- A VM é colocada no pool de back-end de um balanceador de carga padrão, com ou sem regras de saída.
- Um recurso da Gateway da NAT do Azure é atribuído à sub-rede da VM.
As VMs criadas por conjuntos de dimensionamento de máquinas virtuais no modo de orquestração flexível não têm acesso de saída padrão.
Para mais informações sobre conexões de saída no Azure, confira Acesso de saída padrão no Azure e Usar SNAT (conversão de endereços de rede de origem) para conexões de saída.
Comunicação entre VMs
Use o seguinte comando para criar uma sessão SSH com a VM vm-2. Substitua <publicIpAddress>
pelo endereço IP público de sua VM. No exemplo anterior, o endereço IP público é 13.90.242.231.
ssh <publicIpAddress>
Executar ping na VM em vnet-1.
ping 10.0.0.4 -c 4
Você receberá quatro respostas.
Fechar a sessão SSH para a VM vm-2.
Limpar os recursos
Quando não for mais necessário, use az group delete para remover o grupo de recursos e todos os recursos que ele contém.
az group delete \
--name test-rg \
--yes
Próximas etapas
Neste artigo, você aprendeu a conectar duas redes, na mesma região do Azure, com o emparelhamento de rede virtual. Você também pode emparelhar redes virtuais em diferentes regiões com suporte, em diferentes assinaturas do Azure e também criar designs de rede de hub e spoke com emparelhamento. Para saber mais sobre o emparelhamento de rede virtual, consulte Visão geral de emparelhamento de rede virtual e Gerenciamento de emparelhamentos de rede virtual.
Você pode conectar seu próprio computador a uma rede virtual por meio de uma VPN e interagir com os recursos de uma rede virtual ou de redes virtuais emparelhadas. Para obter amostras de scripts reutilizáveis para concluir muitas das tarefas abordadas nos artigos sobre redes virtuais, consulte amostras de script.