Поделиться через


Краткое руководство. Создание виртуальной машины 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, который вы задокументировали в предыдущем разделе, чтобы перейти на страницу по умолчанию.

сайт IIS по умолчанию

Удаление виртуальной машины

Если больше не требуется, используйте следующую команду, чтобы удалить группу ресурсов, содержащую виртуальную машину и связанные с ней ресурсы:

Remove-AzResourceGroup `
  -Name $ResourceGroupName

Дальнейшие действия

В этом кратком руководстве вы развернули простую виртуальную машину Windows. Дополнительные сведения о виртуальных машинах Azure Stack Hub см. в функциях виртуальных машин Azure Stack Hub.