Compartilhar via


Criar uma VM (Clássica) com várias NICs usando a CLI clássica do Azure

Você pode criar máquinas virtuais (VMs) no Azure e anexar várias NICs (interfaces de rede) a cada uma de suas VMs. Várias NICs permitem a separação de tipos de tráfego entre NICs. Por exemplo, uma NIC pode se comunicar com a Internet, enquanto outra se comunica apenas com recursos internos não conectados à Internet. A capacidade de separar o tráfego de rede em várias NICs é necessária para muitos dispositivos virtuais de rede, como entrega de aplicativos e soluções de otimização wan.

Importante

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Resource Manager e clássico. Este artigo aborda o uso do modelo de implantação clássica. A Microsoft recomenda que a maioria das implantações novas use o modelo do Gerenciador de Recursos. Saiba como executar essas etapas usando o modelo de implantação do Resource Manager.

Cenário

Este documento percorre uma implantação que usa várias NICs em VMs em um cenário específico. Nesse cenário, você tem uma carga de trabalho IaaS em duas camadas hospedada no Azure. Cada camada é implantada em sua própria sub-rede em uma rede virtual (VNet). A camada front-end é composta por vários servidores Web, agrupados em um conjunto de balanceadores de carga para alta disponibilidade. A camada de back-end é composta por vários servidores de banco de dados. Os servidores de banco de dados são implantados com duas NICs cada, uma para acesso ao banco de dados, a outra para gerenciamento. O cenário também inclui NSGs (Grupos de Segurança de Rede) para controlar qual tráfego é permitido para cada sub-rede e NIC na implantação. A imagem a seguir mostra a arquitetura básica deste cenário:

Cenário MultiNIC

As etapas a seguir usam um grupo de recursos chamado IaaSStory para os servidores WEB e um grupo de recursos chamado IaaSStory-BackEnd para os servidores DB.

Pré-requisitos

Antes de criar os servidores DB, você precisa criar o grupo de recursos IaaSStory com todos os recursos necessários para esse cenário. Para criar esses recursos, conclua as etapas a seguir. Crie uma rede virtual seguindo as etapas no artigo Criar uma rede virtual .

Pré-requisito: instalar a CLI do Azure

Para executar as etapas deste artigo, instale a CLI do Azure e faça login no Azure.

Observação

Se você não tiver uma conta do Azure, precisará de uma. Inscreva-se para uma avaliação gratuita aqui. Além disso, para acompanhar, você precisa ter jq ou alguma outra ferramenta de análise JSON ou biblioteca instalada.

Implantar as máquinas virtuais do back-end

As VMs de back-end dependem da criação dos seguintes recursos:

  • Conta de armazenamento para discos de dados. Para melhorar o desempenho, os discos de dados nos servidores de banco de dados usarão a tecnologia SSD (unidade de estado sólido), que requer uma conta de armazenamento premium. Verifique se o local do Azure em que você realiza a implantação oferece suporte ao armazenamento premium.
  • NICs. Cada VM terá duas NICs, uma para acesso ao banco de dados e outra para gerenciamento.
  • Conjunto de disponibilidade. Todos os servidores de banco de dados serão adicionados a um único conjunto de disponibilidade, para garantir que pelo menos uma das VMs esteja em execução durante a manutenção.

Etapa 1 – Iniciar o script

Você pode baixar o script bash completo usado aqui. Conclua as seguintes etapas para alterar o script para funcionar em seu ambiente:

  1. Altere os valores das variáveis abaixo com base no grupo de recursos existente implantado acima em Pré-requisitos.

     location="useast2"
     vnetName="WTestVNet"
     backendSubnetName="BackEnd"
    
  2. Altere os valores das variáveis abaixo com base nos valores que você deseja usar para sua implantação de back-end.

     backendCSName="IaaSStory-Backend"
     prmStorageAccountName="iaasstoryprmstorage"
     image="0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1"
     avSetName="ASDB"
     vmSize="Standard_DS3"
     diskSize=127
     vmNamePrefix="DB"
     osDiskName="osdiskdb"
     dataDiskPrefix="db"
     dataDiskName="datadisk"
     ipAddressPrefix="192.168.2."
     username='adminuser'
     password='adminP@ssw0rd'
     numberOfVMs=2
    

Etapa 2 – Criar recursos necessários para suas VMs

  1. Crie um novo serviço de nuvem para todas as VMs de back-end. Observe o uso da $backendCSName variável para o nome do grupo de recursos e $location para a região do Azure.

     azure service create --serviceName $backendCSName \
     	--location $location
    
  2. Crie uma conta de armazenamento premium para o sistema operacional e discos de dados a serem usados por suas VMs.

     azure storage account create $prmStorageAccountName \
     	--location $location \
     	--type PLRS
    

Etapa 3 – Criar VMs com várias NICs

  1. Inicie um loop para criar várias VMs, com base nas numberOfVMs variáveis.

     for ((suffixNumber=1;suffixNumber<=numberOfVMs;suffixNumber++));
     do
    
  2. Para cada VM, especifique o nome e o endereço IP de cada uma das duas NICs.

     nic1Name=$vmNamePrefix$suffixNumber-DA
     x=$((suffixNumber+3))
     ipAddress1=$ipAddressPrefix$x
    
     nic2Name=$vmNamePrefix$suffixNumber-RA
     x=$((suffixNumber+53))
     ipAddress2=$ipAddressPrefix$x
    
  3. Crie a Máquina Virtual. Observe o uso do --nic-config parâmetro, contendo uma lista de todos os NICs com nome, sub-rede e endereço IP.

     azure vm create $backendCSName $image $username $password \
     	--connect $backendCSName \
     	--vm-name $vmNamePrefix$suffixNumber \
     	--vm-size $vmSize \
     	--availability-set $avSetName \
     	--blob-url $prmStorageAccountName.blob.core.windows.net/vhds/$osDiskName$suffixNumber.vhd \
     	--virtual-network-name $vnetName \
     	--subnet-names $backendSubnetName \
     	--nic-config $nic1Name:$backendSubnetName:$ipAddress1::,$nic2Name:$backendSubnetName:$ipAddress2::
    
  4. Para cada VM, crie dois discos de dados.

     azure vm disk attach-new $vmNamePrefix$suffixNumber \
     	$diskSize \
     	vhds/$dataDiskPrefix$suffixNumber$dataDiskName-1.vhd
    
     azure vm disk attach-new $vmNamePrefix$suffixNumber \
     	$diskSize \
     	vhds/$dataDiskPrefix$suffixNumber$dataDiskName-2.vhd
     done
    

Etapa 4 – Executar o script

Agora que você baixou e alterou o script com base em suas necessidades, execute o script para criar as VMs de banco de dados de back-end com várias NICs.

  1. Salve o script e execute-o no terminal do Bash . Você verá a saída inicial, conforme mostrado abaixo.

     info:    Executing command service create
     info:    Creating cloud service
     data:    Cloud service name IaaSStory-Backend
     info:    service create command OK
     info:    Executing command storage account create
     info:    Creating storage account
     info:    storage account create command OK
     info:    Executing command vm create
     info:    Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1
     info:    Looking up virtual network
     info:    Looking up cloud service
     info:    Getting cloud service properties
     info:    Looking up deployment
     info:    Creating VM
    
  2. Após alguns minutos, a execução terminará e você verá o restante da saída, conforme mostrado abaixo.

     info:    OK
     info:    vm create command OK
     info:    Executing command vm disk attach-new
     info:    Getting virtual machines
     info:    Adding Data-Disk
     info:    vm disk attach-new command OK
     info:    Executing command vm disk attach-new
     info:    Getting virtual machines
     info:    Adding Data-Disk
     info:    vm disk attach-new command OK
     info:    Executing command vm create
     info:    Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1
     info:    Looking up virtual network
     info:    Looking up cloud service
     info:    Getting cloud service properties
     info:    Looking up deployment
     info:    Creating VM
     info:    OK
     info:    vm create command OK
     info:    Executing command vm disk attach-new
     info:    Getting virtual machines
     info:    Adding Data-Disk
     info:    vm disk attach-new command OK
     info:    Executing command vm disk attach-new
     info:    Getting virtual machines
     info:    Adding Data-Disk
     info:    vm disk attach-new command OK
    

Etapa 5 – Configurar o roteamento dentro do sistema operacional da VM

O DHCP do Azure atribui um gateway padrão à primeira interface de rede (primária) anexada à máquina virtual. O Azure não atribui um gateway padrão aos adaptadores de rede adicionais (secundários) anexados à máquina virtual. Portanto, por padrão, você não consegue se comunicar com recursos fora da sub-rede em que uma interface de rede secundária está localizada. No entanto, os adaptadores de rede secundários podem comunicar-se com recursos fora de sua sub-rede. Para configurar o roteamento para interfaces de rede secundárias, consulte Roteamento em um sistema operacional de máquina virtual com vários adaptadores de rede.