Подсети не создаются при использовании команд Powershell Az - PullRequest
1 голос
/ 02 августа 2020

У меня ниже сценарий PowerShell для создания vnet и subnet в Azure

 $virtualNetworkName = 'corp-northeurope-vnet'
 $frontendSubnetName = 'frontendsubnet'
 $vNetAddressPrefix = "10.0.0.0/26"
 $SubnetAddressPrefix = "10.0.1.0/28"


 $virtualNetwork = Get-AzVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $rgName
if ($null -eq $virtualNetwork) {
    $virtualNetwork = New-AzVirtualNetwork `
        -Name $virtualNetworkName `
        -ResourceGroupName $rgName `
        -AddressPrefix $vNetAddressPrefix `
        -Location $location 
}
else {
    Write-Log -Message "[$($virtualNetwork.Name)] already exists"
}


$fesubnet = Get-AzVirtualNetworkSubnetConfig -Name $frontendSubnetName -VirtualNetwork $virtualNetwork
if ($null -eq $fesubnet) {
    $fesubnet = Add-AzVirtualNetworkSubnetConfig `
        -Name $frontendSubnetName `
        -AddressPrefix $subnetAddressPrefix `
        -VirtualNetwork $virtualNetwork

    $virtualNetwork | Set-AzVirtualNetwork
}
else {
    Write-Log -Message "[$($fesubnet.Name)] already exists"
}

Но это не работает.

Здесь выдается ошибка

$ virtualNetwork | Set-AzVirtualNetwork

Su bnet 'frontendsu bnet' недействителен в виртуальной сети 'corp-northeurope- vnet'. StatusCode: 400 ReasonPhrase: Код ошибки неверного запроса: NetcfgInvalidSu bnet ErrorMessage: Su bnet 'frontendsu bnet' равно | не действует в виртуальной сети corp-northeurope- vnet. OperationID: 06c1ed77-14f1-294d-a19a-41c2epbdd04f

Это как-то связано с диапазоном IP-адресов?

Ответы [ 3 ]

2 голосов
/ 03 августа 2020

Диапазон IP-адресов su bnet выходит за пределы диапазона IP-адресов VNET, это приводит к тому, что конфигурация Su bnet недействительна.

Таким образом, вы можете изменить Su bnet префикс адреса должен находиться в префиксе адреса виртуальной сети, или вы расширяете префикс адреса виртуальной сети так, чтобы он включал диапазон Su bnet, который вы пытаетесь создать.

Хороший инструмент для планирования своего IP-адреса Префиксы: http://jodies.de/ipcalc?host=10.0.0.0&mask1=26&mask2=

введите описание изображения здесь

1 голос
/ 03 августа 2020

Ошибка, вызванная префиксом вашего адреса su bnet. Если ваш префикс адреса VNet - 10.0.0.0/26. Тогда ваш диапазон адресов su bnet должен быть меньше 10.0.0.0 / 26 . Вы можете изменить префикс su bnet на 10.0.0.0 / 28 . Тогда проблем не будет.

0 голосов
/ 02 августа 2020

Одна проблема - это вторая командная строка.

Если вы говорите, что уже создали Vnet, su bnet, Vnet IP-префикс CIDR и Su bnet Префикс IP CIDR, команда для Su bnet не $frontendSubnetName, «Frontend» - это имя su bnet, включенного в Vnet «corp-northeurope- vnet».

$frontendSubnetName = 'frontendsubnet' 

команда frontendSubnetName неверна, правильная должна быть:

$subnetConfig = 'frontendsubnet'

Попробуйте использовать эти команды:

$virtualNetworkName = 'corp-northeurope-vnet'
$subnetConfig = 'frontendsubnet'
$vNetAddressPrefix = "10.0.0.0/26"
$SubnetAddressPrefix = "10.0.1.0/28"

Здесь официальная документация: https://docs.microsoft.com/en-us/azure/virtual-network/quick-create-powershell

...