Come creare un set di scalabilità di macchine virtuali con Visual StudioHow to create a Virtual Machine Scale Set with Visual Studio

Questo articolo descrive come distribuire un set di scalabilità della macchina virtuale di Azure usando una distribuzione del gruppo di risorse di Visual Studio.This article shows you how to deploy an Azure Virtual Machine Scale Set using a Visual Studio Resource Group Deployment.

Set di scalabilità di macchine virtuali di Azure è una risorsa di calcolo di Azure per distribuire e gestire una raccolta di macchine virtuali simili con scalabilità automatica e bilanciamento del carico.Azure Virtual Machine Scale Sets is an Azure Compute resource to deploy and manage a collection of similar virtual machines with auto-scale and load balancing. È possibile eseguire il provisioning e distribuire set di scalabilità di macchine virtuali tramite i modelli di Azure Resource Manager.You can provision and deploy Virtual Machine Scale Sets using Azure Resource Manager Templates. I modelli di Azure Resource Manager possono essere distribuiti tramite l'interfaccia della riga di comando di Azure, PowerShell, REST e direttamente da Visual Studio.Azure Resource Manager Templates can be deployed using Azure CLI, PowerShell, REST and also directly from Visual Studio. Visual Studio offre un set di modelli di esempio che possono essere distribuiti come parte di un progetto di distribuzione del gruppo di risorse di Azure.Visual Studio provides a set of example templates, which can be deployed as part of an Azure Resource Group Deployment project.

Le distribuzioni del gruppo di risorse di Azure sono un modo di raggruppare e pubblicare un set di risorse di Azure correlate con un'unica operazione di distribuzione.Azure Resource Group deployments are a way to group and publish a set of related Azure resources in a single deployment operation. Sono disponibili altre informazioni in Creazione e distribuzione di gruppi di risorse di Azure tramite Visual Studio.You can learn more about them here: Creating and deploying Azure resource groups through Visual Studio.

PrerequisitiPre-requisites

Per iniziare a distribuire set di scalabilità di macchine virtuali in Visual Studio è necessario quanto segue:To get started deploying Virtual Machine Scale Sets in Visual Studio, you need the following:

  • Visual Studio 2013 o versioni successiveVisual Studio 2013 or later
  • Azure SDK 2.7, 2.8 o 2.9Azure SDK 2.7, 2.8 or 2.9

Nota

Queste istruzioni presuppongono l'uso di Visual Studio con Azure SDK 2.8.These instructions assume you are using Visual Studio with Azure SDK 2.8.

Creazione di un progettoCreating a Project

  1. Creare un nuovo progetto in Visual Studio scegliendo File | Nuovo | Progetto.Create a new project in Visual Studio by choosing File | New | Project.

    File Nuovo

  2. In Visual C# | Cloud scegliere Azure Resource Manager per creare un progetto per la distribuzione di un modello di Azure Resource Manager.Under Visual C# | Cloud, choose Azure Resource Manager to create a project for deploying an Azure Resource Manager Template.

    Crea progetto

  3. Dall'elenco dei modelli, selezionare il modello di set di scalabilità della macchina virtuale Linux o Windows.From the list of Templates, select either the Linux or Windows Virtual Machine Scale Set Template.

    Seleziona modello

  4. Dopo aver creato il progetto saranno disponibili gli script di distribuzione di PowerShell, un modello di Azure Resource Manager e un file di parametri per il set di scalabilità di macchine virtuali.Once your project is created you see PowerShell deployment scripts, an Azure Resource Manager Template, and a parameter file for the Virtual Machine Scale Set.

    Esplora soluzioni

Personalizzare il progettoCustomize your project

È ora possibile modificare il modello per personalizzarlo in base alle esigenze dell'applicazione, ad esempio aggiungendo proprietà di estensione della macchina virtuale o modificando le regole di bilanciamento del carico.Now you can edit the Template to customize it for your application's needs, such as adding VM extension properties or editing load balancing rules. Per impostazione predefinita, i modelli del set di scalabilità di macchine virtuali sono configurati in modo da distribuire l'estensione AzureDiagnostics, che semplifica l'aggiunta di regole di scalabilità automatica.By default the Virtual Machine Scale Set Templates are configured to deploy the AzureDiagnostics extension, which makes it easy to add autoscale rules. L'estensione inoltre distribuisce un servizio di bilanciamento del carico con un indirizzo IP pubblico, configurato con regole NAT in entrata.It also deploys a load balancer with a public IP address, configured with inbound NAT rules.

Il servizio di bilanciamento del carico consente di connettersi alle istanze della macchina virtuale con SSH (Linux) o RDP (Windows).The load balancer lets you connect to the VM instances with SSH (Linux) or RDP (Windows). L'intervallo di porte front-end inizia da 50000.The front-end port range starts at 50000. Per Linux ciò significa che se si usa SSH con la porta 50000, si viene instradati alla porta 22 della prima macchina virtuale nel set di scalabilità.For linux this means that if you SSH to port 50000, you are routed to port 22 of the first VM in the Scale Set. La connessione alla porta 50001 determina l'instradamento alla porta 22 della seconda macchina virtuale e così via.Connecting to port 50001 is routed to port 22 of the second VM and so on.

Un buon metodo per modificare i modelli con Visual Studio consiste nell'usare la struttura JSON per organizzare i parametri, le variabili e le risorse.A good way to edit your Templates with Visual Studio is to use the JSON Outline to organize the parameters, variables, and resources. Comprendendo lo schema, Visual Studio è in grado di indicare errori nel modello prima che venga distribuito.With an understanding of the schema Visual Studio can point out errors in your Template before you deploy it.

Esplora JSON

Distribuire il progettoDeploy the project

  1. Distribuire il modello di Azure Resource Manager per creare la risorsa set di scalabilità di macchine virtuali.Deploy the Azure Resource Manager Template to create the Virtual Machine Scale Set resource. Fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Distribuisci | Nuova distribuzione.Right-click on the project node and choose Deploy | New Deployment.

    Modello di distribuzione

  2. Selezionare la sottoscrizione nella finestra di dialogo "Distribuisci in gruppo di risorse".Select your subscription in the “Deploy to Resource Group” dialog.

    Modello di distribuzione

  3. Da qui è possibile creare un gruppo di risorse di Azure a cui distribuire il modello.From here, you can create an Azure Resource Group to deploy your Template to.

    Nuovo gruppo di risorse

  4. Successivamente, fare clic su Modifica parametri per immettere i parametri trasmessi al modello.Next, click Edit Parameters to enter parameters that are passed to your Template. Specificare nome utente e password per il sistema operativo, che servono per creare la distribuzione.Provide the username and password for the OS, which is required to create the deployment. Se PowerShell Tools for Visual Studio non è installato, è consigliabile selezionare Salva password per evitare un prompt della riga di comando di PowerShell nascosto, oppure usare il supporto dell'insieme di credenziali delle chiavi.If you don't have PowerShell Tools for Visual Studio installed, it is recommended to check Save passwords to avoid a hidden PowerShell command-line prompt, or use keyvault support.

    Modifica parametri

  5. Fare quindi clic su Distribuisci.Now click Deploy. La finestra Output visualizza lo stato della distribuzione.The Output window shows the deployment progress. Si noti che l'azione esegue lo script Deploy-AzureResourceGroup.ps1 .Note that the action is executing the Deploy-AzureResourceGroup.ps1 script.

    Finestra Output

Esplorare il set di scalabilità di macchine virtualiExploring your Virtual Machine Scale Set

Al termine della distribuzione, è possibile visualizzare il nuovo set di scalabilità di macchine virtuali in Cloud Explorer di Visual Studio (aggiornare l'elenco).Once the deployment completes, you can view the new Virtual Machine Scale Set in the Visual Studio Cloud Explorer (refresh the list). Cloud Explorer consente di gestire le risorse di Azure in Visual Studio durante lo sviluppo di applicazioni.Cloud Explorer lets you manage Azure resources in Visual Studio while developing applications. È anche possibile visualizzare il set di scalabilità di macchine virtuali nel Portale di Azure e in Esplora inventario risorse di Azure.You can also view your Virtual Machine Scale Set in the Azure portal and Azure Resource Explorer.

Cloud Explorer

Il portale rappresenta il modo migliore per gestire la visualizzazione dell'infrastruttura di Azure con un Web browser, mentre Azure Resource Explorer offre un modo semplice per esplorare le risorse di Azure ed eseguirne il debug, offrendo una "visualizzazione per istanza" e visualizzando anche i comandi PowerShell per le risorse che si stanno analizzando.The portal provides the best way to visually manage your Azure infrastructure with a web browser, while Azure Resource Explorer provides an easy way to explore and debug Azure resources, giving a window into the "instance view" and also showing PowerShell commands for the resources you are looking at.

Passaggi successiviNext steps

Dopo aver distribuito i set di scalabilità di macchine virtuali tramite Visual Studio è possibile personalizzare ulteriormente il progetto in base alle esigenze dell'applicazione.Once you’ve successfully deployed Virtual Machine Scale Sets through Visual Studio, you can further customize your project to suit your application requirements. Ad esempio, è possibile configurare la scalabilità automatica aggiungendo una risorsa di Insights, aggiungendo l'infrastruttura al modello (ad esempio macchine virtuali autonome) o distribuendo applicazioni con l'estensione dello script personalizzata.For example, configure auto-scale by adding an Insights resource, adding infrastructure to your Template (like standalone VMs), or deploying applications using the custom script extension. Alcuni esempi utili di modelli sono disponibili nel repository GitHub dedicato ai modelli della guida introduttiva di Azure (cercare "vmss").Good example templates can be found in the Azure Quickstart Templates GitHub repository (search for "vmss").