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.