Creare una macchina virtuale Linux con più schede di interfaccia di rete usando l'interfaccia della riga di comando di Azure 1.0

È possibile creare una macchina virtuale (VM) in Azure con più interfacce di rete virtuale (NIC) collegate. Uno scenario comune è quello di avere subnet diverse per la connettività front-end e back-end oppure una rete dedicata a una soluzione di monitoraggio o backup. In questo articolo vengono presentati i comandi rapidi per creare una macchina virtuale con più schede di rete collegate. Per informazioni dettagliate, incluse quelle sulla creazione di più schede di rete all'interno degli script di Bash, consultare la sezione dedicata alla distribuzione di macchine virtuali con più schede di rete. Le differenti dimensioni della macchina virtuale supportano un numero variabile di schede di rete, pertanto scegliere le dimensioni della macchina virtuale di conseguenza.

Avviso

È necessario collegare più schede di interfaccia di rete quando si crea una VM, perché non è possibile aggiungere le schede a una VM esistente con l'interfaccia della riga di comando di Azure 1.0. È possibile aggiungere schede di interfaccia di rete a una VM esistente con l'interfaccia della riga di comando di Azure 2.0. È anche possibile creare una VM basata sui dischi virtuali originali e creare più schede di interfaccia di rete quando si distribuisce la VM.

Versioni dell'interfaccia della riga di comando per completare l'attività

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:

Creare risorse di supporto

Controllare di aver effettuato l'accesso tramite l'interfaccia della riga di comando di Azure in modalità Resource Manager:

azure config mode arm

Nell'esempio seguente sostituire i nomi dei parametri di esempio con i valori desiderati. I nomi dei parametri di esempio includono myResourceGroup, mystorageaccount e myVM.

Creare prima un gruppo di risorse. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:

azure group create myResourceGroup --location eastus

Creare un account di archiviazione in cui salvare le VM. L'esempio seguente crea un account di archiviazione denominato mystorageaccount:

azure storage account create mystorageaccount \
    --resource-group myResourceGroup \
    --location eastus \
    --kind Storage \
    --sku-name PLRS

Creare una rete virtuale alla quale connettere le VM. L'esempio seguente crea una rete virtuale denominata myVnet con prefisso dell'indirizzo 192.168.0.0/16:

azure network vnet create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myVnet \
    --address-prefixes 192.168.0.0/16

Creare due subnet per la rete virtuale: una per il traffico front-end e l'altra per il traffico di back-end. L'esempio seguente crea due subnet denominate mySubnetFrontEnd e mySubnetBackEnd:

azure network vnet subnet create \
    --resource-group myResourceGroup \
    --location myVnet \
    --name mySubnetFrontEnd \
    --address-prefix 192.168.1.0/24
azure network vnet subnet create \
    --resource-group myResourceGroup \
    --location myVnet \
    --name mySubnetBackEnd \
    --address-prefix 192.168.2.0/24

Creare e configurare più schede di interfaccia di rete

È possibile leggere ulteriori informazioni sulla distribuzione di più schede di rete tramite l'interfaccia della riga di comando di Azure, incluso lo script del processo di ciclo per creare tutte le schede NIC.

L'esempio seguente crea due schede di interfaccia di rete, denominate myNic1 e myNic2, con una scheda che si connette a ogni subnet:

azure network nic create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNic1 \
    --subnet-vnet-name myVnet \
    --subnet-name mySubnetFrontEnd
azure network nic create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNic2 \
    --subnet-vnet-name myVnet \
    --subnet-name mySubnetBackEnd

In genere è necessario creare anche un gruppo di sicurezza di rete o un servizio di bilanciamento del carico per gestire e distribuire il traffico tra le VM. L'esempio seguente crea un gruppo di sicurezza di rete denominato myNetworkSecurityGroup:

azure network nsg create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNetworkSecurityGroup

Associare le due schede di interfaccia di rete al gruppo di sicurezza di rete usando azure network nic set. L'esempio seguente associa myNic1 e myNic2 a myNetworkSecurityGroup:

azure network nic set \
    --resource-group myResourceGroup \
    --name myNic1 \
    --network-security-group-name myNetworkSecurityGroup
azure network nic set \
    --resource-group myResourceGroup \
    --name myNic2 \
    --network-security-group-name myNetworkSecurityGroup

Creare una macchina virtuale e collegare le schede di interfaccia di rete

In fase di creazione della macchina virtuale, è ora possibile specificare più schede di rete. Anziché utilizzare --nic-name per fornire una singola scheda di rete, si utilizza --nic-names per fornire un elenco delimitato da virgole di schede di rete. L'utente deve anche fare attenzione quando seleziona la dimensione della macchina virtuale. Esistono dei limiti per quanto riguarda il numero totale di schede di rete che è possibile aggiungere. Ulteriori informazioni sulle dimensioni delle macchine virtuali di Linux. L'esempio seguente mostra come specificare più schede di interfaccia di rete e quindi una dimensione di VM che supporta l'uso di più schede di interfaccia di rete (Standard_DS2_v2):

azure vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --location eastus \
    --os-type linux \
    --nic-names myNic1,myNic2 \
    --vm-size Standard_DS2_v2 \
    --storage-account-name mystorageaccount \
    --image-urn UbuntuLTS \
    --admin-username azureuser \
    --ssh-publickey-file ~/.ssh/id_rsa.pub

Creare più schede di interfaccia di rete usando i modelli di Resource Manager

I modelli di Azure Resource Manager utilizzano i file JSON dichiarativi per definire l'ambiente. È possibile consultare una panoramica di Azure Resource Manager. I modelli di Resource Manager offrono un modo di creare più istanze di una risorsa durante la distribuzione, come ad esempio la creazione di più schede di rete. Utilizzare Copia per specificare il numero di istanze da creare:

"copy": {
    "name": "multiplenics"
    "count": "[parameters('count')]"
}

Ulteriori informazioni sulla creazione di più istanze utilizzando Copia.

È inoltre possibile utilizzare un copyIndex() per poi aggiungere un numero al nome di una risorsa, che consente di creare myNic1, myNic2, e così via. Di seguito viene riportato un esempio di aggiunta del valore di indice:

"name": "[concat('myNic', copyIndex())]", 

È possibile consultare un esempio completo di creazione di più schede di rete utilizzando i modelli di Resource Manager.

Passaggi successivi

Assicurarsi di consultare Dimensioni delle macchine virtuali di Linux durante il tentativo di creazione di una macchina virtuale con più schede di rete. Prestare attenzione al numero massimo di schede di rete supportato per ogni dimensione della macchina virtuale.

Tenere presente che non è possibile aggiungere altre schede di rete a una macchina virtuale esistente. È necessario creare tutte le schede di rete quando si distribuisce la macchina virtuale. Prestare attenzione quando si pianificano le distribuzioni per assicurarsi di avere la connettività di rete necessaria fin dall'inizio.