Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Развертывания приложений, которым требуется динамическое масштабирование в виртуальной сети, подвержены риску нехватки адресного пространства подсети. Подсети в виртуальных сетях могут размещать множество приложений, которым требуется возможность горизонтального масштабирования. Эта Multiple Address Prefixes on Subnet возможность позволяет легко масштабировать виртуальные машины и масштабируемые наборы виртуальных машин Azure в подсетях. Эта функция устраняет необходимость удаления всех ресурсов из подсети в качестве необходимых условий для изменения префиксов адресов.
В настоящее время нет возможности расширить пространство подсети или перекрестные границы подсети, что ограничивает масштабируемый набор виртуальных машин доступным адресным пространством в подсети. Но с этой функцией масштабируемые наборы виртуальных машин теперь могут воспользоваться дополнительными адресными пространствами подсети при масштабировании. Если первая подсеть заполнена, дополнительные виртуальные машины или масштабируемые наборы виртуальных машин могут перетекать в новый префикс адресного пространства в той же подсети.
Следующие ограничения по-прежнему применяются по состоянию на данный момент:
Эта функция поддерживает только виртуальные машины и масштабируемые наборы виртуальных машин и не поддерживает внедрение bare Metal или виртуальной сети для контейнеров, особенно в режиме IPAM PodSubnet в кластерах AKS. Любая делегированная подсеть не может использовать эту возможность (за исключением GatewaySubnets, делегированных службам шлюза ExpressRoute Gateway).
Эта функция не поддерживает несколько конфигураций адреса клиента (ЦС). При использовании нескольких префиксов в подсети вы можете использовать только одну конфигурацию адреса клиента (ЦС). Поддерживается один IPv4 (протокол Интернета версии 4) и один IPv6 (версия 6) для каждого сетевого адаптера (сетевой карты).
Эта функция доступна только в командной строке (PowerShell, CLI) или шаблонах Azure Resource Manager. Поддержка портала Azure ограничена. После добавления дополнительных префиксов адресов в колонке
Subnetsвы увидите правильное количествоAvailable IPsвсех префиксов, но указан только первый префикс.- Вы можете получить сведения о конфигурации подсети и всех префиксах подсети, перейдя на страницу виртуальной сети
Overviewи выбравJSON View.
- Вы можете получить сведения о конфигурации подсети и всех префиксах подсети, перейдя на страницу виртуальной сети
Prerequisites
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Caution
Свойства подсети addressPrefixes и addressPrefix не используются взаимозаменяемо. Для получения наилучших результатов используйте только адресPrefixes для одного префикса адреса и для нескольких префиксов адресов. Если вы уже используете addressPrefixes в рабочих процессах, продолжайте использовать это свойство.
Azure PowerShell, установленный локально или Azure Cloud Shell.
Войдите в Azure PowerShell и убедитесь, что выбрана подписка, с которой вы хотите использовать эту функцию. Дополнительные сведения см. в статье "Вход с помощью Azure PowerShell".
Убедитесь, что модуль
Az.Networkравен 4.3.0 или более поздней версии. Чтобы проверить установленный модуль, используйте команду Get-InstalledModule -NameAz.Network. Если для модуля требуется обновление, при необходимости используйте команду Update-Module -NameAz.Network.
Если вы решили установить и использовать PowerShell локально, в этой статье требуется модуль Azure PowerShell версии 5.4.1 или более поздней. Запустите Get-Module -ListAvailable Az , чтобы найти установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.
Создание подсети с несколькими префиксами
В этом разделе описано, как создать подсеть с несколькими префиксами.
Используйте New-AzResourceGroup , чтобы создать группу ресурсов с именем test-rg в расположении eastus2 .
$rg = @{ Name = 'test-rg' Location = 'eastus2' } New-AzResourceGroup @rgИспользуйте New-AzVirtualNetworkSubnetConfig , чтобы создать подсеть с несколькими префиксами.
$subnet = @{ Name = 'subnet-1' AddressPrefix = '10.0.0.0/24', '10.0.1.0/24' } $subnetConfig = New-AzVirtualNetworkSubnetConfig @subnetИспользуйте New-AzVirtualNetwork , чтобы создать виртуальную сеть с подсетью.
$net = @{ Name = 'vnet-1' ResourceGroupName = 'test-rg' Location = 'eastus2' AddressPrefix = '10.0.0.0/16' Subnet = $subnetConfig } New-AzVirtualNetwork @net
Обновление существующей подсети с несколькими префиксами
В этом разделе вы добавите второй префикс в существующую подсеть для расширения адресного пространства.
Используйте Get-AzVirtualNetwork , чтобы получить конфигурацию целевой виртуальной сети в переменной.
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'Используйте Set-AzVirtualNetworkSubnetConfig , чтобы добавить второй префикс адреса в конфигурацию подсети. Укажите существующие и новые префиксы адресов на этом шаге.
Important
Не следует пропускать перечисление существующих префиксов подсети на этом шаге. Только указанные здесь префиксы адресов будут применены на следующем шаге, все остальные будут удалены, если они не используются или приводят к ошибке, если они ссылаются на существующие сетевые интерфейсы.
Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.0.0/24', '10.0.1.0/24'Используйте Set-AzVirtualNetwork , чтобы применить обновленную конфигурацию виртуальной сети.
$vnet | Set-AzVirtualNetworkИспользуйте Get-AzVirtualNetwork и Get-AzVirtualNetwork для получения обновленной конфигурации виртуальной сети и подсети. Убедитесь, что в подсети теперь есть два префикса адреса.
Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1' | ` Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' | ` ConvertTo-Json
Удаление префикса из подсети
Кроме того, можно удалить префиксы адресов из подсети, которые не используются активно, то есть нет существующих сетевых интерфейсов, ссылающихся на эти префиксы адресов. В этом разделе описано, как удалить unused префикс адреса.
Используйте Get-AzVirtualNetwork , чтобы получить конфигурацию целевой виртуальной сети в переменной.
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'Используйте Get-AzVirtualNetworkSubnetConfig для перечисления всех префиксов адресов в целевой подсети.
Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnetИспользуйте Set-AzVirtualNetworkSubnetConfig , чтобы обновить список префиксов адресов и удалить те, которые не используются.
Important
Только указанные здесь префиксы адресов будут применены на следующем шаге, все остальные будут удалены, если они не используются или приводят к ошибке, если они ссылаются на существующие сетевые интерфейсы.
Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.1.0/24'Используйте Set-AzVirtualNetwork , чтобы применить обновленную конфигурацию виртуальной сети.
$vnet | Set-AzVirtualNetworkИспользуйте Get-AzVirtualNetwork и Get-AzVirtualNetwork для получения обновленной конфигурации виртуальной сети и подсети. Убедитесь, что в подсети теперь есть два префикса адреса.
Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1' | ` Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' | ` ConvertTo-Json