Создание виртуальной машины со статическим частным IP-адресом с помощью Azure PowerShell

Виртуальной машине автоматически назначается частный IP-адрес из заданного вами диапазона. Этот диапазон зависит от того, в какой подсети развертывается виртуальная машина. Адрес сохраняется за виртуальной машиной до тех пор, пока она не будет удалена. Azure динамически назначает следующий доступный частный IP-адрес из подсети, в которой создается виртуальная машина. Если нужно назначить виртуальной машине конкретный IP-адрес в подсети, используйте статический IP-адрес.

Необходимые компоненты

Чтобы установить и использовать PowerShell локально, для работы с этой статьей вам понадобится модуль Azure PowerShell 5.4.1 или более поздней версии. Выполните командлет Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.

Создание или изменение группы ресурсов

Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

Создайте с помощью New-AzResourceGroup группу ресурсов с именем myResourceGroup в расположении eastus2.

## Create resource group. ##
$rg =@{
    Name = 'myResourceGroup'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

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

Создание виртуальной машины с помощью New-AzVM.

Следующая команда создает виртуальную машину Windows Server. Когда появится запрос, укажите имя пользователя и пароль в качестве учетных данных для виртуальной машины.

## Create virtual machine. ##
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Location = 'East US 2'
    Name = 'myVM'
    PublicIpAddressName = 'myPublicIP'
}
New-AzVM @vm

Изменение частного IP-адреса на статический

В этом разделе вы измените частный IP-адрес созданной ранее виртуальной машины с динамического на статический.

Используйте Get-AzVirtualNetwork, чтобы сделать конфигурацию виртуальной сети переменной. Используйте Get-AzVirtualNetworkSubnetConfig, чтобы сделать конфигурацию подсети переменной. Используйте Get-AzNetworkInterface, чтобы получить конфигурацию сетевого интерфейса и сделать ее переменной. Используйте Set-AzNetworkInterfaceIpConfig для настройки конфигурации сетевого интерфейса. Используйте Set-AzNetworkInterface для настройки конфигурации виртуальной машины.

Следующая команда изменяет частный IP-адрес виртуальной машины на статический:

## Place virtual network configuration into a variable. ##
$net = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net

## Place subnet configuration into a variable. ##
$sub = @{
    Name = 'myVM'
    VirtualNetwork = $vnet
}
$subnet = Get-AzVirtualNetworkSubnetConfig @sub

## Get name of network interface and place into a variable ##
$int1 = @{
    Name = 'myVM'
    ResourceGroupName = 'myResourceGroup'
}
$vm = Get-AzVM @int1

## Place network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -ResourceId $vm.NetworkProfile.NetworkInterfaces.Id

## Set interface configuration. ##
$config =@{
    Name = 'myVM'
    PrivateIpAddress = '192.168.1.4'
    Subnet = $subnet
}
$nic | Set-AzNetworkInterfaceIpConfig @config -Primary

## Save interface configuration. ##
$nic | Set-AzNetworkInterface

Предупреждение

В операционной системе виртуальной машины не следует статически назначать частный IP-адрес, назначенный виртуальной машине Azure. Выполняйте статическое назначение частного IP-адреса лишь по необходимости. Например, при назначении виртуальным машинам нескольких IP-адресов.

Если вы вручную настроили частный IP-адрес в операционной системе, убедитесь, что он совпадает с частным IP-адресом, который назначен сетевому интерфейсу Azure. В противном случае соединение с виртуальной машиной может быть разорвано. Ознакомьтесь с дополнительными сведениями о параметрах частных IP-адресов.

Очистка ресурсов

Вы можете удалить ненужную группу ресурсов и все содержащиеся в ней ресурсы с помощью командлета Remove-AzResourceGroup:

Remove-AzResourceGroup -Name myResourceGroup -Force

Следующие шаги