Создание виртуальных машин с помощью Azure PowerShell
В этом руководстве описаны все действия, связанные с настройкой виртуальной машины с помощью Azure PowerShell. В этом руководстве также рассматриваются выходные запросы, повторное использование ресурсов Azure и очистка ресурсов.
Это руководство можно выполнить с помощью интерактивного интерфейса, предлагаемого с помощью Azure Cloud Shell, или вы можете установить Azure PowerShell локально.
Используйте ctrl-shift-v (cmd-shift-v в macOS), чтобы вставить текст руководства в Azure Cloud Shell.
Войти
Если вы используете локальную установку Azure PowerShell, перед выполнением других действий необходимо выполнить вход.
Connect-AzAccount
Выполните процесс входа, выполнив действия, отображаемые в терминале.
Создание группы ресурсов
В Azure все ресурсы выделяются в группе управления ресурсами. Группы ресурсов предоставляют логические группировки ресурсов, которые упрощают работу с коллекцией.
В этом руководстве все созданные ресурсы попадают в одну группу с именем TutorialResources
.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Создание учетных данных администратора для виртуальной машины
Прежде чем создать новую виртуальную машину, необходимо создать объект учетных данных, содержащий имя пользователя и пароль для учетной записи администратора виртуальной машины Windows.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
При появлении запроса введите имя пользователя и пароль. Полученный объект учетных данных передается в качестве параметра на следующем шаге.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Создание виртуальной машины
Виртуальные машины в Azure имеют большое количество зависимостей. Azure PowerShell создает эти ресурсы для вас на основе указанных аргументов командной строки. Для удобства чтения мы используем PowerShell для передачи параметров командлетам Azure PowerShell.
Создайте виртуальную машину под управлением Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
При создании виртуальной машины отображаются значения параметров, используемые и создаваемые ресурсы Azure. PowerShell отобразит индикатор хода выполнения, как показано ниже.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
После готовности виртуальной машины можно просмотреть результаты на портале Azure или проверить переменную $newVM1
.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Значения свойств, перечисленные внутри фигурных скобок, являются вложенными объектами. На следующем шаге мы покажем, как просмотреть определенные значения в этих вложенных объектах.
Получение сведений о виртуальной машине с помощью запросов
Давайте получим более подробную информацию из только что созданной виртуальной машины. В этом примере мы проверяем имя виртуальной машины и созданную учетную запись администратора.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Для получения конкретных сведений о конфигурации сети можно использовать другие команды Azure PowerShell.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
В этом примере конвейер PowerShell используется для отправки объекта $newVM 1 в командлет Get-AzNetworkInterface
. Из результирующего объекта сетевого интерфейса мы выбираем вложенный объект IpConfigurations. В объекте IpConfigurations мы выбираем свойства Name и PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Чтобы убедиться, что виртуальная машина запущена, необходимо подключиться через удаленный рабочий стол. Для этого необходимо знать общедоступный IP-адрес.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
В этом примере мы используем Get-AzPublicIpAddress
и сохраняем результаты в переменной $publicIp
. Из этой переменной мы выбираем свойства и используем выражение для получения вложенного свойства Fqdn.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
На локальном компьютере можно выполнить следующую команду, чтобы подключиться к виртуальной машине через удаленный рабочий стол.
mstsc.exe /v $publicIp.IpAddress
Дополнительные сведения о запросе свойств объекта см. в запросе ресурсов Azure.
Создание виртуальной машины в существующей подсети
Вторая виртуальная машина использует существующую подсеть.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Чтобы получить общедоступный IP-адрес новой виртуальной машины, можно пропустить несколько шагов, так как он возвращается в свойстве ПолностьюQualifiedDomainName объекта $newVM2
. Используйте следующую команду, чтобы подключиться с помощью удаленного рабочего стола.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Уборка
Теперь, когда учебник завершен, пришло время очистить созданные ресурсы. Вы можете удалить отдельные ресурсы с помощью команды Remove-AzResource
, но самый безопасный способ удаления всех ресурсов в группе ресурсов — удалить группу с помощью команды Remove-AzResourceGroup
.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
Эта команда удаляет ресурсы, созданные во время руководства, и гарантированно освобождает их в правильном порядке. Параметр AsJob
позволяет PowerShell блокировать при удалении. Чтобы дождаться завершения удаления, используйте следующую команду:
Wait-Job -Id $job.Id
После завершения очистки учебник завершен. Перейдите к сводке всего, что вы узнали, и ссылки на ресурсы, которые помогут вам выполнить следующие действия.
Сводка
Поздравляю! Вы узнали, как создавать виртуальные машины с новыми или существующими ресурсами, использовать выражения и другие команды Azure PowerShell для сбора данных для хранения данных в переменных оболочки и просмотреть некоторые ресурсы, созданные для виртуальных машин Azure.
Откуда вы идете отсюда, зависит от того, как вы планируете использовать Azure PowerShell. Существуют различные материалы, которые подробно описаны в этом руководстве.
Подробная документация по Azure PowerShell
Возможно, потребуется время для изучения полной документации по Azure PowerShell набор.
Дополнительные сведения о командах, используемых в этом руководстве, см. в следующих статьях.
- New-AzResourceGroup
- получения учетных данных
- New-AzVM
- select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- задания ожидания
Существуют также статьи, которые более подробно рассматривают функции, которые были показаны в руководстве.
Примеры скриптов
Если вы хотите начать работу сразу с определенными задачами, просмотрите некоторые примеры сценариев.
- службы приложений Azure
- баз данных SQL
- Cosmos DB
- репозиторий примеров
Обратная связь
Если вы хотите дать отзывы, предложения или задать вопросы, есть несколько способов для вас связаться.
-
Send-Feedback
— это встроенная команда для Azure PowerShell, которая позволяет предоставлять команде отзыв о бесплатной форме. - Отправьте запрос компонента или отчет об ошибке в репозитории Azure PowerShell.
- Задайте вопрос или получите уточнение, задав вопрос врепозитории документации по Azure PowerShell
.
Мы надеемся, что вам нравится использовать Azure PowerShell!
Возникла проблема с этим разделом? Если это так, отправьте нам отзыв, чтобы мы исправили этот раздел.
Azure PowerShell