部署 Azure 路由伺服器

已完成

若要建立及設定 Azure 路由伺服器,您可以使用數個工具,例如 Azure 入口網站、Azure PowerShell、Azure CLI 或 Azure Resource Manager 範本。

在 Azure 入口網站中設定 Azure 路由伺服器

若要在 Azure 入口網站中建立及設定 Azure 路由伺服器,請遵循與建立任何其他 Azure 資源相同的程序。 開始建立 Azure 路由伺服器之前,請先確定您有現有的虛擬網路,且其子網路名為 RouteServerSubnet。 此子網路至少應有 /27 網路首碼。 此外,這個虛擬網路應該與您想要建立的 Azure 路由伺服器位於相同的資源群組和相同的位置。

當您啟動精靈來建立 Azure 路由伺服器時,您會看到下列一組選項:

建立路由伺服器頁面的螢幕擷取畫面,其中已選取 [基本] 索引標籤。

您應該先選擇適當的 Azure 訂用帳戶。 根據您選擇的訂用帳戶,接著要選擇想要用來放置 Azure 路由伺服器和其他資源的資源群組。

選擇 Azure 路由伺服器的執行個體名稱,然後選取虛擬網路所在的區域。 確定您選取的區域適當,否則將無法選取虛擬網路。

當您為 Azure 路由伺服器選取虛擬網路時,系統會自動選取名為 RouteServerSubnet 的適當子網路。 您也可以選擇從這個精靈建立子網路。

在最後一組選項中,您必須建立 Azure 路由伺服器的公用 IP 位址。 您可以選取之前就擁有的現有公用 IP,也可以建立新的 IP。 雖然 Azure 路由伺服器實際上不會管理網路之間的資料,但需要有公用 IP 位址,才能確保其能夠連線到負責管理路由伺服器設定的後端服務。 目前僅支援 IPv4 位址。

建立 Azure 路由伺服器物件之前,您可以為其指派標籤。 標籤是名稱/值組,可讓您將資源分類,並檢閱合併帳單。 其做法是將相同的標籤套用至多個資源和資源群組。 然而,這不是必要操作。

建立 Azure 路由伺服器物件之後,必須新增其對等,以便能夠交換路由資訊。 在 Azure 路由伺服器入口網站中,瀏覽至 [對等],然後選取 [+ 新增]。 若要新增對等,您必須提供對等名稱、ASN 號碼,以及可供 Azure 路由伺服器存取的對等介面所具有的 IP 位址。 下列螢幕擷取畫面會舉例說明這些設定:

[新增對等] 區段的螢幕擷取畫面,其中已填入名稱、ASN 和 IPV4 位址方塊。

將一或多個對等新增至 Azure 路由伺服器物件之後,其便會開始使用 BGP 來學習和交換路由。 不過,您無法使用 Azure 入口網站來檢閱這些路由。 如果您想要檢查 Azure 路由伺服器從其對等收到的路由,則必須使用 Get-AzRouteServerPeerLearnedRoute Cmdlet。 針對此命令,您必須提供 Azure 路由伺服器和資源群組的名稱。 您也需要提供對等的名稱,因為路由會按照對等來列出。 例如:

Get-AzRouteServerPeerLearnedRoute -RouteServerName TestARS -ResourceGroupName RG1 -PeerName NVA1 | ft

此命令會提供路由清單,如下列螢幕擷取畫面所示:

路由清單的螢幕擷取畫面。

使用 Azure PowerShell 來建立 Azure 路由伺服器

若要自動部署 Azure 路由伺服器,您可以使用 Azure PowerShell Cmdlet。 Azure PowerShell 完整支援 Azure 路由伺服器的部署和設定。 下列程式碼會建立名為 [myRouteServerRG] 的資源群組、在該相同資源群組內名為 [myVirtualNetwork] 的虛擬網路、名為 [RouteServerSubnet] 的 Azure 路由伺服器專用子網路,以及名為 [myRouteServer] 的路由伺服器物件。 最後,其會設定與其 BGP 對等 myNVA 的連線。

$rg = @{
    Name = 'myRouteServerRG'
    Location = 'WestUS'
}
New-AzResourceGroup @rg
$vnet = @{
    Name = 'myVirtualNetwork'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet
$subnet = @{
    Name = 'RouteServerSubnet'
    VirtualNetwork = $virtualNetwork
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
$virtualnetwork | Set-AzVirtualNetwork
$ip = @{
    Name = 'myRouteServerIP'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AllocationMethod = 'Static'
    IpAddressVersion = 'Ipv4'
    Sku = 'Standard'
}
$publicIp = New-AzPublicIpAddress @ip
$rs = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    HostedSubnet = $subnetConfig.Id
    PublicIP = $publicIp
}
New-AzRouteServer @rs
$peer = @{
    PeerName = 'myNVA'
    PeerIp = '192.168.0.1'
    PeerAsn = '65501'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Get-AzRouteServer @routeserver