Краткое руководство. Создание виртуальной машины Windows Server с помощью PowerShell в Azure Stack Hub
Вы можете создать виртуальную машину Windows Server 2016 с помощью PowerShell в Azure Stack Hub. Чтобы создать и использовать виртуальную машину, выполните действия, описанные в этой статье. В этой статье приведены инструкции, которые помогут вам:
- подключиться к виртуальной машине через удаленный клиент;
- установить веб-сервер 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.
Настроив PowerShell для Azure Stack Hub, подключитесь к среде Azure Stack Hub. Инструкции см. в руководстве по настройке пользовательской среды PowerShell в Azure Stack Hub.
Создание группы ресурсов
Группа ресурсов — это логический контейнер, в котором выполняется развертывание и администрирование ресурсов 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-адрес общедоступным IP-адресом своей виртуальной машины. При появлении запроса введите имя пользователя и пароль, которые использовались при создании виртуальной машины.
mstsc /v <publicIpAddress>
Установка IIS с помощью PowerShell
Войдя на виртуальную машину Azure, вы можете установить IIS и включить локальное правило брандмауэра, разрешающее веб-трафик, с помощью одной строки кода PowerShell. Откройте командную строку PowerShell и выполните следующую команду:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Просмотр страницы приветствия IIS
Установив IIS и открыв порт 80 на виртуальной машине, вы можете просмотреть страницу приветствия IIS по умолчанию в любом браузере. Чтобы перейти на страницу по умолчанию, используйте значение publicIpAddress, записанное в предыдущем разделе.
Удаление виртуальной машины
Если группа ресурсов, содержащая виртуальную машину и связанные с ней ресурсы, больше не нужна, выполните следующую команду для ее удаления:
Remove-AzResourceGroup `
-Name $ResourceGroupName
Дальнейшие действия
В рамках этого краткого руководстве вы развернули простую виртуальную машину Windows. Дополнительные сведения о виртуальных машинах Azure Stack Hub см. в статье Рекомендации по использованию виртуальных машин в Azure Stack Hub.