Tutorial: Bereitstellen von Anwendungen auf einem virtuellen Windows-Computer in Azure mit der benutzerdefinierten SkripterweiterungTutorial - Deploy applications to a Windows virtual machine in Azure with the Custom Script Extension

Virtuelle Computer (virtual machines, VMs) können unter Verwendung der benutzerdefinierten Skripterweiterung für Windows schnell und konsistent konfiguriert werden.To configure virtual machines (VMs) in a quick and consistent manner, you can use the Custom Script Extension for Windows. In diesem Tutorial lernen Sie Folgendes:In this tutorial you learn how to:

  • Verwenden der benutzerdefinierten Skripterweiterung zur Installation von IISUse the Custom Script Extension to install IIS
  • Erstellen eines virtuellen Computers, der die benutzerdefinierte Skripterweiterung verwendetCreate a VM that uses the Custom Script Extension
  • Anzeigen einer ausgeführten IIS-Website aus nach Anwendung der ErweiterungView a running IIS site after the extension is applied

Starten von Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel ausführen können.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Sie verfügt über allgemeine vorinstallierte Tools und ist für die Verwendung mit Ihrem Konto konfiguriert.It has common Azure tools preinstalled and configured to use with your account.

Wählen Sie zum Öffnen von Cloud Shell oben rechts in einem Codeblock einfach die Option Ausprobieren.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Sie können Cloud Shell auch auf einer separaten Browserregisterkarte starten, indem Sie zu https://shell.azure.com/powershell navigieren.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Wählen Sie Kopieren, um die Blöcke mit dem Code zu kopieren. Fügen Sie ihn anschließend in Cloud Shell ein, und drücken Sie die EINGABETASTE, um ihn auszuführen.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Übersicht über benutzerdefinierte SkripterweiterungenCustom script extension overview

Die benutzerdefinierte Skripterweiterung lädt Skripts auf Azure-VMs herunter und führt sie aus.The Custom Script Extension downloads and executes scripts on Azure VMs. Diese Erweiterung ist hilfreich bei der Konfiguration nach der Bereitstellung, bei der Softwareinstallation oder bei anderen Konfigurations-/Verwaltungsaufgaben.This extension is useful for post deployment configuration, software installation, or any other configuration / management task. Skripts können aus Azure Storage oder GitHub heruntergeladen oder dem Azure-Portal zur Laufzeit für die Erweiterung bereitgestellt werden.Scripts can be downloaded from Azure storage or GitHub, or provided to the Azure portal at extension run time.

Die benutzerdefinierte Skripterweiterung kann in Azure Resource Manager-Vorlagen integriert und auch mithilfe der Azure-Befehlszeilenschnittstelle, mithilfe von PowerShell, über das Azure-Portal oder unter Verwendung der REST-API für virtuelle Azure-Computer ausgeführt werden.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.

Sie können die benutzerdefinierte Skripterweiterung mit Windows- und Linux-VMs verwenden.You can use the Custom Script Extension with both Windows and Linux VMs.

Erstellen eines virtuellen ComputersCreate virtual machine

Legen Sie mit Get-Credential den Benutzernamen und das Kennwort des Administrators des virtuellen Computers fest:Set the administrator username and password for the VM with Get-Credential:

$cred = Get-Credential

Nun können Sie mit New-AzVM den virtuellen Computer erstellen.Now you can create the VM with New-AzVM. Im folgenden Beispiel wird eine VM mit dem Namen myVM für den Standort EastUS erstellt.The following example creates a VM named myVM in the EastUS location. Falls sie nicht bereits vorhanden sind, werden die Ressourcengruppe myResourceGroupAutomate und unterstützende Netzwerkressourcen erstellt.If they do not already exist, the resource group myResourceGroupAutomate and supporting network resources are created. Um Webdatenverkehr zuzulassen, öffnet das Cmdlet auch Port 80.To allow web traffic, the cmdlet also opens port 80.

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

Die Erstellung der Ressourcen und VM dauert einige Minuten.It takes a few minutes for the resources and VM to be created.

Automatisieren der Installation von IISAutomate IIS install

Verwenden Sie Set-AzVMExtension, um die benutzerdefinierte Skripterweiterung zu installieren.Use Set-AzVMExtension to install the Custom Script Extension. Die Erweiterung führt powershell Add-WindowsFeature Web-Server zum Installieren des IIS-Webservers aus und aktualisiert dann die Seite Default.htm mit dem Hostnamen der 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-AzVMExtension -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)"}'

Testen der WebsiteTest web site

Rufen Sie mit Get-AzPublicIPAddress die öffentliche IP-Adresse Ihres Lastenausgleichs ab.Obtain the public IP address of your load balancer with Get-AzPublicIPAddress. Im folgenden Beispiel wird die IP-Adresse für myPublicIPAddress abgerufen, die wir zuvor erstellt haben:The following example obtains the IP address for myPublicIPAddress created earlier:

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

Geben Sie die öffentliche IP-Adresse in einem Webbrowser ein.You can then enter the public IP address in to a web browser. Die Website wird mit dem Hostnamen der VM angezeigt, an die der Load Balancer den Datenverkehr wie im folgenden Beispiel verteilt hat:The website is displayed, including the hostname of the VM that the load balancer distributed traffic to as in the following example:

Ausführen der IIS-Website

Nächste SchritteNext steps

In diesem Tutorial haben Sie die IIS-Installation auf einem virtuellen Computer automatisiert.In this tutorial, you automated the IIS install on a VM. Es wurde Folgendes vermittelt:You learned how to:

  • Verwenden der benutzerdefinierten Skripterweiterung zur Installation von IISUse the Custom Script Extension to install IIS
  • Erstellen eines virtuellen Computers, der die benutzerdefinierte Skripterweiterung verwendetCreate a VM that uses the Custom Script Extension
  • Anzeigen einer ausgeführten IIS-Website aus nach Anwendung der ErweiterungView a running IIS site after the extension is applied

Im nächsten Tutorial erfahren Sie, wie Sie benutzerdefinierte VM-Images erstellen.Advance to the next tutorial to learn how to create custom VM images.