你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程 - 使用自定义脚本扩展将应用程序部署到 Azure 中的 Windows 虚拟机

适用于:✔️ Windows ✔️ 灵活规模集 ✔️ 统一规模集

若要以快速一致的方式配置虚拟机 (VM),可以使用适用于 Windows 的自定义脚本扩展。 本教程介绍如何执行下列操作:

  • 使用自定义脚本扩展安装 IIS。
  • 创建使用自定义脚本扩展的 VM。
  • 在应用扩展后查看正在运行的 IIS 站点。

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,请从代码块的右上角选择打开 Cloudshell。 也可以通过转到 https://shell.azure.com/powershell 在单独的浏览器标签页中启动 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

自定义脚本扩展概述

自定义脚本扩展在 Azure VM 上下载和执行脚本。 此扩展适用于部署后配置、软件安装或其他任何配置或管理任务。 可以从 Azure 存储或 GitHub 中下载脚本,或在扩展运行时将脚本提供给 Azure 门户。

自定义脚本扩展与 Azure 资源管理器模板集成,并且可以通过 Azure CLI、PowerShell、Azure 门户或 Azure 虚拟机 REST API 来运行。

自定义脚本扩展适用于 Linux 和 Windows VM。

创建虚拟机

使用 Get-Credential 设置 VM 的管理员用户名和密码:

$cred = Get-Credential

现在,可使用 New-AzVM 创建 VM。 以下示例在“EastUS”位置 创建一个名为 myVM 的 VM。 如果资源组 myResourceGroupAutomate 和支持的网络资源不存在,则会创建它们。 此 cmdlet 还打开端口 80,目的是允许 Web 流量。

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

创建资源和 VM 需要几分钟时间。

自动安装 IIS

使用 Set-AzVMExtension 安装自定义脚本扩展。 该扩展运行 powershell Add-WindowsFeature Web-Server 来安装 IIS Web 服务器,然后更新 Default.htm 页以显示 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)"}'

测试网站

使用 Get-AzPublicIPAddress 获取负载均衡器的公共 IP 地址。 以下示例获取前面创建的 myPublicIPAddress 的 IP 地址:

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

然后,可将公共 IP 地址输入 Web 浏览器中。 网站随即显示,其中包括负载均衡器将流量分发到的 VM 的主机名,如下例所示:

Web 浏览器中公共 IP 地址的屏幕截图。

后续步骤

在本教程中,你在 VM 上自动执行了 IIS 安装。 你已了解如何执行以下操作:

  • 使用自定义脚本扩展安装 IIS。
  • 创建使用自定义脚本扩展的 VM。
  • 在应用扩展后查看正在运行的 IIS 站点。

转到下一教程,了解如何创建自定义 VM 映像。