Общие команды PowerShell для виртуальных сетей Azure
Область применения: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows
Если вы хотите создать виртуальную машину, необходимо создать виртуальную сеть или иметь данные существующей виртуальной сети, в которую можно добавить виртуальную машину. Обычно при создании виртуальной машины требуется также рассмотреть возможность создания ресурсов, приведенных в этой статье.
Сведения об установке последней версии Azure PowerShell, а также о выборе нужной подписки и входе в учетную запись Azure см. в статье Как установить и настроить службы Azure PowerShell.
При выполнении нескольких команд, описываемых в этой статье, могут пригодиться некоторые переменные.
- $location — расположение сетевых ресурсов. Вы можете использовать командлет Get-AzLocation, чтобы найти используемый географический регион.
- $myResourceGroup — имя группы ресурсов, в которой находятся сетевые ресурсы.
Создание сетевых ресурсов
Задача | Get-Help |
---|---|
Создание конфигураций подсети | $subnet1 = New-AzVirtualNetworkSubnetConfig -Name "mySubnet1" -AddressPrefix XX.X.X.X/XX $subnet2 = New-AzVirtualNetworkSubnetConfig -Name "mySubnet2" -AddressPrefix XX.X.X.X/XX В обычной сети может быть подсеть для балансировщика нагрузки с выходом в Интернет и отдельная подсеть для внутреннего балансировщика нагрузки. |
Создание виртуальной сети | $vnet = New-AzureRmVirtualNetwork -Name "myVNet" -ResourceGroupName $myResourceGroup -Location $location -AddressPrefix XX.X.X.X/XX -Subnet $subnet1, $subnet2 |
Проверка доменного имени на уникальность | Test-AzDnsAvailability -DomainNameLabel "myDNS" -Location $location Вы можете указать DNS-имя домена для ресурса с общедоступным IP-адресом. В результате этого будут сопоставлены адрес доменное_имя.расположение.cloudapp.azure.com и общедоступный IP-адрес на DNS-серверах под управлением Azure. Имя может содержать только буквы, цифры и дефисы. Первым и последним знаком должна быть буква или цифра, а доменное имя должно быть уникальным в пределах его расположения Azure. Если возвращается значение True, то предложенное имя является глобально уникальным. |
Создание общедоступного IP-адреса | $pip = New-AzPublicIpAddress -Name "myPublicIp" -ResourceGroupName $myResourceGroup -DomainNameLabel "myDNS" -Location $location -AllocationMethod Dynamic В общедоступном IP-адресе используется доменное имя, которое вы ранее проверили и которое используется интерфейсной конфигурацией балансировщика нагрузки. |
Создание интерфейсной IP-конфигурации | $frontendIP = New-AzLoadBalancerFrontendIpConfig -Name "myFrontendIP" -PublicIpAddress $pip Конфигурация внешнего интерфейса содержит общедоступный IP-адрес, созданный ранее для входящего сетевого трафика. |
Создание внутреннего пула адресов | $beAddressPool = New-AzLoadBalancerBackendAddressPoolConfig -Name "myBackendAddressPool" Предоставляет внутренние адреса для серверной части балансировщика нагрузки, доступной через сетевой интерфейс. |
Создание пробы | $healthProbe = New-AzLoadBalancerProbeConfig -Name "myProbe" -RequestPath 'HealthProbe.aspx' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2 Содержит пробы работоспособности, используемые для проверки доступности экземпляров виртуальных машин в пуле внутренних адресов. |
Создание правила балансировки нагрузки | $lbRule = New-AzLoadBalancerRuleConfig -Name HTTP -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 Содержит правила, которые назначают общедоступный порт в балансировщике нагрузки порту во внутреннем пуле адресов. |
Создание правила NAT для входящего трафика | $inboundNATRule = New-AzLoadBalancerInboundNatRuleConfig -Name "myInboundRule1" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3441 -BackendPort 3389 Содержит правила сопоставления общедоступного порта в балансировщике нагрузки с портом конкретной виртуальной машины в пуле внутренних адресов. |
Создание балансировщика нагрузки | $loadBalancer = New-AzLoadBalancer -ResourceGroupName $myResourceGroup -Name "myLoadBalancer" -Location $location -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule -LoadBalancingRule $lbRule -BackendAddressPool $beAddressPool -Probe $healthProbe |
Создание сетевого интерфейса | $nic1= New-AzNetworkInterface -ResourceGroupName $myResourceGroup -Name "myNIC" -Location $location -PrivateIpAddress XX.X.X.X -Subnet $subnet2 -LoadBalancerBackendAddressPool $loadBalancer.BackendAddressPools[0] -LoadBalancerInboundNatRule $loadBalancer.InboundNatRules[0] Создает сетевой интерфейс с использованием общедоступного IP-адреса и подсети виртуальной сети, созданной ранее. |
Получение сведений о сетевых ресурсах
Задача | Get-Help |
---|---|
Получение списка виртуальных сетей | Get-AzVirtualNetwork -ResourceGroupName $myResourceGroup Выводит список всех виртуальных сетей в группе ресурсов. |
Получение сведений о виртуальной сети | Get-AzVirtualNetwork -Name "myVNet" -ResourceGroupName $myResourceGroup |
Получение списка подсетей в виртуальной сети | Get-AzVirtualNetwork -Name "myVNet" -ResourceGroupName $myResourceGroup | Выбор подсетей |
Получение сведений о подсети | Get-AzVirtualNetworkSubnetConfig -Name "mySubnet1" -VirtualNetwork $vnet Возвращает сведения о подсети в указанной виртуальной сети. Значение $vnet представляет собой объект, возвращаемый командлетом Get-AzVirtualNetwork. |
Получение списка IP-адресов | Get-AzPublicIpAddress -ResourceGroupName $myResourceGroup Выводит список общедоступных IP-адресов в группе ресурсов. |
Получение списка балансировщиков нагрузки | Get-AzLoadBalancer -ResourceGroupName $myResourceGroup Выводит список всех балансировщиков нагрузки в группе ресурсов. |
Получение списка сетевых интерфейсов | Get-AzNetworkInterface -ResourceGroupName $myResourceGroup Выводит список всех виртуальных интерфейсов в группе ресурсов. |
Получение сведений о виртуальном интерфейсе | Get-AzNetworkInterface -Name "myNIC" -ResourceGroupName $myResourceGroup Получение сведений об определенном сетевом интерфейсе. |
Получение IP-конфигурации сетевого интерфейса | Get-AzNetworkInterfaceIPConfig -Name "myNICIP" -NetworkInterface $nic Возвращает сведения об IP-конфигурации указанного сетевого интерфейса. Значение $nic представляет собой объект, возвращаемый командлетом Get-AzNetworkInterface. |
Управление сетевыми ресурсами
Задача | Get-Help |
---|---|
Добавление подсети в виртуальную сеть | Add-AzVirtualNetworkSubnetConfig -AddressPrefix XX.X.X.X/XX -Name "mySubnet1" -VirtualNetwork $vnet Добавляет подсеть в существующую виртуальную сеть. Значение $vnet представляет собой объект, возвращаемый командлетом Get-AzVirtualNetwork. |
Удаление виртуальной сети | Remove-AzVirtualNetwork -Name "myVNet" -ResourceGroupName $myResourceGroup Удаляет указанную виртуальную сеть из группы ресурсов. |
Удаление сетевого интерфейса | Remove-AzNetworkInterface -Name "myNIC" -ResourceGroupName $myResourceGroup Удаляет указанный сетевой интерфейс из группы ресурсов. |
Удаление балансировщика нагрузки | Remove-AzLoadBalancer -Name "myLoadBalancer" -ResourceGroupName $myResourceGroup Удаляет указанный балансировщик нагрузки из группы ресурсов. |
Удаление общедоступного IP-адреса | Remove-AzPublicIpAddress-Name "myIPAddress" -ResourceGroupName $myResourceGroup Удаляет указанный общедоступный IP-адрес из группы ресурсов. |
Next Steps
Использование созданного сетевого интерфейса при создании виртуальной машины.