教程 - 使用自定义脚本扩展将应用程序部署到 Azure 中的 Windows 虚拟机
适用于:✔️ Windows ✔️ 灵活规模集 ✔️ 统一规模集
若要以快速一致的方式配置虚拟机 (VM),可以使用适用于 Windows 的自定义脚本扩展。 本教程介绍如何执行下列操作:
- 使用自定义脚本扩展安装 IIS。
- 创建使用自定义脚本扩展的 VM。
- 在应用扩展后查看正在运行的 IIS 站点。
启动 Azure 本地 PowerShell
打开 Azure Powershell 控制台,并以管理员权限运行以下脚本。
自定义脚本扩展概述
自定义脚本扩展在 Azure VM 上下载和执行脚本。 此扩展适用于部署后配置、软件安装或其他任何配置或管理任务。 可以从 Azure 存储或 GitHub 中下载脚本,或在扩展运行时将脚本提供给 Azure 门户。
自定义脚本扩展与 Azure 资源管理器模板集成,并且可以通过 Azure CLI、PowerShell、Azure 门户或 Azure 虚拟机 REST API 来运行。
自定义脚本扩展适用于 Linux 和 Windows VM。
创建虚拟机
使用 Get-Credential 设置 VM 的管理员用户名和密码:
Connect-AzAccount -Environment AzureChinaCloud
$cred = Get-Credential
现在,可使用 New-AzVM 创建 VM。 以下示例在“ChinaEast”位置创建一个名为 myVM 的 VM。 如果资源组 myResourceGroupAutomate 和支持的网络资源不存在,则会创建它们。 此 cmdlet 还打开端口 80,目的是允许 Web 流量。
New-AzVm `
-ResourceGroupName "myResourceGroupAutomate" `
-Name "myVM" `
-Location "China East 2" `
-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 "ChinaEast2" `
-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 的主机名,如下例所示:
后续步骤
在本教程中,你在 VM 上自动执行了 IIS 安装。 你已了解如何执行以下操作:
- 使用自定义脚本扩展安装 IIS。
- 创建使用自定义脚本扩展的 VM。
- 在应用扩展后查看正在运行的 IIS 站点。
转到下一教程,了解如何创建自定义 VM 映像。