Criar o Azure Virtual WAN

Criar o Azure Virtual WAN

Criar o Azure Virtual WAN

Neste tutorial você aprenderá a criar o Azure Virtual WAN e o Virtual Hub com comandos prontos para copiar e executar. Este é o Artigo 3 da série Azure Virtual WAN. Se ainda não leu o Artigo 1 sobre conceitos e arquitetura ou o Artigo 2 sobre configuração, recomendamos começar por lá.

Antes de criar o Azure Virtual WAN, certifique-se de que todos os pré-requisitos estão atendidos.

Pré-requisitos

  • AZ CLI instalado e atualizado (az upgrade)
  • Conta Azure com permissão de Contributor na subscription
  • Provider Microsoft.Network registrado
  • Bloco de endereço /24 exclusivo reservado para o Virtual Hub (não pode sobrepor VNets ou filiais)
# Verificar versão do AZ CLI (mínimo 2.50)
az version --query '"azure-cli"' -o tsv

# Login
az login

# Definir a subscription correta
az account set --subscription ""

# Registrar o provider de rede
az provider register --namespace Microsoft.Network

# Aguardar registro
az provider show --namespace Microsoft.Network --query "registrationState" -o tsv

Com as variáveis definidas, você executará os comandos para criar o Azure Virtual WAN e o Virtual Hub nas etapas seguintes.

Variáveis de Ambiente

Primeiramente, defina todas as variáveis antes de executar os passos. Isso evita erros de digitação e, além disso, facilita a reutilização em outros ambientes.

# ── Identificação ─────────────────────────────────────────────────────────────
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
LOCATION="eastus"                          # Região principal

# ── Nomes dos Recursos ────────────────────────────────────────────────────────
RESOURCE_GROUP="rg-vwan-castilho"
VWAN_NAME="vwan-castilho"
HUB_NAME="vhub-castilho-eastus"

# ── Endereçamento do Hub ──────────────────────────────────────────────────────
# IMPORTANTE: Use um bloco /24 exclusivo, não utilizado em nenhuma VNet ou filial
HUB_ADDRESS_PREFIX="10.0.0.0/24"

echo "Subscription : $SUBSCRIPTION_ID"
echo "Location     : $LOCATION"
echo "Resource Group: $RESOURCE_GROUP"
echo "Virtual WAN  : $VWAN_NAME"
echo "Virtual Hub  : $HUB_NAME ($HUB_ADDRESS_PREFIX)"

Passo 1 — Criar o Resource Group

az group create \
  --name "$RESOURCE_GROUP" \
  --location "$LOCATION" \
  --tags \
    projeto="vwan-castilho" \
    ambiente="producao" \
    responsavel="seu-email@empresa.com"

# Confirmar criação
az group show \
  --name "$RESOURCE_GROUP" \
  --query "{nome:name, local:location, status:properties.provisioningState}" \
  -o table
✅ Output esperado:
Nome              Local    Status
----------------  -------  ---------
rg-vwan-castilho  eastus   Succeeded

Este passo é o núcleo do tutorial: criar o Azure Virtual WAN do tipo Standard habilita recursos avançados como VPN Gateway e Azure Firewall.

Passo 2 — Criar o Virtual WAN

Em primeiro lugar, o Virtual WAN é o recurso raiz. Use sempre o SKU Standard em produção — ele habilita ExpressRoute, User VPN, Azure Firewall e roteamento inter-hub. Lembre-se: o SKU não pode ser alterado após a criação.

az network vwan create \
  --name "$VWAN_NAME" \
  --resource-group "$RESOURCE_GROUP" \
  --location "$LOCATION" \
  --type Standard \
  --tags \
    projeto="vwan-castilho" \
    ambiente="producao"

# Capturar o ID
VWAN_ID=$(az network vwan show \
  --name "$VWAN_NAME" \
  --resource-group "$RESOURCE_GROUP" \
  --query id -o tsv)

echo "Virtual WAN criado!"
echo "ID: $VWAN_ID"
✅ Output esperado:
Nome           Tipo                           Status
-------------  -----------------------------  ---------
vwan-castilho  Microsoft.Network/virtualWans  Succeeded

Virtual WAN criado!
ID: /subscriptions/<seu-subscription-id>/resourceGroups/rg-vwan-castilho/providers/Microsoft.Network/virtualWans/vwan-castilho
ℹ️ SKU Standard vs Basic: O SKU Basic suporta apenas VPN site-to-site. O Standard adiciona ExpressRoute, User VPN, Azure Firewall, Routing Intent e trânsito entre hubs. Para a série completa deste tutorial, usamos Standard.

Com o Virtual WAN criado, você vai criar o Azure Virtual WAN Hub — o ponto central de roteamento da sua rede.

Passo 3 — Criar o Virtual Hub

Em seguida, o Virtual Hub é o roteador regional gerenciado. Ele exige um bloco de endereço privado exclusivo mínimo de /24. O provisionamento leva entre 30 a 60 minutos. Isso ocorre porque o Azure cria toda a infraestrutura de roteamento interna do hub.

az network vhub create \
  --name "$HUB_NAME" \
  --resource-group "$RESOURCE_GROUP" \
  --location "$LOCATION" \
  --vwan "$VWAN_NAME" \
  --address-prefix "$HUB_ADDRESS_PREFIX" \
  --sku Standard \
  --tags \
    projeto="vwan-castilho" \
    ambiente="producao"

echo "Virtual Hub em provisionamento — aguarde 30-60 minutos..."
✅ Output imediato após criação (routingState ainda em Provisioning):
Nome                  Status     Roteamento    Endereco
--------------------  ---------  ------------  -----------
vhub-castilho-eastus  Succeeded  Provisioning  10.0.0.0/24

Aguarde até routingState: Provisioned antes de criar o VPN Gateway ou conexões.

Criando um segundo hub em outra região (opcional)

Por exemplo, em ambientes multi-região, crie um hub adicional. Os hubs do mesmo Virtual WAN se interconectam automaticamente via backbone da Microsoft. Ou seja, não há configuração manual de peering entre eles:

# Hub secundário em Brazil South
HUB_NAME_BR="vhub-castilho-brazilsouth"
HUB_ADDRESS_PREFIX_BR="10.0.1.0/24"

az network vhub create \
  --name "$HUB_NAME_BR" \
  --resource-group "$RESOURCE_GROUP" \
  --location "brazilsouth" \
  --vwan "$VWAN_NAME" \
  --address-prefix "$HUB_ADDRESS_PREFIX_BR" \
  --sku Standard

Verificar o Provisionamento

Portanto, monitore o status dos recursos até que provisioningState seja Succeeded e routingState seja Provisioned. Somente depois prossiga para os próximos passos.

# Verificar o Virtual WAN
az network vwan show \
  --name "$VWAN_NAME" \
  --resource-group "$RESOURCE_GROUP" \
  --query "{nome:name, tipo:type, status:provisioningState}" \
  -o table

# Verificar o Virtual Hub (aguarde routingState: Provisioned)
az network vhub show \
  --name "$HUB_NAME" \
  --resource-group "$RESOURCE_GROUP" \
  --query "{nome:name, status:provisioningState, roteamento:routingState, endereco:addressPrefix}" \
  -o table

# Listar todos os hubs do Virtual WAN
az network vhub list \
  --resource-group "$RESOURCE_GROUP" \
  --query "[].{Nome:name, Regiao:location, Status:provisioningState, Roteamento:routingState}" \
  -o table
✅ Resultado esperado (após provisionamento completo):
# Virtual WAN
Nome           Tipo                           Status
-------------  -----------------------------  ---------
vwan-castilho  Microsoft.Network/virtualWans  Succeeded

# Virtual Hub — confirme routingState: Provisioned antes de prosseguir
Nome                  Status     Roteamento    Endereco
--------------------  ---------  ------------  -----------
vhub-castilho-eastus  Succeeded  Provisioned   10.0.0.0/24

# Lista de hubs do Virtual WAN
Nome                  Regiao   Status     Roteamento
--------------------  -------  ---------  -----------
vhub-castilho-eastus  eastus   Succeeded  Provisioned

No ambiente de laboratório (subscription de desenvolvimento), o hub ficou no estado Provisioning por aproximadamente 6 minutos. Em assinaturas produtivas pode levar de 30 a 60 minutos.

Agora que você sabe como criar o Azure Virtual WAN e o Virtual Hub, o próximo passo é conectar filiais via VPN Site-to-Site.

Próximos Passos da Série

Com o Virtual WAN e o Virtual Hub provisionados, o próximo passo é criar o VPN Gateway. Em seguida, conecte as filiais:

  1. 📖 Artigo 1: O que é Azure Virtual WAN — conceitos e arquitetura
  2. ⚙️ Artigo 2: Configurar o Azure Virtual WAN
  3. 🔧 Artigo 3 (este): Criar o Azure Virtual WAN
  4. 🔌 Artigo 4: Conectar Filiais ao Azure Virtual WAN com VPN
  5. 🔒 Artigo 5: Segurança Azure Virtual WAN com Firewall

Referências oficiais:
Tutorial: Criar conexão site a site com Virtual WAN — Microsoft Learn
Referência AZ CLI — az network vwan
Referência AZ CLI — az network vhub

Interessado em saber mais sobre artigos relacionados ao Microsoft Azure CLIQUE AQUI

🚀 Vamos nos conectar?

Não perca nenhuma oportunidade! Cadastre-se nas minhas redes e no canal do YouTube para receber conteúdos de TI, Cloud, Azure, Kubernetes e DevOps em primeira mão.

Dica: No Facebook, todos os artigos do blog são publicados automaticamente. Vale a pena curtir!


💬 Dúvidas ou Problemas?

Com o intuito de ajudar a comunidade, caso você tenha dúvidas ou encontre problemas na execução dos comandos deste artigo, deixe um comentário abaixo. Responderei o mais breve possível!

Muito obrigado pela visita e até o próximo post!

Jefferson Castilho Especialista em Cloud & DevOps.

Este guia técnico é exclusivo do Blog do Castilho. Explore nossa para mais conteúdos sobre IA e Cloud.

Deixe uma resposta

Rolar para cima