Creare una macchina virtuale Linux con più schede di interfaccia di rete usando l'interfaccia della riga di comando di Azure 1.0Create a Linux virtual machine with multiple NICs using the Azure CLI 1.0

È possibile creare una macchina virtuale (VM) in Azure con più interfacce di rete virtuale (NIC) collegate.You can create a virtual machine (VM) in Azure that has multiple virtual network interfaces (NICs) attached to it. 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.A common scenario is to have different subnets for front-end and back-end connectivity, or a network dedicated to a monitoring or backup solution. In questo articolo vengono presentati i comandi rapidi per creare una macchina virtuale con più schede di rete collegate.This article provides quick commands to create a VM with multiple NICs attached to it. Le differenti dimensioni della macchina virtuale supportano un numero variabile di schede di rete, pertanto scegliere le dimensioni della macchina virtuale di conseguenza.Different VM sizes support a varying number of NICs, so size your VM accordingly.

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.You must attach multiple NICs when you create a VM - you cannot add NICs to an existing VM with the Azure CLI 1.0. È possibile aggiungere schede di interfaccia di rete a una VM esistente con l'interfaccia della riga di comando di Azure 2.0.You can add NICs to an existing VM with the Azure CLI 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.You can also create a VM based on the original virtual disk(s) and create multiple NICs as you deploy the VM.

Versioni dell'interfaccia della riga di comando per completare l'attivitàCLI versions to complete the task

È possibile completare l'attività usando una delle versioni seguenti dell'interfaccia della riga di comando:You can complete the task using one of the following CLI versions:

Creare risorse di supportoCreate supporting resources

Controllare di aver effettuato l'accesso tramite l'interfaccia della riga di comando di Azure in modalità Resource Manager:Make sure that you have the Azure CLI logged in and using Resource Manager mode:

azure config mode arm

Nell'esempio seguente sostituire i nomi dei parametri di esempio con i valori desiderati.In the following examples, replace example parameter names with your own values. I nomi dei parametri di esempio includono myResourceGroup, mystorageaccount e myVM.Example parameter names included myResourceGroup, mystorageaccount, and myVM.

Creare prima un gruppo di risorse.First, create a resource group. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:The following example creates a resource group named myResourceGroup in the eastus location:

azure group create myResourceGroup --location eastus

Creare un account di archiviazione in cui salvare le VM.Create a storage account to hold your VMs. L'esempio seguente crea un account di archiviazione denominato mystorageaccount:The following example creates a storage account named 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.Create a virtual network to connect your VMs to. L'esempio seguente crea una rete virtuale denominata myVnet con prefisso dell'indirizzo 192.168.0.0/16:The following example creates a virtual network named myVnet with an address prefix of 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.Create two virtual network subnets - one for front-end traffic and one for back-end traffic. L'esempio seguente crea due subnet denominate mySubnetFrontEnd e mySubnetBackEnd:The following example creates two subnets, named mySubnetFrontEnd and 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 reteCreate and configure multiple NICs

È 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.You can read more details about deploying multiple NICs using the Azure CLI, including scripting the process of looping through to create all the NICs.

L'esempio seguente crea due schede di interfaccia di rete, denominate myNic1 e myNic2, con una scheda che si connette a ogni subnet:The following example creates two NICs, named myNic1 and myNic2, with one NIC connecting to each 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.Typically you also create a Network Security Group or load balancer to help manage and distribute traffic across your VMs. L'esempio seguente crea un gruppo di sicurezza di rete denominato myNetworkSecurityGroup:The following example creates a Network Security Group named 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.Bind your NICs to the Network Security Group using azure network nic set. L'esempio seguente associa myNic1 e myNic2 a myNetworkSecurityGroup:The following example binds myNic1 and myNic2 with 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 reteCreate a VM and attach the NICs

In fase di creazione della macchina virtuale, è ora possibile specificare più schede di rete.When creating the VM, you now specify multiple NICs. 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.Rather using --nic-name to provide a single NIC, instead you use --nic-names and provide a comma-separated list of NICs. L'utente deve anche fare attenzione quando seleziona la dimensione della macchina virtuale.You also need to take care when you select the VM size. Esistono dei limiti per quanto riguarda il numero totale di schede di rete che è possibile aggiungere.There are limits for the total number of NICs that you can add to a VM. Ulteriori informazioni sulle dimensioni delle macchine virtuali di Linux.Read more about Linux VM sizes. 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):The following example shows how to specify multiple NICs and then a VM size that supports using multiple NICs (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 ManagerCreate multiple NICs using Resource Manager templates

I modelli di Azure Resource Manager utilizzano i file JSON dichiarativi per definire l'ambiente.Azure Resource Manager templates use declarative JSON files to define your environment. È possibile consultare una panoramica di Azure Resource Manager.You can read an overview of 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.Resource Manager templates provide a way to create multiple instances of a resource during deployment, such as creating multiple NICs. Utilizzare Copia per specificare il numero di istanze da creare:You use copy to specify the number of instances to create:

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

Ulteriori informazioni sulla creazione di più istanze utilizzando Copia.Read more about creating multiple instances using copy.

È 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:You can also use a copyIndex() to then append a number to a resource name, which allows you to create myNic1, myNic2, etc. The following shows an example of appending the index value:

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

È possibile consultare un esempio completo di creazione di più schede di rete utilizzando i modelli di Resource Manager.You can read a complete example of creating multiple NICs using Resource Manager templates.

Passaggi successiviNext steps

Assicurarsi di consultare Dimensioni delle macchine virtuali di Linux durante il tentativo di creazione di una macchina virtuale con più schede di rete.Make sure to review Linux VM sizes when trying to creating a VM with multiple NICs. Prestare attenzione al numero massimo di schede di rete supportato per ogni dimensione della macchina virtuale.Pay attention to the maximum number of NICs each VM size supports.

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.Remember that you cannot add additional NICs to an existing VM, you must create all the NICs when you deploy the VM. Prestare attenzione quando si pianificano le distribuzioni per assicurarsi di avere la connettività di rete necessaria fin dall'inizio.Take care when planning your deployments to make sure that you have all the required network connectivity from the outset.