빠른 시작: Azure PowerShell을 사용하여 Route Server 만들기 및 구성

이 문서는 Azure PowerShell을 사용하여 가상 네트워크의 NVA(네트워크 가상 어플라이언스)와 피어링되도록 Azure Route Server를 구성하는 데 유용합니다. Route Server는 NVA에서 경로를 학습하고 가상 네트워크의 가상 머신에 대해 프로그래밍합니다. 또한 Azure Route Server는 NVA에 가상 네트워크 경로를 보급합니다. 자세한 내용은 Azure Route Server를 참조하세요.

Diagram of Route Server deployment environment using the Azure PowerShell.

Important

공용 IP 주소가 연결되어 있지 않은 2021년 11월 1일 이전에 만든 Azure Route Server는 공개 미리 보기 제품과 함께 배포됩니다. 공개 미리 보기 제품은 일반 공급 SLA 및 지원에서 지원되지 않습니다. 일반 공급 제품을 사용하여 Azure Route Server를 배포하고 일반 공급 SLA 및 지원을 달성하려면 Route Server를 삭제하고 다시 만드세요.

필수 조건

  • 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
  • 최신 PowerShell 모듈이 있는지 확인하거나 포털에서 Azure Cloud Shell을 사용할 수 있습니다.
  • Azure Route Server에 대한 서비스 제한을 검토합니다.
  • 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount를 실행하여 Azure와 연결해야 합니다.

리소스 그룹 및 가상 네트워크 만들기

리소스 그룹 만들기

Azure Route Server를 만들려면 먼저 Route Server를 호스팅할 리소스 그룹을 만들어야 합니다. New-AzResourceGroup을 사용하여 리소스 그룹을 만듭니다. 이 예제에서는 myRouteServerRG라는 리소스 그룹을 WestUS 위치에 만듭니다.

$rg = @{
    Name = 'myRouteServerRG'
    Location = 'WestUS'
}
New-AzResourceGroup @rg

가상 네트워크 만들기

New-AzVirtualNetwork를 사용하여 가상 네트워크를 만듭니다. 이 예제에서는 WestUS 위치에 myVirtualNetwork라는 이름의 기본 가상 네트워크를 만듭니다. 가상 네트워크가 있으면 다음 섹션으로 건너뛸 수 있습니다.

$vnet = @{
    Name = 'myVirtualNetwork'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet

전용 서브넷 추가

Azure Route Server에는 RouteServerSubnet이라는 전용 서브넷이 필요합니다. 서브넷 크기는 최소 /27 또는 보다 짧은 접두사(예: /26 또는 /25)여야 합니다. 그렇지 않으면 Route Server를 배포할 때 오류 메시지가 표시됩니다. Add-AzVirtualNetworkSubnetConfig를 사용하여 RouteServerSubnet이라는 서브넷 구성을 만듭니다.

$subnet = @{
    Name = 'RouteServerSubnet'
    VirtualNetwork = $virtualNetwork
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet

$virtualnetwork | Set-AzVirtualNetwork

$vnetInfo = Get-AzVirtualNetwork -Name myVirtualNetwork -ResourceGroupName myRouteServerRG
$subnetId = (Get-AzVirtualNetworkSubnetConfig -Name RouteServerSubnet -VirtualNetwork $vnetInfo).Id

Route Server 만들기

  1. Route Server 구성을 관리하는 백엔드 서비스에 연결되도록 보장하려면 공용 IP 주소를 할당해야 합니다. New-AzPublicIpAddressRouteServerIP라는 표준 공용 IP를 만듭니다.

    $ip = @{
        Name = 'myRouteServerIP'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        AllocationMethod = 'Static'
        IpAddressVersion = 'Ipv4'
        Sku = 'Standard'
    }
    $publicIp = New-AzPublicIpAddress @ip
    
  2. New-AzRouteServer로 Azure Route Server를 만듭니다. 이 예제는 WestUS 위치에서 myRouteServer라는 Azure Route Server를 만듭니다. HostedSubnet은 이전 섹션에서 만든 RouteServerSubnet의 리소스 ID입니다.

    $rs = @{
        RouteServerName = 'myRouteServer'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        HostedSubnet = $subnetId
        PublicIP = $publicIp
    }
    New-AzRouteServer @rs 
    

NVA와 BGP 피어링 만들기

BGP 피어링을 Route Server에서 NVA로 설정하려면 Add-AzRouteServerPeer를 사용합니다.

your_nva_ip는 NVA에 할당된 가상 네트워크 IP입니다. your_nva_asn은 NVA에 구성된 ASN(자율 시스템 번호)입니다. ASN은 65515-65520 범위 이외의 16비트 숫자가 될 수 있습니다. 이 ASN 범위는 Microsoft에서 예약되어 있습니다.

$peer = @{
    PeerName = 'myNVA'
    PeerIp = 'your_nva_ip'
    PeerAsn = 'your_nva_asn'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer

중복성을 위해 다른 NVA 또는 동일한 NVA의 다른 인스턴스와 피어링을 설정하려면 다른 PeerName, PeerIpPeerAsn을 사용하여 위와 동일한 명령을 사용합니다.

NVA에 대한 구성 완료

NVA에 대한 구성을 완료하고 BGP 세션을 사용하도록 설정하려면 Azure Route Server의 IP 및 ASN이 필요합니다. Get-AzRouteServer를 사용하여 이 정보를 얻을 수 있습니다.

$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Get-AzRouteServer @routeserver

출력은 다음과 같이 표시됩니다.

RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5}

Important

가상 네트워크 경로가 NVA 연결을 통해 알려지고 고가용성을 달성하도록 각 NVA를 두 경로 서버 인스턴스와 피어링하는 것이 좋습니다.

경로 교환 구성

동일한 가상 네트워크에 가상 네트워크 게이트웨이(ExpressRoute 또는 VPN)가 있는 경우 BranchToBranchTraffic을 사용하도록 설정하여 게이트웨이와 Route Server 간에 경로를 교환할 수 있습니다.

Important

Azure VPN Gateway는 활성-활성 모드로 구성되고 ASN이 65515로 설정되어야 합니다.

Warning

가상 네트워크 게이트웨이(ExpressRoute 또는 VPN)가 포함된 가상 네트워크에서 Route Server를 만들거나 삭제할 때 작업이 완료될 때까지 가동 중지 시간이 예상됩니다. Route Server를 만들거나 삭제하는 가상 네트워크에 ExpressRoute 회로가 연결되어 있는 경우 가동 중지 시간은 ExpressRoute 회로 또는 다른 가상 네트워크에 대한 연결에 영향을 주지 않습니다.

  1. Azure Route Server와 게이트웨이 사이의 경로 교환을 사용하도록 설정하려면 -AllowBranchToBranchTraffic 플래그와 함께 Update-AzRouteServer를 사용합니다.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    AllowBranchToBranchTraffic
}  
Update-AzRouteServer @routeserver 
  1. Azure Route Server와 게이트웨이 사이의 경로 교환을 사용하지 않도록 설정하려면 -AllowBranchToBranchTraffic 플래그 없이 Update-AzRouteServer를 사용합니다.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
}  
Update-AzRouteServer @routeserver 

문제 해결

Azure Route Server에서 보급된 경로를 보려면 Get-AzRouteServerPeerAdvertisedRoute를 사용합니다.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}
Get-AzRouteServerPeerAdvertisedRoute @remotepeer

Azure Route Server에서 학습된 경로를 보려면 Get-AzRouteServerPeerLearnedRoute를 사용합니다.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}  
Get-AzRouteServerPeerLearnedRoute @remotepeer

리소스 정리

Azure Route Server가 더 이상 필요하지 않으면 첫 번째 명령을 사용하여 BGP 피어링을 제거한 후 두 번째 명령을 사용하여 Route Server를 제거합니다.

  1. Remove-AzRouteServerPeer를 사용하여 Azure Route Server와 NVA 간의 BGP 피어링을 제거합니다.
$remotepeer = @{
    PeerName = 'myNVA'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServerPeer @remotepeer
  1. Remove-AzRouteServer를 사용하여 Azure Route Server를 제거합니다.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServer @routeserver

다음 단계

Azure Route Server를 만든 후 계속해서 Azure Route Server가 ExpressRoute 및 VPN Gateway와 상호 작용하는 방법을 알아봅니다.