快速入門:使用 Azure CLI 來建立和設定路由伺服器
本文可協助您使用 Azure PowerShell,將 Azure 路由伺服器設定為與虛擬網路中的網路虛擬設備 (NVA) 對等互連。 路由伺服器會從您的 NVA 得知路由,並將這些路由規劃到虛擬網路中的虛擬機器上。 Azure 路由伺服器也會向 NVA 公告虛擬網路路由。 如需詳細資訊,請參閱 Azure 路由伺服器。
重要
在 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 的子網路設定:
執行下列命令,將 RouteServerSubnet 新增至虛擬網路。
az network vnet subnet create \ --name RouteServerSubnet \ --resource-group myRouteServerRG \ --vnet-name myVirtualNetwork \ --address-prefix 10.0.0.0/24
記下 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
建立路由伺服器
為了確保能與管理路由伺服器設定的後端服務連線,您必須指派公用 IP 位址。 使用 az network public-ip create 建立名為 RouteServerIP 的標準公用 IP:
az network public-ip create \ --name RouteServerIP \ --resource-group myRouteServerRG \ --version IPv4 \ --sku Standard
使用 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 的另一個執行個體的對等互連 (為了備援),請使用上一個命令搭配不同的 PeerName、PeerIp 和 PeerAsn。
完成 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 線路或其與其他虛擬網路的連線。
若要在 Azure 路由伺服器與閘道之間啟用路由交換,請使用 az network routerserver update,並將
--allow-b2b-traffic
旗標設定為 true:az network routeserver update \ --name myRouteServer \ --resource-group myRouteServerRG \ --allow-b2b-traffic true
若要在 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 對等互連,然後使用第二個命令來移除路由伺服器。
使用 az network routeserver peering delete 移除 Azure 路由伺服器與 NVA 之間的 BGP 對等互連:
az network routeserver peering delete \ --name myNVA \ --routeserver myRouteServer \ --resource-group myRouteServerRG
使用 az network routeerver delete 移除 Azure 路由伺服器:
az network routeserver delete \ --name myRouteServer \ --resource-group myRouteServerRG
下一步
在建立了 Azure 路由伺服器之後,請繼續深入了解 Azure 路由伺服器如何與 ExpressRoute 和 VPN 閘道互動: