Adicionando uma Placa de Rede a uma VM no Azure

Adicionar uma segunda placa de rede (NIC) a uma máquina virtual (VM) no Azure pode ser uma prática essencial em diversos cenários de rede. Neste artigo, vamos explorar o que isso significa, as vantagens e os cenários nos quais essa configuração pode ser aplicada.

O que Significa Adicionar uma Segunda Placa de Rede à VM?
Adicionar uma segunda placa de rede a uma VM no Azure significa configurar a VM para utilizar duas interfaces de rede distintas. Cada interface de rede pode estar associada a diferentes sub-redes, VNets (Virtual Networks) ou até mesmo IPs públicos e privados diferentes. Isso permite que a VM tenha múltiplos caminhos de rede, aumentando a flexibilidade e a capacidade de gerenciar o tráfego de rede.

Vantagens de usar múltiplas NICs

  • Segregação de Tráfego
    Separação de Tráfego Interno e Externo: Uma NIC pode ser usada para comunicação interna entre servidores, enquanto a outra pode ser usada para acesso externo ou à internet. Isso ajuda a isolar diferentes tipos de tráfego, melhorando a segurança e o desempenho.
    Gerenciaento de Tráfego: Aplicar políticas de gerenciamento de tráfego, como Quality of Service (QoS), para priorizar certos tipos de tráfego em uma interface específica.
  • Segurança
    Isolamento de Rede: Isolar diferentes tipos de tráfego para aumentar a segurança. Uma NIC pode estar conectada a uma rede de produção, enquanto a outra pode estar conectada a uma rede de desenvolvimento ou teste.
    Redução da Superfície de Ataque: Ao separar o tráfego de rede, a superfície de ataque é reduzida, aumentando a segurança geral da VM.
  • Redundância e Alta Disponibilidade
    Múltiplos Caminhos de Rede: Garantir que há múltiplos caminhos de rede disponíveis. Se uma interface falhar, a outra pode continuar a fornecer conectividade.
    Backup e Failover: Configurar backup e failover de rede para manter a conectividade e disponibilidade dos serviços.
  • Conectividade Multi-Local
    Conexão com Múltiplas VNets: Conectar a VM a múltiplas VNets ou sub-redes para acessar recursos em diferentes locais ou regiões.
    Infraestruturas Híbridas: Conectar uma VM a uma rede local via VPN enquanto mantém outra conexão com a rede pública do Azure.

Cenários de Aplicação

  • Ambientes de Produção e Desenvolvimento
    Em uma empresa, a mesma VM pode ser usada para acessar tanto o ambiente de produção quanto o de desenvolvimento. Duas NICs permitem essa separação de forma segura.
  • Serviços de Banco de Dados
    Separação de Consultas e Replicação: Separar o tráfego de consultas de banco de dados do tráfego de replicação pode melhorar o desempenho e a segurança.
    Conectividade e Backup: Configurar diferentes caminhos de rede para operações de backup e failover.
  • Aplicações Web
    Tráfego HTTP/HTTPS: Em servidores web, uma NIC pode ser dedicada ao tráfego HTTP/HTTPS enquanto outra NIC é usada para tráfego de administração e gerenciamento.
    Balanceamento de Carga: Utilizar diferentes NICs para balanceamento de carga e gerenciamento de tráfego.
  • Redes Corporativas e Segurança
    Isolamento de Tráfedo de Rede: Implementar políticas de segurança que isolem o tráfego de diferentes departamentos ou funções dentro da organização.
    VPN e Conectividade Externa: Configurar uma NIC para VPN e outra para conectividade externa, melhorando a segurança e a eficiência.

Para esta configuração eu usei o Script abaixo que facilita o processo, automatizando as etapas necessárias:

# Defina variáveis
subscriptionId="a sua ID da subscrição"
resourceGroupName="RG-LDA-LAB"
location="EastUS"
vmName="vmlda1"
vnetName="vnetlda1"
subnetName="default"
addressPrefix="10.0.0.0/16"
subnetPrefix="10.0.0.0/24"
publicIpName="pip-lda1"
nsgName="nsg-lda1"
nicName="nic-lda1"
vmSize="Standard_B2s"
image="Win2019Datacenter"
adminUsername="user"
adminPassword="a tua password"

# Login no Azure
az login

# Defina a subscrição correta
az account set --subscription $subscriptionId

# Crie o Resource Group
az group create --name $resourceGroupName --location $location

# Crie a Virtual Network
az network vnet create \
  --resource-group $resourceGroupName \
  --name $vnetName \
  --address-prefix $addressPrefix \
  --subnet-name $subnetName \
  --subnet-prefix $subnetPrefix \
  --location $location

# Crie um IP público
az network public-ip create \
  --resource-group $resourceGroupName \
  --name $publicIpName \
  --allocation-method Static \
  --location $location

# Crie um Network Security Group
az network nsg create \
  --resource-group $resourceGroupName \
  --name $nsgName \
  --location $location

# Crie uma interface de rede (NIC)
az network nic create \
  --resource-group $resourceGroupName \
  --name $nicName \
  --vnet-name $vnetName \
  --subnet $subnetName \
  --network-security-group $nsgName \
  --public-ip-address $publicIpName \
  --location $location

# Crie a VM
az vm create \
  --resource-group $resourceGroupName \
  --name $vmName \
  --location $location \
  --nics $nicName \
  --image $image \
  --size $vmSize \
  --admin-username $adminUsername \
  --admin-password $adminPassword \
  --authentication-type password \
  --os-disk-name "${vmName}_osdisk"

# Abrir a porta RDP no NSG
az network nsg rule create \
  --resource-group $resourceGroupName \
  --nsg-name $nsgName \
  --name "allow-rdp" \
  --priority 1000 \
  --destination-port-ranges 3389 \
  --protocol Tcp \
  --access Allow \
  --direction Inbound

echo "VM $vmName criada com sucesso no Resource Group $resourceGroupName em $location"

Script para adicionar uma segunda placa de rede a VM

# Defina variáveis
subscriptionId="a sua ID da subscrição"
resourceGroupName="RG-LDA-LAB"
location="EastUS"
vmName="vmlda1"
vnetName="vnetlda1"
subnetName="default"
nicName2="nic-lda1-2"
publicIpName2="pip-lda1-2"

# Login no Azure
az login

# Defina a subscrição correta
az account set --subscription $subscriptionId

# Crie um segundo IP público
az network public-ip create \
  --resource-group $resourceGroupName \
  --name $publicIpName2 \
  --allocation-method Static \
  --location $location

# Crie uma segunda interface de rede (NIC)
az network nic create \
  --resource-group $resourceGroupName \
  --name $nicName2 \
  --vnet-name $vnetName \
  --subnet $subnetName \
  --public-ip-address $publicIpName2 \
  --location $location

# Parar e desalocar a VM
az vm deallocate --resource-group $resourceGroupName --name $vmName

# Obtenha o ID da nova NIC
nicId2=$(az network nic show --resource-group $resourceGroupName --name $nicName2 --query id --output tsv)

# Adicione a nova NIC à VM existente
az vm nic add \
  --resource-group $resourceGroupName \
  --vm-name $vmName \
  --nics $nicId2

# Iniciar a VM novamente
az vm start --resource-group $resourceGroupName --name $vmName

echo "Segunda NIC $nicName2 associada à VM $vmName com sucesso"

Também podemos fazer a verificação usando o CLI do azure usando o script abaixo:

az vm show --resource-group RG-LDA-LAB --name vmlda1 --query "networkProfile.networkInterfaces" --output table

Ou pode ser feito também pelo portal do azure

Resumindo, adicionar uma segunda placa de rede a uma VM no Azure é uma prática poderosa que oferece flexibilidade, segurança e desempenho aprimorado. Essa configuração permite a implementação de arquiteturas de rede complexas e eficientes, atendendo a uma variedade de necessidades empresariais e técnicas.

Deixe o seu comentário e até ao próximo artigo.

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *