Esercitazione - Distribuire applicazioni in una macchina virtuale Windows in Azure usando l'estensione script personalizzatiTutorial - Deploy applications to a Windows virtual machine in Azure with the Custom Script Extension

Per configurare macchine virtuali (VM) in modo rapido e coerente, di norma è consigliabile una qualche forma di automazione.To configure virtual machines (VMs) in a quick and consistent manner, some form of automation is typically desired. Un approccio comune per personalizzare una macchina virtuale Windows consiste nell'usare l'estensione script personalizzata per Windows.A common approach to customize a Windows VM is to use Custom Script Extension for Windows. In questa esercitazione si apprenderà come:In this tutorial you learn how to:

  • Usare l'estensione dello script personalizzata per installare IISUse the Custom Script Extension to install IIS
  • Creare una macchina virtuale che usi l'estensione dello script personalizzataCreate a VM that uses the Custom Script Extension
  • Visualizzare un sito IIS in esecuzione dopo l'applicazione dell'estensioneView a running IIS site after the extension is applied

Avviare Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.It has common Azure tools preinstalled and configured to use with your account. È sufficiente fare clic su Copia per copiare il codice, incollarlo in Cloud Shell e quindi premere INVIO per eseguirlo.Just click the Copy to copy the code, paste it into the Cloud Shell, and then press enter to run it. Esistono alcuni modi per avviare Cloud Shell:There are a few ways to launch the Cloud Shell:

Fare clic su Prova nell'angolo superiore destro di un blocco di codice.Click Try It in the upper right corner of a code block. Cloud Shell in questo articolo
Aprire Cloud Shell nel browser.Open Cloud Shell in your browser. https://shell.azure.com/powershell
Fare clic sul pulsante Cloud Shell nel menu in alto a destra nel portale di Azure.Click the Cloud Shell button on the menu in the upper right of the Azure portal. Cloud Shell nel portaleCloud Shell in the portal

Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario il modulo Azure PowerShell versione 5.7.0 o successiva.If you choose to install and use the PowerShell locally, this tutorial requires the Azure PowerShell module version 5.7.0 or later. Eseguire Get-Module -ListAvailable AzureRM per trovare la versione.Run Get-Module -ListAvailable AzureRM to find the version. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzureRmAccount per creare una connessione con Azure.If you are running PowerShell locally, you also need to run Connect-AzureRmAccount to create a connection with Azure.

Panoramica dell'estensione script personalizzataCustom script extension overview

L'estensione script personalizzata scarica ed esegue gli script sulle macchine virtuali di Azure.The Custom Script Extension downloads and executes scripts on Azure VMs. Questa estensione è utile per la configurazione post-distribuzione, l'installazione di software o qualsiasi altra attività di configurazione o gestione.This extension is useful for post deployment configuration, software installation, or any other configuration / management task. Gli script possono essere scaricati dall'archiviazione di Azure o da GitHub, oppure possono essere forniti al portale di Azure durante il runtime dell'estensione.Scripts can be downloaded from Azure storage or GitHub, or provided to the Azure portal at extension run time.

L'estensione script personalizzata è integrabile nei modelli di Azure Resource Manager e può essere eseguita anche tramite l'interfaccia della riga di comando di Azure, PowerShell, il portale di Azure o l'API REST di Macchine virtuali di Azure.The Custom Script extension integrates with Azure Resource Manager templates, and can also be run using the Azure CLI, PowerShell, Azure portal, or the Azure Virtual Machine REST API.

È possibile usare l'estensione script personalizzata con macchine virtuali sia Linux che Windows.You can use the Custom Script Extension with both Windows and Linux VMs.

Crea macchina virtualeCreate virtual machine

Impostare prima di tutto nome utente e password dell'amministratore della macchina virtuale con il comando Get-Credential:First, set an administrator username and password for the VM with Get-Credential:

$cred = Get-Credential

A questo punto è possibile creare la macchina virtuale con il comando New AzureRmVM.Now you can create the VM with New-AzureRmVM. L'esempio seguente crea una macchina virtuale denominata myVM nell'area EastUS.The following example creates a VM named myVM in the EastUS location. Se non esistono già, vengono creati il gruppo di risorse myResourceGroupAutomate e le rispettive risorse di rete di supporto.If they do not already exist, the resource group myResourceGroupAutomate and supporting network resources are created. Per consentire il traffico Web, il cmdlet apre anche la porta 80.To allow web traffic, the cmdlet also opens port 80.

New-AzureRmVm `
    -ResourceGroupName "myResourceGroupAutomate" `
    -Name "myVM" `
    -Location "East US" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -OpenPorts 80 `
    -Credential $cred

Per creare le risorse e la macchina virtuale sono necessari alcuni minuti.It takes a few minutes for the resources and VM to be created.

Automatizzare l'installazione IISAutomate IIS install

Usare il comando Set-AzureRmVMExtension per installare l'estensione dello script personalizzata.Use Set-AzureRmVMExtension to install the Custom Script Extension. L'estensione esegue powershell Add-WindowsFeature Web-Server per installare il server Web IIS e quindi aggiorna la pagina Default.htm per visualizzare il nome host della VM:The extension runs powershell Add-WindowsFeature Web-Server to install the IIS webserver and then updates the Default.htm page to show the hostname of the VM:

Set-AzureRmVMExtension -ResourceGroupName "myResourceGroupAutomate" `
    -ExtensionName "IIS" `
    -VMName "myVM" `
    -Location "EastUS" `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.8 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'

Testare il sito WebTest web site

Ottenere l'indirizzo IP pubblico del servizio di bilanciamento del carico con il comando Get-AzureRmPublicIPAddress.Obtain the public IP address of your load balancer with Get-AzureRmPublicIPAddress. L'esempio seguente ottiene l'indirizzo IP per myPublicIPAddress creato in precedenza:The following example obtains the IP address for myPublicIPAddress created earlier:

Get-AzureRmPublicIPAddress `
    -ResourceGroupName "myResourceGroupAutomate" `
    -Name "myPublicIPAddress" | select IpAddress

Sarà quindi possibile immettere l'indirizzo IP pubblico in un Web browser.You can then enter the public IP address in to a web browser. Verrà visualizzato il sito Web, con il nome host della macchina virtuale a cui il servizio di bilanciamento del carico ha distribuito il traffico, come nell'esempio seguente:The website is displayed, including the hostname of the VM that the load balancer distributed traffic to as in the following example:

Esecuzione del sito Web IIS

Passaggi successiviNext steps

In questa esercitazione è stata automatizzata l'installazione di IIS in una macchina virtuale.In this tutorial, you automated the IIS install on a VM. Si è appreso come:You learned how to:

  • Usare l'estensione dello script personalizzata per installare IISUse the Custom Script Extension to install IIS
  • Creare una macchina virtuale che usi l'estensione dello script personalizzataCreate a VM that uses the Custom Script Extension
  • Visualizzare un sito IIS in esecuzione dopo l'applicazione dell'estensioneView a running IIS site after the extension is applied

Passare all'esercitazione successiva per imparare a creare immagini di macchine virtuali personalizzate.Advance to the next tutorial to learn how to create custom VM images.