Краткое руководство. Создание виртуальной машины Windows Server с помощью PowerShell в Azure Stack Hub
Вы можете создать виртуальную машину Windows Server 2016 с помощью Azure Stack Hub PowerShell. Выполните действия, описанные в этой статье, чтобы создать и использовать виртуальную машину. В этой статье также приведены шаги для следующих действий.
- Подключитесь к виртуальной машине с помощью удаленного клиента.
- Установите веб-сервер IIS и просмотрите домашнюю страницу по умолчанию.
- Очистка ресурсов.
Заметка
Действия, описанные в этой статье, можно выполнить из пакета средств разработки Azure Stack или внешнего клиента под управлением Windows, если вы подключены через VPN.
Предварительные требования для виртуальной машины Windows Server
Убедитесь, что оператор Azure Stack Hub добавил образ Windows Server 2016 в Azure Stack Hub Marketplace.
Azure Stack Hub требует определенной версии Azure PowerShell для создания ресурсов и управления ими. Если вы не настроили PowerShell для Azure Stack Hub, выполните действия, чтобы установить PowerShell.
При настройке Azure Stack Hub PowerShell необходимо подключиться к среде Azure Stack Hub. Инструкции см. в статье Подключение к Azure Stack Hub с помощью PowerShell в качестве пользователя.
Создание группы ресурсов
Группа ресурсов — это логический контейнер, в котором развертываются и управляются ресурсы Azure Stack Hub. В пакете разработки или интегрированной системе Azure Stack Hub выполните следующий блок кода, чтобы создать группу ресурсов.
Заметка
Значения назначаются для всех переменных в примерах кода. Однако можно назначить новые значения, если вы хотите.
# Create variables to store the location and resource group names.
$location = "local"
$ResourceGroupName = "myResourceGroup"
New-AzResourceGroup `
-Name $ResourceGroupName `
-Location $location
Создание ресурсов хранилища
Создайте учетную запись хранения для хранения выходных данных диагностики загрузки.
# Create variables to store the storage account name and the storage account SKU information
$StorageAccountName = "mystorageaccount"
$SkuName = "Standard_LRS"
# Create a new storage account
$StorageAccount = New-AzStorageAccount `
-Location $location `
-ResourceGroupName $ResourceGroupName `
-Type $SkuName `
-Name $StorageAccountName
Set-AzCurrentStorageAccount `
-StorageAccountName $storageAccountName `
-ResourceGroupName $resourceGroupName
Создание сетевых ресурсов
Создайте виртуальную сеть, подсеть и общедоступный IP-адрес. Эти ресурсы используются для обеспечения сетевого подключения к виртуальной машине.
# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
# Create a virtual network
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $ResourceGroupName `
-Location $location `
-Name MyVnet `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
# Create a public IP address and specify a DNS name
$pip = New-AzPublicIpAddress `
-ResourceGroupName $ResourceGroupName `
-Location $location `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4 `
-Name "mypublicdns$(Get-Random)"
Создание группы безопасности сети и правила группы безопасности сети
Группа безопасности сети защищает виртуальную машину с помощью правил для входящего и исходящего трафика. Давайте создадим правило для входящих подключений по порту 3389, чтобы разрешить удаленные подключения к рабочему столу, и правило для входящих подключений по порту 80, чтобы разрешить веб-трафик.
# Create an inbound network security group rule for port 3389
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 `
-Access Allow
# Create an inbound network security group rule for port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleWWW `
-Protocol Tcp `
-Direction Inbound `
-Priority 1001 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
# Create a network security group
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $ResourceGroupName `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP,$nsgRuleWeb
Создание сетевой карты для виртуальной машины
Сетевая карта подключает виртуальную машину к подсети, группе безопасности сети и общедоступному IP-адресу.
# Create a virtual network card and associate it with public IP address and NSG
$nic = New-AzNetworkInterface `
-Name myNic `
-ResourceGroupName $ResourceGroupName `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
Создание виртуальной машины
Создайте конфигурацию виртуальной машины. Эта конфигурация включает параметры, используемые при развертывании виртуальной машины. Например: учетные данные, размер и образ виртуальной машины.
# Define a credential object to store the username and password for the VM
$UserName='demouser'
$Password='Password@123'| ConvertTo-SecureString -Force -AsPlainText
$Credential=New-Object PSCredential($UserName,$Password)
# Create the VM configuration object
$VmName = "VirtualMachinelatest"
$VmSize = "Standard_A1"
$VirtualMachine = New-AzVMConfig `
-VMName $VmName `
-VMSize $VmSize
$VirtualMachine = Set-AzVMOperatingSystem `
-VM $VirtualMachine `
-Windows `
-ComputerName "MainComputer" `
-Credential $Credential -ProvisionVMAgent
$VirtualMachine = Set-AzVMSourceImage `
-VM $VirtualMachine `
-PublisherName "MicrosoftWindowsServer" `
-Offer "WindowsServer" `
-Skus "2016-Datacenter" `
-Version "latest"
# Sets the operating system disk properties on a VM.
$VirtualMachine = Set-AzVMOSDisk `
-VM $VirtualMachine `
-CreateOption FromImage | `
Set-AzVMBootDiagnostic -ResourceGroupName $ResourceGroupName `
-StorageAccountName $StorageAccountName -Enable |`
Add-AzVMNetworkInterface -Id $nic.Id
# Create the VM.
New-AzVM `
-ResourceGroupName $ResourceGroupName `
-Location $location `
-VM $VirtualMachine
Подключение к виртуальной машине
Для удаленного доступа к виртуальной машине, созданной на предыдущем шаге, потребуется его общедоступный IP-адрес. Выполните следующую команду, чтобы получить общедоступный IP-адрес виртуальной машины:
Get-AzPublicIpAddress `
-ResourceGroupName $ResourceGroupName | Select IpAddress
Используйте следующую команду, чтобы создать сеанс удаленного рабочего стола с виртуальной машиной. Замените IP-адрес publicIPAddress виртуальной машины. При появлении запроса введите имя пользователя и пароль, используемые при создании виртуальной машины.
mstsc /v <publicIpAddress>
Установка IIS с помощью PowerShell
Теперь, когда вы вошли на виртуальную машину Azure, можно использовать одну строку PowerShell для установки IIS и включения локального правила брандмауэра для разрешения веб-трафика. Откройте строку PowerShell и выполните следующую команду:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Просмотр страницы приветствия IIS
С установленными службами IIS и с портом 80, открытым на виртуальной машине, вы можете использовать любой браузер для просмотра страницы приветствия IIS по умолчанию. Используйте publicIpAddress, который вы задокументировали в предыдущем разделе, чтобы перейти на страницу по умолчанию.
Удаление виртуальной машины
Если больше не требуется, используйте следующую команду, чтобы удалить группу ресурсов, содержащую виртуальную машину и связанные с ней ресурсы:
Remove-AzResourceGroup `
-Name $ResourceGroupName
Дальнейшие действия
В этом кратком руководстве вы развернули простую виртуальную машину Windows. Дополнительные сведения о виртуальных машинах Azure Stack Hub см. в функциях виртуальных машин Azure Stack Hub.