Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode criar máquinas virtuais (VMs) no Azure e anexar várias interfaces de rede (NICs) 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 de WAN.
Importante
O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: o Resource Manager e o clássico. Este artigo cobre a utilização do modelo de implementação clássica. A Microsoft recomenda que a maioria das novas implantações 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 apresenta 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 de 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 e 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 desse cenário:
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 de banco de dados.
Pré-requisitos
Antes de criar os servidores de banco de dados, você precisa criar o IaaSStory grupo de recursos 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 neste artigo, instalar a CLI do Azure e entrar no Azure.
Observação
Se você não tiver uma conta do Azure, precisará de uma. Inscreva-se numa avaliação gratuita aqui. Além disso, para acompanhar você precisa ter jq ou alguma outra ferramenta ou biblioteca de análise JSON instalada.
Implantar as VMs de back-end
As VMs de back-end dependem da criação dos seguintes recursos:
- Conta de armazenamento para discos de dados. Para um melhor desempenho, os discos de dados nos servidores de banco de dados usarão a tecnologia de unidade de estado sólido (SSD), que requer uma conta de armazenamento premium. Certifique-se de que a localização do Azure para onde vai implementar permite o 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 ativa e em execução durante a manutenção.
Etapa 1 - Inicie o script
Você pode baixar o script bash completo usado aqui. Conclua as seguintes etapas para alterar o script para funcionar em seu ambiente:
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"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 os recursos necessários para suas VMs
Crie um novo serviço de nuvem para todas as VMs de back-end. Observe o uso da variável
$backendCSNamepara o nome do grupo de recursos e$locationpara a região do Azure.azure service create --serviceName $backendCSName \ --location $locationCrie uma conta de armazenamento premium para o SO e discos de dados para serem utilizados pelas suas VMs.
azure storage account create $prmStorageAccountName \ --location $location \ --type PLRS
Etapa 3 - Criar VMs com várias NICs
Inicie um loop para criar várias VMs, com base nas variáveis
numberOfVMs.for ((suffixNumber=1;suffixNumber<=numberOfVMs;suffixNumber++)); doPara 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$xCrie a máquina virtual. Observe o uso do parâmetro
--nic-config, contendo uma lista de todas as 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::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 back-end com várias NICs.
Salve seu script e execute-o a partir do seu terminal Bash. Você verá a saída inicial, como 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 VMApós alguns minutos, a execução terminará e você verá o resto 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) conectada à máquina virtual. O Azure não atribui um gateway predefinido a interfaces de rede (secundárias) adicionais ligadas a uma máquina virtual. Por conseguinte, não pode comunicar com recursos que estejam fora da sub-rede em que se encontre uma interface de rede secundária, por predefinição. Contudo, as interfaces de rede secundárias podem comunicar com recursos fora das respetivas sub-redes. Para configurar o roteamento para interfaces de rede secundárias, consulte Roteamento em um sistema operacional de máquina virtual com várias interfaces de rede.