Partilhar via


Criar vários prefixos para uma sub-rede em uma Rede Virtual do Azure

As implantações de aplicativos que precisam de dimensionamento dinâmico em uma rede virtual correm o risco de esgotamento do espaço de endereçamento da sub-rede. As sub-redes em suas redes virtuais podem hospedar muitos aplicativos que precisam da capacidade de expansão. O Multiple Address Prefixes on Subnet recurso permite dimensionar suas máquinas virtuais e Conjuntos de Dimensionamento de Máquina Virtual do Azure em sub-redes com facilidade. O recurso elimina a necessidade de remover todos os recursos de uma sub-rede como pré-requisito para modificar seus prefixos de endereço.

Atualmente, não há uma capacidade de estender o espaço de sub-rede ou cruzar limites de sub-rede, o que limita o Conjunto de Escala de Máquina Virtual ao espaço de endereço disponível em uma sub-rede. Mas com esse recurso, os Conjuntos de Dimensionamento de Máquina Virtual agora podem aproveitar espaços de endereço de sub-rede adicionais ao aumentar a escala. Se a primeira sub-rede estiver cheia, máquinas virtuais adicionais ou Conjuntos de Escala de Máquina Virtual podem se espalhar para o novo prefixo de espaço de endereço dentro da mesma sub-rede.

As seguintes limitações continuam a aplicar-se a partir de agora:

  • O recurso suporta apenas máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais e não suporta injeção bare metal ou VNet para contêineres, especialmente o modo IPAM PodSubnet em clusters AKS. Qualquer sub-rede delegada não pode usar esta funcionalidade (exceto as GatewaySubnets delegadas aos serviços ExpressRoute Gateway).

  • Este recurso não suporta várias configurações de endereço do cliente (CA). Ao usar vários prefixos em uma sub-rede, você só pode usar uma única configuração de endereço de cliente (CA). Um único endereço IPv4 (Internet Protocol versão 4) e IPv6 único (Internet Protocol Version 6) por NIC (placa de interface de rede) é suportado.

  • Esse recurso só está disponível atualmente por meio da linha de comando (PowerShell, CLI) ou dos Modelos do Azure Resource Manager. O suporte do portal do Azure é limitado. Depois que prefixos de endereço adicionais forem adicionados, sob a Subnets folha, você poderá ver a contagem correta de Available IPs todos os prefixos, mas apenas o primeiro prefixo será listado.

    • Você pode obter os detalhes da configuração da sub-rede e todos os prefixos de sub-rede navegando até a página Rede Overview Virtual e selecionando JSON View.

Prerequisites

Caution

As propriedades da sub-rede addressPrefixes e addressPrefix não devem ser usadas de forma intercambiável. Para obter melhores resultados, use apenas addressPrefixes para um único prefixo de endereço e para vários prefixos de endereço. Se você já estiver usando addressPrefixes em seus fluxos de trabalho, continue a usar essa propriedade.

  • Azure PowerShell instalado localmente ou Azure Cloud Shell.

  • Entre no Azure PowerShell e certifique-se de selecionar a assinatura com a qual deseja usar esse recurso. Para obter mais informações, consulte Entrar com o Azure PowerShell.

  • Certifique-se de que o módulo Az.Network é 4.3.0 ou posterior. Para verificar o módulo instalado, use o comando Get-InstalledModule -Name Az.Network. Se o módulo exigir uma atualização, use o comando Update-Module -Name Az.Network se necessário.

Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az para encontrar a versão instalada. Se você precisar atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar Connect-AzAccount para criar uma conexão com o Azure.

Criar uma sub-rede com vários prefixos

Nesta seção, você cria uma sub-rede com vários prefixos.

  1. Use New-AzResourceGroup para criar um grupo de recursos chamado test-rg no local eastus2 .

    $rg = @{
        Name = 'test-rg'
        Location = 'eastus2'
    }
    New-AzResourceGroup @rg
    
  2. Use New-AzVirtualNetworkSubnetConfig para criar uma sub-rede com vários prefixos.

    $subnet = @{
        Name = 'subnet-1'
        AddressPrefix = '10.0.0.0/24', '10.0.1.0/24'
    }
    $subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet 
    
  3. Use New-AzVirtualNetwork para criar uma rede virtual com a sub-rede.

    $net = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
        Subnet = $subnetConfig
    }
    New-AzVirtualNetwork @net
    

Atualizar uma sub-rede existente com vários prefixos

Nesta seção, você adiciona um segundo prefixo em uma sub-rede existente para expandir o espaço de endereço.

  1. Use Get-AzVirtualNetwork para recuperar a configuração de rede virtual de destino em uma variável.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
    
  2. Use Set-AzVirtualNetworkSubnetConfig para adicionar um segundo prefixo de endereço à configuração da sub-rede. Especifique os prefixos de endereço novo e existente nesta etapa

    Important

    Você não deve ignorar a listagem dos prefixos de sub-rede existentes nesta etapa. Somente os prefixos de endereço especificados aqui serão aplicados na próxima etapa, todos os outros serão removidos se não estiverem em uso, ou resultarão em um erro se forem referenciados por interfaces de rede existentes.

    Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.0.0/24', '10.0.1.0/24'
    
  3. Use Set-AzVirtualNetwork para aplicar a configuração de rede virtual atualizada.

    $vnet | Set-AzVirtualNetwork
    
  4. Use Get-AzVirtualNetwork e Get-AzVirtualNetwork para recuperar a configuração atualizada de rede virtual e sub-rede. Verifique se a sub-rede agora tem dois prefixos de endereço.

    Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1' | `
        Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' | `
        ConvertTo-Json
    

Remover um prefixo da sub-rede

Você também pode remover os prefixos de endereço da sub-rede que não estão sendo usados ativamente, ou seja, nenhuma interface de rede existente está fazendo referência a esses prefixos de endereço. Nesta seção, você removerá um unused prefixo de endereço.

  1. Use Get-AzVirtualNetwork para recuperar a configuração de rede virtual de destino em uma variável.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
    
  2. Use Get-AzVirtualNetworkSubnetConfig para listar todos os prefixos de endereço na sub-rede de destino.

    Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet 
    
  3. Use Set-AzVirtualNetworkSubnetConfig para atualizar a lista de prefixos de endereço e remover os que não são usados.

    Important

    Somente os prefixos de endereço especificados aqui serão aplicados na próxima etapa, todos os outros serão removidos se não estiverem em uso, ou resultarão em um erro se forem referenciados por interfaces de rede existentes.

    Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.1.0/24'
    
  4. Use Set-AzVirtualNetwork para aplicar a configuração de rede virtual atualizada.

    $vnet | Set-AzVirtualNetwork
    
  5. Use Get-AzVirtualNetwork e Get-AzVirtualNetwork para recuperar a configuração atualizada de rede virtual e sub-rede. Verifique se a sub-rede agora tem dois prefixos de endereço.

    Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1' | `
        Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' | `
        ConvertTo-Json