Попытка добавить второй IP-адрес к сетевому адаптеру, но ресурс {0} не найден в Set-AzureRmNetworkInterface - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь добавить второй IP-адрес на сетевом адаптере в масштабе виртуальной машины Azure, используя командлет AzureRm с помощью Powershell.

Мой код выглядит следующим образом:

Add-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId "XXXXXXXXXXXXXXXXXXXXXX"
$vnetname = "confvnet"
$loc = "West Europe"
$backendSubnetName = "conf-jira-interlink"
$backendSubnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName -AddressPrefix "10.0.4.0/24"
echo "backendSubnetConfig: "$backendSubnetConfig

$vnet = Get-AzureRmVirtualNetwork -Name $vnetname -ResourceGroupName "resourcegroup-confluence-jira-datacenter"
echo "vnet: "$vnet

Add-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName -VirtualNetwork $vnet -AddressPrefix "10.0.4.0/24" | Set-AzureRmVirtualNetwork
$subnetId = (Get-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName -VirtualNetwork $vnet).Id
echo "subnetId: "$subnetId

$ipCfg = New-AzureRmVmssIPConfig -Name 'eth1' -SubnetId $subnetId -PrivateIPAddressVersion 'IPv4' -Primary $false
echo "ipCfg: "$ipCfg

$backendSubnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $backendSubnetName -VirtualNetwork $vnet
echo "backendSubnet: "$backendSubnet

$vmss = Get-AzureRmVmss -ResourceGroupName resourcegroup-confluence-jira-datacenter -VMScaleSetName confcluster
echo "vmss: "$vmss

Add-AzureRmVmssNetworkInterfaceConfiguration -Name $backendSubnet -Primary $false -IPConfiguration $ipCfg -VirtualMachineScaleSet $vmss
$vmss = Get-AzureRmVmss -ResourceGroupName resourcegroup-confluence-jira-datacenter -VMScaleSetName confcluster
$Nic = Get-AzureRmNetworkInterface -ResourceGroupName "resourcegroup-confluence-jira-datacenter" -VirtualMachineScaleSetName 'confcluster'
echo "Nic: "$Nic

$ipconfig_interlink = New-AzureRmNetworkInterfaceIpConfig -Name "ipconfig-conf-jira-interlink" -Subnet $backendSubnetConfig -PrivateIpAddress "10.0.4.20"
Add-AzureRmNetworkInterfaceIpConfig -Name $ipconfig_interlink.Name -Subnet $backendSubnetConfig -NetworkInterface $Nic
Set-AzureRmNetworkInterfaceIpConfig -Name $ipconfig_interlink.Name -PrivateIpAddress 10.0.4.20 -Subnet $backendSubnetConfig -NetworkInterface $Nic
$Nic = Get-AzureRmNetworkInterface -ResourceGroupName "resourcegroup-confluence-jira-datacenter" -VirtualMachineScaleSetName 'confcluster'
echo "Nic: "$Nic

Set-AzureRmNetworkInterface -NetworkInterface $Nic
Update-AzureRmVmss -ResourceGroupName "resourcegroup-confluence-jira-datacenter" -VMScaleSetName "confcluster" -VirtualMachineScaleSet $vmss

Но я получаю сообщение об ошибке

Set-AzureRmNetworkInterface: ресурс '{0}' не найден в X: \ JIRA_Confluence_Migration \ PowerShell \ network-interfaces-azure-same-vnet.ps1: 67Zeichen: 1 + Set-AzureRmNetworkInterface -NetworkInterface $ Nic + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: CloseError: (:) [Set-AzureRmNetworkInterface], ArgumentException + FullyQualifiedErrorId: Microsoft.Azure.Commands.Network.SetAzureNetworkInterfaceCommand для Set-AzureRmNetworkInterface.

Кто-нибудь знает, в чем проблема?

Ответы [ 2 ]

1 голос
/ 25 июня 2019

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

$Nic | Set-AzureRmNetworkInterface

Тогда будет работать без ошибок.

Но, как я вижу в вашем скрипте, вы просто получаете сетевой интерфейс, а затем устанавливаете его без каких-либо изменений. Если это так, команда не влияет ни на что. Вы можете взглянуть на пример команды Set-AzureRmNetworkInterface .

Обновление

Согласно другому тесту, есть пункт, на котором следует сосредоточиться. Экземпляры набора масштабов виртуальной машины Azure отличаются от виртуальной машины. Вы не можете найти сетевые интерфейсы экземпляров в группе, в которой находится VMSS. Все экземпляры созданы из одной конфигурации, так же как и сетевые интерфейсы. Как показывает ошибка, ресурс не найден.

Вы можете взглянуть на вопрос, который Как указать диапазон частных IP-адресов для использования для статического выделения частных IP-адресов . Поэтому я считаю, что неправильно устанавливать сетевой адаптер экземпляра с помощью команды Set-AzureRmNetworkInterface.

Как и в предыдущем вопросе, вы можете настроить сетевую конфигурацию VMSS, это правильный путь для VMSS.

0 голосов
/ 24 июня 2019

Я подозреваю, что он ищет идентификатор самой сетевой карты, а не объекта. Попробуйте:

Set-AzureRmNetworkInterface -NetworkInterface $Nic.Id
...