Share via


快速入門:使用 Azure CLI 來建立和設定路由伺服器

本文可協助您使用 Azure PowerShell,將 Azure 路由伺服器設定為與虛擬網路中的網路虛擬設備 (NVA) 對等互連。 路由伺服器會從您的 NVA 得知路由,並將這些路由規劃到虛擬網路中的虛擬機器上。 Azure 路由伺服器也會向 NVA 公告虛擬網路路由。 如需詳細資訊,請參閱 Azure 路由伺服器

Diagram of Route Server deployment environment using the Azure CLI.

重要

在 2021 年 11 月 1 日之前建立的 Azure 路由伺服器若沒有相關的公用 IP 位址,會與公開預覽供應項目一同部署。 公開預覽供應項目不受正式發行 SLA 和支援所支援。 若要使用正式發行供應項目部署 Azure 路由伺服器,並達到正式發行 SLA 和支援,請刪除並重新建立路由伺服器。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶
  • 本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure CLI 命令。 若要在 Cloud Shell 中執行命令,請選取程式碼區塊右上角的 [開啟 Cloudshell]。 選取 [複製] 以複製程式碼,並將它貼到 Cloud Shell 中以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。 您也可以在本機安裝 Azure CLI 以執行命令。 如果您在本機執行 Azure CLI,請使用 az login 命令登入 Azure。
  • 檢閱 Azure 路由伺服器的服務限制

建立資源群組和虛擬網路

建立資源群組

您必須先建立資源群組來裝載 Azure 路由伺服器,才能建立 Azure 路由伺服器。 使用 az group create 來建立資源群組。 此範例會在 westus 位置建立名為 myRouteServerRG 的資源群組:

az group create \
    --name myRouteServerRG \
    --location westus

建立虛擬網路

使用 az network vnet create 建立虛擬網路。 此範例會建立名為 myVirtualNetwork 的預設虛擬網路。 如果已有虛擬網路,您可以跳到下一節。

az network vnet create \
    --name myVirtualNetwork \
    --resource-group myRouteServerRG \
    --address-prefix 10.0.0.0/16 

新增專用子網路

Azure 路由伺服器需要名為 RouteServerSubnet 的專用子網路。 子網路大小至少必須是 /27 或更短的前置詞 (例如,/26 或 /25),否則您可能會在部署路由伺服器時收到錯誤訊息。 使用 az network vnet subnet create 來建立名為 RouteServerSubnet 的子網路設定:

  1. 執行下列命令,將 RouteServerSubnet 新增至虛擬網路。

    az network vnet subnet create \
        --name RouteServerSubnet \
        --resource-group myRouteServerRG \
        --vnet-name myVirtualNetwork \
        --address-prefix 10.0.0.0/24
    
  2. 記下 RouteServerSubnet 識別碼。 若要取得 RouteServerSubnet 的資源識別碼,並將其儲存至 subnet_id 變數,請使用 az network vnet subnet show

    subnet_id=$(az network vnet subnet show \
        --name RouteServerSubnet \
        --resource-group myRouteServerRG \
        --vnet-name myVirtualNetwork \
        --query id -o tsv) 
    
    echo $subnet_id
    

建立路由伺服器

  1. 為了確保能與管理路由伺服器設定的後端服務連線,您必須指派公用 IP 位址。 使用 az network public-ip create 建立名為 RouteServerIP 的標準公用 IP:

    az network public-ip create \
        --name RouteServerIP \
        --resource-group myRouteServerRG \
        --version IPv4 \
        --sku Standard
    
  2. 使用 az network routeerver create 建立 Azure 路由伺服器。 此範例會建立名為 myRouteServer 的 Azure 路由伺服器。 hosted-subnet 是上一節中所建立 RouteServerSubnet 的資源識別碼。

    az network routeserver create \
        --name myRouteServer \
        --resource-group myRouteServerRG \
        --hosted-subnet $subnet_id \
        --public-ip-address RouteServerIP
    

建立 BGP 與 NVA 的對等互連

使用 az network routeerver peering create 建立路由伺服器與 NVA 之間的 BGP 對等互連:

peer-ip 是指派給 NVA 的虛擬網路 IP。 peer-asn 是在 NVA 中設定的自發系統號碼 (ASN)。 ASN 可以是 65515-65520 範圍以外的任何 16 位數字。 Microsoft 會保留此範圍的 ASN。

az network routeserver peering create \
    --name myNVA \
    --peer-ip 192.168.0.1 \
    --peer-asn 65501 \
    --routeserver myRouteServer \
    --resource-group myRouteServerRG

若要設定與不同 NVA 的對等互連或與相同 NVA 的另一個執行個體的對等互連 (為了備援),請使用上一個命令搭配不同的 PeerNamePeerIpPeerAsn

完成 NVA 上的組態

若要完成 NVA 上的設定並啟用 BGP 工作階段,您需要 Azure 路由伺服器的 IP 和 ASN。 您可以使用 az network routeerver show 來取得此資訊:

az network routeserver show \
    --name myRouteServer \
    --resource-group myRouteServerRG 

輸出顯示如下:

RouteServerAsn  : 65515 

RouteServerIps  : {10.5.10.4, 10.5.10.5}  "virtualRouterAsn": 65515, 

  "virtualRouterIps": [ 

    "10.0.0.4", 

    "10.0.0.5" 

  ], 

重要

我們建議將每個 NVA 與這兩個路由伺服器實例對等互連,以確保虛擬網路路由會透過 NVA 連線公告,並達到高可用性。

設定路由交換

如果您在相同的虛擬網路中有虛擬網路閘道 (ExpressRoute 或 VPN),您可以啟用分支對分支 (B2B) 流量,以在閘道與路由伺服器之間交換路由。

重要

Azure VPN 閘道必須以主動-主動模式設定,並且將 ASN 設定為 65515

警告

當您在包含虛擬網路閘道 (ExpressRoute 或 VPN) 的虛擬網路中建立或刪除路由伺服器時,在作業完成之前預期會停機。 如果您的 ExpressRoute 線路連線到您要建立或刪除路由伺服器的虛擬網路,停機時間不會影響 ExpressRoute 線路或其與其他虛擬網路的連線。

  1. 若要在 Azure 路由伺服器與閘道之間啟用路由交換,請使用 az network routerserver update,並將 --allow-b2b-traffic 旗標設定為 true

    az network routeserver update \
        --name myRouteServer \
        --resource-group myRouteServerRG \
        --allow-b2b-traffic true 
    
  2. 若要在 Azure 路由伺服器與閘道之間停用路由交換,請使用 az network routerserver update,並將 --allow-b2b-traffic 旗標設定為 true

    az network routeserver update \
        --name myRouteServer \
        --resource-group myRouteServerRG \
        --allow-b2b-traffic false 
    

疑難排解

使用 az network routeerver peering list-advertised-route 來檢視 Azure 路由伺服器公告的路由:

az network routeserver peering list-advertised-routes \
    --name myNVA \
    --routeserver myRouteServer \
    --resource-group myRouteServerRG

使用 az network routeserver peering list-learned-routes 來檢視 Azure 路由伺服器所了解的路由:

az network routeserver peering list-learned-routes \
    --name myNVA \
    --routeserver myRouteServer
    --resource-group myRouteServerRG \

Azure CLI 可以在數個殼層環境中執行,但格式稍有不同。 如果使用 Azure CLI 命令時出現非預期的結果,請參閱如何順利使用 Azure CLI

清除資源

如果不再需要 Azure 路由伺服器,請使用第一個命令來移除 BGP 對等互連,然後使用第二個命令來移除路由伺服器。

  1. 使用 az network routeserver peering delete 移除 Azure 路由伺服器與 NVA 之間的 BGP 對等互連:

    az network routeserver peering delete \
        --name myNVA \
        --routeserver myRouteServer \
        --resource-group myRouteServerRG
    
  2. 使用 az network routeerver delete 移除 Azure 路由伺服器:

    az network routeserver delete \
        --name myRouteServer \
        --resource-group myRouteServerRG
    

下一步

在建立了 Azure 路由伺服器之後,請繼續深入了解 Azure 路由伺服器如何與 ExpressRoute 和 VPN 閘道互動: