教程:使用 Azure PowerShell 在 Windows VM 中安装 SQL、IIS、.NET 堆栈

在本教程中,我们将使用 Azure PowerShell 安装 SQL、IIS、.NET 堆栈。 此堆栈包含两个运行 Windows Server 2016 的 VM,一个带有 IIS 和 .NET,另一个带有 SQL Server。

  • 创建 VM
  • 在 VM 上安装 IIS 和 .NET Core SDK
  • 创建运行 SQL Server 的 VM
  • 安装 SQL Server 扩展

启动 Azure Cloud Shell

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

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

创建 IIS VM

在此示例中,我们使用 New-AzVM cmdlet 在 PowerShell Cloud Shell 中快速创建 Windows Server 2016 VM,然后安装 IIS 和 .NET Framework。 IIS 和 SQL VM 共享资源组和虚拟网络,因此我们创建这些名称的变量。

$vmName = "IISVM"
$vNetName = "myIISSQLvNet"
$resourceGroup = "myIISSQLGroup"
New-AzVm `
    -ResourceGroupName $resourceGroup `
    -Name $vmName `
    -Location "East US" `
    -VirtualNetworkName $vNetName `
    -SubnetName "myIISSubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
	-AddressPrefix 192.168.0.0/16 `
    -PublicIpAddressName "myIISPublicIpAddress" `
    -OpenPorts 80,3389 

通过 Set-AzVMExtension cmdlet 使用自定义脚本扩展安装 IIS 和 .NET Framework。

Set-AzVMExtension `
    -ResourceGroupName $resourceGroup `
    -ExtensionName IIS `
    -VMName $vmName `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server,Web-Asp-Net45,NET-Framework-Features"}' `
    -Location EastUS

创建另一子网

为 SQL VM 创建第二个子网。 使用 [Get-AzVirtualNetwork]{/powershell/module/az.network/get-azvirtualnetwork} 获取 vNet。

$vNet = Get-AzVirtualNetwork `
   -Name $vNetName `
   -ResourceGroupName $resourceGroup

使用 Add-AzVirtualNetworkSubnetConfig 为子网创建配置。

Add-AzVirtualNetworkSubnetConfig `
   -AddressPrefix 192.168.0.0/24 `
   -Name mySQLSubnet `
   -VirtualNetwork $vNet `
   -ServiceEndpoint Microsoft.Sql

通过 Set-AzVirtualNetwork 使用新的子网信息更新 vNet

$vNet | Set-AzVirtualNetwork

Azure SQL VM

使用 SQL Server 的预配置 Azure 市场映像创建 SQL VM。 首先创建 VM,然后在 VM 上安装 SQL Server 扩展。

New-AzVm `
    -ResourceGroupName $resourceGroup `
    -Name "mySQLVM" `
	-ImageName "MicrosoftSQLServer:SQL2016SP1-WS2016:Enterprise:latest" `
    -Location eastus `
    -VirtualNetworkName $vNetName `
    -SubnetName "mySQLSubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "mySQLPublicIpAddress" `
    -OpenPorts 3389,1401 

使用 Set-AzVMSqlServerExtensionSQL Server 扩展添加到 SQL VM。

Set-AzVMSqlServerExtension `
   -ResourceGroupName $resourceGroup  `
   -VMName mySQLVM `
   -Name "SQLExtension" `
   -Location "EastUS"

后续步骤

本教程介绍如何使用 Azure PowerShell 安装 SQL \IIS\.NET 堆栈。 你已了解如何执行以下操作:

  • 创建 VM
  • 在 VM 上安装 IIS 和 .NET Core SDK
  • 创建运行 SQL Server 的 VM
  • 安装 SQL Server 扩展

转到下一教程,了解如何使用 TLS/SSL 证书保护 IIS Web 服务器。