2016-09-15 5 views
0

У меня есть вопрос, связанный с виртуальной сетью Azure.Получить количество доступных IP-адресов в подсети

Я пытаюсь получить количество доступных IP-адресов в подсети. Для RDFE у нас есть следующий API: https://msdn.microsoft.com/en-us/library/azure/dn592118.aspx

Но для ARM я не нахожу аналогичный API. Все, что я нашел для ARM: https://msdn.microsoft.com/en-us/library/azure/mt163583.aspx

Не могли бы вы помочь? Как я могу получить количество доступных IP-адресов в подсети?

ответ

0

С Powershell вы можете сделать что-то вроде этого:

$network = Get-AzureRmVirtualNetwork -name 'some-vnet' -ResourceGroupName 'some-network-resourcegroup' 
($network.SubnetsText | ConvertFrom-Json).IpConfigurations.Count 

Это даст вам количество назначенных IP-адреса в виртуальной сети.

Редактировать: Если вы не используете Powershell, вы можете просто подсчитать количество возвращенных записей в разделе IpConfigurations в приведенном выше соединении RM api.

+1

Спасибо! Ваше решение верно. Это хороший способ получить количество назначенных IP-адресов в виртуальной сети. Но для подсчета доступных IP следует использовать следующую формулу: 'code' countOfAvailableIPs = Math.pow (2, 32 - netmaskLength) - reservedIPs - targetSubnet.IpConfigurations.Count ' code' где reservedIPs = 5 - это зарезервированные IP-адреса для azure. См. Https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-faq/ –