クイック スタート: Azure CLI を使用してルート サーバーを作成および構成する

この記事は、Azure PowerShell を使用して、仮想ネットワーク内のネットワーク仮想アプライアンス (NVA) とピアリングするように Azure Route Server を構成するのに役立ちます。 Route Server では、NVA からルートを学習し、仮想ネットワーク内の仮想マシン上にそれらをプログラムします。 また、Azure Route Server は NVA に仮想ネットワーク ルートをアドバタイズします。 詳細については、Azure Route Server に関するページを参照してください。

Azure CLI を使用した Route Server デプロイ環境の図。

重要

パブリック IP アドレスが関連付けられていない 2021 年 11 月 1 日より前に作成された Azure Route Server は、パブリック プレビュー オファリングを使用してデプロイされます。 パブリック プレビュー オファリングは、一般提供の SLA およびサポートの対象外です。 一般提供されたオファリングを使用して Azure Route Server をデプロイし、一般提供の SLA とサポートを利用するには、Route Server を削除して再作成してください。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます
  • この記事の手順では、Azure Cloud Shell で Azure CLI コマンドを対話型で実行します。 Cloud Shell でコマンドを実行するには、コード ブロックの右上隅にある [Cloudshell を開く] を選択します。 [コピー] を選択してコードをコピーし、Cloud Shell に貼り付けて実行します。 Azure portal 内から Cloud Shell を実行することもできます。 また、Azure CLI をローカルにインストールしてコマンドを実行することもできます。 Azure CLI をローカルで実行する場合は、az login コマンドを使用して Azure にサインインします。
  • Azure Route Server のサービスの制限を確認します。

リソース グループと仮想ネットワークを作成する

リソース グループを作成する

Azure Route Server を作成する前に、Route Server をホストするリソース グループを作成する必要があります。 az group create を使用して、リソース グループを作成します。 次の例では、myRouteServerRG という名前のリソース グループを westus の場所に作成します。

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 Route Server には、RouteServerSubnet という名前の専用サブネットが必要です。 サブネットのサイズは、少なくとも /27 またはさらに短いプレフィックス (/26 や /25 など) である必要があります。そうしないと、Route Server をデプロイするときにエラー メッセージが表示される場合があります。 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 ID を書き留めておきます。 RouteServerSubnet のリソース ID を取得して 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. Route Server の構成が管理されるバックエンド サービスへの接続を確保するために、パブリック 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 routeserver create を使用して Azure Route Server を作成します。 この例では、myRouteServer という名前の Azure Route Server を作成します。 hosted-subnet は、前のセクションで作成した RouteServerSubnet のリソース ID です。

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

NVA との BGP ピアリングを作成する

az network routeserver peering create を使用して、Route Server と NVA の間に BGP ピアリングを確立します。

peer-ip は、NVA に割り当てられた仮想ネットワーク IP です。 peer-asn は、NVA で構成された自律システム番号 (ASN) です。 ASN は、65515 から 65520 の範囲に含まれているもの以外の 16 ビットの任意の数値にすることができます。 この ASN の範囲は Microsoft によって予約されています。

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

冗長性を確保するために、異なる NVA、または同じ NVA の別のインスタンスとのピアリングを設定するには、前のコマンドを異なる PeerNamePeerIp、および PeerAsn を指定して使用します。

NVA の構成を完了する

NVA の構成を完了して BGP セッションを有効にするには、Azure Route Server の IP と ASN が必要です。 この情報は、az network routeserver 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 を Route Server の両方のインスタンスとピアリングして、NVA 接続で仮想ネットワーク ルートをアドバタイズし、高可用性を実現できるようにすることをお勧めします。

ルート交換を構成する

同じ仮想ネットワーク内に仮想ネットワーク ゲートウェイ (ExpressRoute または VPN) がある場合は、"b2b トラフィック" を有効にして、ゲートウェイと Route Server の間でルートを交換できます。

重要

Azure VPN ゲートウェイは、アクティブ-アクティブ モードで構成し、ASN が 65515 に設定されている必要があります。

警告

仮想ネットワーク ゲートウェイ (ExpressRoute または VPN) を含む仮想ネットワーク内でルート サーバーを作成または削除する場合、操作が完了するまでにダウンタイムが発生することが想定されます。 Route Server を作成または削除する仮想ネットワークに接続された ExpressRoute 回線がある場合、ダウンタイムは ExpressRoute 回線や他の仮想ネットワークへの接続に影響しません。

  1. Azure Route Server とゲートウェイ間のルート交換を有効にするには、--allow-b2b-traffic フラグを true に設定して az network routerserver update を使用します。

    az network routeserver update \
        --name myRouteServer \
        --resource-group myRouteServerRG \
        --allow-b2b-traffic true 
    
  2. Azure Route Server とゲートウェイ間のルート交換を無効にするには、--allow-b2b-traffic フラグを false に設定して az network routerserver update を使用します。

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

トラブルシューティング

az network routeserver peering list-advertised-routes を使用して、Azure Route Server によってアドバタイズされたルートを表示します。

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

az network routeserver peering list-learned-routes を使用して、Azure Route Server によって学習されたルートを表示します。

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

Azure CLI は、いくつかのシェル環境で実行できますが、形式には若干の差異があります。 Azure CLI コマンドで予期しない結果が発生した場合は、「Azure CLI を正しく使用する方法」を参照してください。

リソースをクリーンアップする

Azure Route Server が不要になった場合は、最初のコマンドを使用して BGP ピアリングを削除してから、2 番目のコマンドを使用して Route Server を削除します。

  1. az network routeserver peering delete を使用して、Azure Route Server と NVA の間の BGP ピアリングを削除します。

    az network routeserver peering delete \
        --name myNVA \
        --routeserver myRouteServer \
        --resource-group myRouteServerRG
    
  2. az network routeserver delete を使用して Azure Route Server を削除します。

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

次のステップ

Azure Route Server を作成した後、Azure Route Server と ExpressRoute および VPN Gateway との連携方法について引き続き学習するには、次を参照してください。