共用方式為


在 Azure 虛擬網絡 中建立子網的多個前置詞 - 預覽

虛擬網路內多個縮放應用程式的大型部署有子網位址空間耗盡的風險。 虛擬網路中的子網可以裝載許多需要相應放大功能的應用程式。這項功能AllowMultipleAddressPrefixesOnSubnet可讓您輕鬆地在子網中調整虛擬機和 Azure 虛擬機器擴展集。 此功能不需要從子網移除所有資源,作為修改其位址前綴的必要條件。

目前,虛擬機器擴展集 可讓您只指定一個子網。 無法擴充子網空間或跨子網界限。 虛擬機器擴展集 現在可以在相應增加時利用多個位址空間。 如果第一個子網已滿,則額外的虛擬機會溢出到後續的子網。

公開預覽期間適用下列限制:

  • 此功能僅支持虛擬機和虛擬機擴展集,且不支援裸機或 SWIFT 資源。 任何委派的子網都無法使用此功能。

  • 此功能不支援多個客戶位址 (CA) 設定。 在子網上使用多個前置詞時,您只能使用單一客戶位址 (CA) 組態。 支援每個 NIC 的單一 IPv4(因特網通訊協定第 4 版)和單一 IPv6(因特網通訊協定第 6 版)位址(網路適配器)。

重要

Azure 虛擬網路子網路的多個前置詞支援目前為公開預覽狀態。 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

必要條件

警告

子網屬性 “addressPrefixes” 和 “addressPrefix” 不會交替使用。 為了獲得最佳結果,請只針對單一位址前綴和多個位址前綴使用 “addressPrefixes”。 如果您已經在工作流程中使用 「addressPrefix」,請繼續使用此屬性。

  • 已在本地安裝 Azure PowerShell 或 Azure Cloud Shell。

  • 登入 Azure PowerShell,並確定您選取要使用此功能的訂用帳戶。 如需詳細資訊,請參閱使用 Azure PowerShell 登入 \(英文\)。

  • 確定您的 Az.Network 模組為 4.3.0 或更新版本。 若要確認已安裝的模組,請使用 Get-InstalledModule -Name Az.Network 命令。 如果模組需要更新,請視需要使用 Update-Module -Name Az.Network 命令。

如果您選擇在本機安裝和使用 PowerShell,本文會要求使用 Azure PowerShell 模組版本 5.4.1 或更新版本。 執行 Get-Module -ListAvailable Az 以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果正在本機執行 PowerShell,也需要執行 Connect-AzAccount,以建立與 Azure 的連線。

  • 若要存取多個子網前置詞預覽功能,您必須在 Azure 訂用帳戶中註冊此功能。 如需在訂用帳戶中註冊預覽功能的詳細資訊,請參閱 在 Azure 訂用帳戶中設定預覽功能。

    • 可透過 Microsoft.Features 命名空間取得 Azure 功能公開控制 (AFEC)。 針對這項功能,您的訂用帳戶中必須註冊兩個 AFEC 旗標:

      • Microsoft.Features/providers/Microsoft.Network/features/AllowMultipleAddressPrefixesOnSubnet

      • Microsoft.Features/providers/Microsoft.Network/features/AllowDeletionOfIpPrefixFromSubnet

    • 若要註冊此功能,請使用下列命令:

    Register-AzProviderFeature -FeatureName AllowMultipleAddressPrefixesOnSubnet -ProviderNamespace Microsoft.Network
    
    Register-AzProviderFeature -FeatureName AllowDeletionOfIpPrefixFromSubnet -ProviderNamespace Microsoft.Network
    

建立具有多個前置詞的子網路

在本節中,您會建立具有多個前置詞的子網。

  1. 使用 New-AzResourceGroup 在 eastus2 位置建立名為 test-rg 的資源群組。

    $rg = @{
        Name = 'test-rg'
        Location = 'eastus2'
    }
    New-AzResourceGroup @rg
    
  2. 使用 New-AzVirtualNetworkSubnetConfig 建立具有多個前置詞的子網。

    $subnet = @{
        Name = 'subnet-1'
        AddressPrefix = '10.0.0.0/24', '10.0.1.0/24'
    }
    $subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet 
    
  3. 使用 New-AzVirtualNetwork 建立具有子網路的虛擬網路。

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