다음을 통해 공유


Azure Virtual Network에서 서브넷에 대한 여러 접두사 만들기

가상 네트워크 내에서 동적 크기 조정이 필요한 애플리케이션 배포는 서브넷 주소 공간 소모의 위험이 있습니다. 가상 네트워크의 서브넷은 스케일 아웃 기능이 필요한 많은 애플리케이션을 호스트할 수 있습니다. 이 Multiple Address Prefixes on Subnet 기능을 사용하면 서브넷에서 가상 머신 및 Azure Virtual Machine Scale Sets의 크기를 쉽게 조정할 수 있습니다. 이 기능을 사용하면 주소 접두사를 수정하기 위한 필수 조건으로 서브넷에서 모든 리소스를 제거할 필요가 없습니다.

현재 서브넷 공간 또는 서브넷 간 경계를 확장하는 기능은 없으므로 가상 머신 확장 집합을 서브넷의 사용 가능한 주소 공간으로 제한합니다. 그러나 이 기능을 통해 Virtual Machine Scale Sets는 이제 확장할 때 추가 서브넷 주소 공간을 활용할 수 있습니다. 첫 번째 서브넷이 가득 차면 추가 가상 머신 또는 Virtual Machine Scale Sets가 동일한 서브넷 내의 새 주소 공간 접두사로 분산될 수 있습니다.

현재도 다음과 같은 제한 사항이 적용됩니다.

  • 이 기능은 가상 머신과 가상 머신 확장 집합만 지원하며 컨테이너에 대한 운영 체제 미설치 또는 VNet 삽입을 지원하지 않습니다. 특히 AKS 클러스터의 PodSubnet IPAM 모드는 지원하지 않습니다. 위임된 서브넷은 이 기능을 사용할 수 없습니다(VPN Gateway 및 ExpressRoute 게이트웨이 서비스에 위임된 GatewaySubnets 제외).

  • 이 기능은 여러 CA(고객 주소) 구성을 지원하지 않습니다. 서브넷에서 여러 접두사를 사용하는 경우 단일 CA(고객 주소) 구성만 사용할 수 있습니다. NIC(네트워크 인터페이스 카드)당 단일 IPv4(인터넷 프로토콜 버전 4) 및 단일 IPv6(인터넷 프로토콜 버전 6) 주소가 지원됩니다.

  • 이 기능은 현재 명령줄(PowerShell, CLI) 또는 Azure Resource Manager 템플릿을 통해서만 사용할 수 있습니다. Azure Portal 지원은 제한됩니다. 추가 주소 접두사를 추가하면 블레이드 아래에 Subnets 모든 접두사에서 올바른 개수를 Available IPs 볼 수 있지만 첫 번째 접두사만 나열됩니다.

    • Virtual Network Overview 페이지로 이동하고 선택하여 서브넷 구성 및 모든 서브넷 접두사에 대한 세부 정보를 가져올 수 있습니다 JSON View.

필수 구성 요소

주의

서브넷 속성 addressPrefixesaddressPrefix 는 서로 교환하여 사용할 수 없습니다. 최상의 결과를 얻으려면 단일 주소 접두사 및 여러 주소 접두사 모두에 addressPrefixes 만 사용합니다. 워크플로에서 addressPrefixes를 이미 사용하고 있는 경우 이 속성을 계속 사용합니다.

  • 로컬로 설치된 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와 연결해야 합니다.

여러 접두사가 있는 서브넷 만들기

이 섹션에서는 접두사가 여러 개인 서브넷을 만듭니다.

  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
    

여러 접두사를 사용하여 기존 서브넷 업데이트

이 섹션에서는 기존 서브넷에 두 번째 접두사를 추가하여 주소 공간을 확장합니다.

  1. Get-AzVirtualNetwork를 사용하여 변수에서 대상 가상 네트워크 구성을 검색합니다.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
    
  2. Set-AzVirtualNetworkSubnetConfig를 사용하여 서브넷 구성에 두 번째 주소 접두사를 추가합니다. 이 단계에서 기존 주소와 새 주소 접두사를 모두 지정합니다.

    중요

    이 단계에서 기존 서브넷 접두사 목록을 건너뛰면 안 됩니다. 여기에 지정된 주소 접두사만 다음 단계에서 적용되고, 사용하지 않을 경우 다른 모든 접두사는 제거되거나, 기존 네트워크 인터페이스에서 참조하는 경우 오류가 발생합니다.

    Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.0.0/24', '10.0.1.0/24'
    
  3. Set-AzVirtualNetwork를 사용하여 업데이트된 가상 네트워크 구성을 적용합니다.

    $vnet | Set-AzVirtualNetwork
    
  4. Get-AzVirtualNetworkGet-AzVirtualNetwork를 사용하여 업데이트된 가상 네트워크 및 서브넷 구성을 검색합니다. 이제 서브넷에 두 개의 주소 접두사가 있는지 확인합니다.

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

서브넷에서 접두사 제거

현재 사용되지 않는 서브넷에서 주소 접두사를 제거할 수도 있습니다. 즉, 이러한 주소 접두사를 참조하는 기존 네트워크 인터페이스가 없습니다. 이 섹션에서는 주소 접두사를 unused 제거합니다.

  1. Get-AzVirtualNetwork를 사용하여 변수에서 대상 가상 네트워크 구성을 검색합니다.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
    
  2. Get-AzVirtualNetworkSubnetConfig를 사용하여 대상 서브넷의 모든 주소 접두사를 나열합니다.

    Get-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet 
    
  3. Set-AzVirtualNetworkSubnetConfig를 사용하여 주소 접두사 목록을 업데이트하고 사용되지 않는 접두사를 제거합니다.

    중요

    여기에 지정된 주소 접두사만 다음 단계에서 적용되고, 사용하지 않을 경우 다른 모든 접두사는 제거되거나, 기존 네트워크 인터페이스에서 참조하는 경우 오류가 발생합니다.

    Set-AzVirtualNetworkSubnetConfig -Name 'subnet-1' -VirtualNetwork $vnet -AddressPrefix '10.0.1.0/24'
    
  4. Set-AzVirtualNetwork를 사용하여 업데이트된 가상 네트워크 구성을 적용합니다.

    $vnet | Set-AzVirtualNetwork
    
  5. Get-AzVirtualNetworkGet-AzVirtualNetwork를 사용하여 업데이트된 가상 네트워크 및 서브넷 구성을 검색합니다. 이제 서브넷에 두 개의 주소 접두사가 있는지 확인합니다.

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