教程:使用 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 扩展

如果选择在本地安装并使用 PowerShell,则本教程需要 AzureRM.Compute 模块 5.7.0 或更高版本。 运行 Get-Module -ListAvailable AzureRM.Compute 即可查找版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。

创建 IIS VM

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

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

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

Set-AzureRmVMExtension `
    -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 "chinanorth"

创建另一子网

为 SQL VM 创建第二个子网。 使用 Get-AzureRmVirtualNetwork 获取 vNet。

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

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

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

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

$vNet | Set-AzureRmVirtualNetwork

Azure SQL VM

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

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

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

Set-AzureRmVMSqlServerExtension `
   -ResourceGroupName $resourceGroup  `
   -VMName mySQLVM `
   -Name "SQLExtension" `
   -Location "chinanorth"

后续步骤

在本教程中,已使用 Azure PowerShell 安装 SQL\IIS\.NET 堆栈。 你已了解如何:

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

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