日程Fit|「いつ空いてますか?」の往復はもう不要。候補日を選んでURLを送るだけ|登録不要|今すぐ無料で使う →

Azure Route Server Route Mapsの構成方法|AS-PATH・BGP Community・ルート集約を実例解説

Azure Route Serverで「特定の拠点ルートだけを受け入れたい」「バックアップ回線の経路優先度を下げたい」「大量のプレフィックスを集約したい」と考えても、BGPポリシーをNVAやオンプレミスルーター側だけで管理すると、設定箇所が分散しやすくなります。

2026年7月31日付のAzure Update 568631で、Azure Route ServerのRoute Mapsがパブリックプレビューとして発表されました。これにより、Azure Route Serverと同じ仮想ネットワークにあるNVA、ExpressRouteゲートウェイ、VPNゲートウェイとの接続に対し、受信・送信方向を分けてルートフィルタリング、ルート集約、AS-PATH変更、BGP Communityの追加などを設定できます。

構成の要点は、対象接続と方向を決める、Route Mapとルールを作る、接続へ適用する、適用前後のルートを検証するの4段階です。特に、InboundとOutboundの取り違え、EqualsContainsの使い分け、ルール未一致時は許可される点に注意が必要です。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

Azure Route Server Route Mapsとは

Azure Route Server Route Mapsは、Azure Route Serverが受信または送信するBGPルートに対して、条件判定とアクションを適用する機能です。

Route Mapは、次の接続に適用できます。

  • Azure Route ServerとNVA間のBGPピアリング
  • 同じ仮想ネットワーク内のExpressRouteゲートウェイ接続
  • 同じ仮想ネットワーク内のVPNゲートウェイ接続

接続ごとにInboundとOutboundを分けて適用でき、各方向に適用できるRoute Mapは1つです。(Microsoft Learn)

InboundとOutboundの違い

InboundとOutboundは、Azure Route Serverから見た方向です。

適用方向処理するルート主な用途
InboundNVA、ExpressRouteゲートウェイ、VPNゲートウェイからAzure Route Serverが受信するルート不要ルートの受信拒否、受信ルートの集約、受信属性の変更
OutboundAzure Route ServerからNVAやゲートウェイへ送信するルート広告ルートの制限、AS-PATH prepend、Communityタグの追加
InboundとOutboundの両方受信時と送信時に別々のRoute Mapを適用受信ポリシーと広告ポリシーを分離して管理

InboundでルートをDropすると、そのルートはAzure Route Serverに学習されず、仮想ネットワークやほかのゲートウェイへ伝播しません。一方、OutboundでDropした場合、Azure Route Server自身はルートを学習したまま、指定した接続先への広告だけを止めます。(Microsoft Learn)

また、Outbound Route MapはAzure Route Serverのベストパス選択後に処理されます。そのため、Outbound側でAS-PATHを変更しても、Azure Route Server自身が選択する経路は変わりません。受信側ルーターやNVAの経路選択を変えたい場合に使用します。(Microsoft Learn)

Route Mapで設定できる条件とアクション

Route Mapは、上から順番に評価される複数のルールで構成します。それぞれのルールには、Match conditions、Action、Next stepを設定します。

Match conditionsで指定できる条件

PropertyCriterion判定内容
RoutePrefixEquals指定したプレフィックスと完全一致するルート
RoutePrefixContains指定したプレフィックスと、その配下にあるより具体的なルート
CommunityEquals指定したCommunityをすべて持つルート
CommunityContains指定したCommunityのうち、1つ以上を持つルート
AsPathEquals指定したASNが指定順で並ぶAS-PATH
AsPathContains指定したASNのうち、1つ以上を含むAS-PATH

たとえば、RoutePrefix / Contains / 10.122.0.0/16は、10.122.0.0/16だけでなく、10.122.1.0/2410.122.200.0/24なども対象にします。特定の1ルートだけを処理したい場合は、原則としてEqualsを選びます。(Microsoft Learn)

1つのルールに複数の条件を設定した場合は、すべての条件を満たしたルートだけが一致します。プレフィックスとCommunityを指定した場合、どちらか一方ではなく両方に一致する必要があります。(Microsoft Learn)

設定できるアクション

対象アクション用途
ルート全体Drop一致したルートを拒否する
RoutePrefixReplace複数のルートを集約プレフィックスに置き換える
AsPathAddAS-PATHの先頭へASNを追加する
AsPathReplaceAS-PATHを指定したASN列へ置き換える
CommunityAdd既存Communityを残して値を追加する
CommunityReplaceCommunityを指定値へ置き換える
CommunityRemove指定したCommunityだけを削除する

AS-PATHまたはCommunityで、値を指定せずにReplaceすると、対象属性をすべて削除できます。ただし、Azureが使用する予約済みCommunityや、経路制御に必要な属性を誤って除去しないよう注意が必要です。(Microsoft Learn)

ContinueとTerminateの使い分け

Next stepでは、一致したルートを次のルールでも評価するかを決めます。

  • Continue:一致後も後続ルールを評価する
  • Terminate:一致した時点でRoute Mapの評価を終了する

複数のルールで同じルートへ属性を追加したい場合はContinueを使います。Dropルールや、後続ルールによる再変更を避けたいルールではTerminateが適しています。

ルールに一致しなかったルートは、次のルールへ進みます。どのルールにも一致しなかった場合の既定動作は許可です。暗黙的な拒否ではありません。許可リスト方式にする場合は、末尾に全ルートを対象とするDropルールを設けるなど、拒否条件を明示的に設計する必要があります。(Microsoft Learn)

さらに、Match conditionsを設定していないルールは、適用対象接続のすべてのルートに一致します。意図せず全経路をDropまたは変更しないよう、保存前に条件欄を確認してください。(Microsoft Learn)

Azure Route Server Route Mapsの構成前に確認すること

Route Mapを作り始める前に、現在のルーティングと変更目的を整理します。

必要な構成

Azure portalから構成する場合は、次の環境が必要です。

  • Azure Route Serverが仮想ネットワークにデプロイされている
  • NVAとのBGPピアリング、ExpressRouteゲートウェイ、VPNゲートウェイのいずれかが同じ仮想ネットワークにある
  • Azure Route Serverが対象ルートを正常に学習または広告している

PowerShellを使用する場合は、Azure Cloud ShellまたはAzure PowerShellに加え、Az.Networkモジュール8.0.0以降が必要です。(Microsoft Learn)

変更前のルートを記録する

Route Map適用前に、Azure Route ServerのEffective Routesで次の情報を記録します。

  • 対象プレフィックス
  • Next hop
  • 学習元の接続
  • 現在のAS-PATH
  • 現在のBGP Community
  • 同じ宛先に対する代替経路

変更前の状態がなければ、Route Mapが効いていないのか、もともと対象ルートが存在しなかったのかを判断できません。Microsoftも、Route Map作成前後にEffective Routesを確認する手順を案内しています。(Microsoft Learn)

初回作成時は約30分のアップグレードが行われる

Azure Route Serverで初めてRoute Mapを作成すると、Route Serverに対して一度だけアップグレードが行われます。公式ドキュメントでは、この処理に約30分かかるとされています。以後のRoute Map操作では、同じ初回アップグレードは発生しません。(Microsoft Learn)

本番環境では、初回作成を業務ピーク時間に実施するのではなく、検証時間と切り戻し時間を確保したメンテナンス枠で行うのが安全です。

Route Mapsには追加料金が発生する

Route Mapsは無料の設定機能ではありません。Azure Route Serverの料金ページでは、Route MapsをデプロイしたRoute Serverや、Route Mapを適用したNVA、VPN、ExpressRoute接続に関連する時間単位の料金項目が案内されています。実際の金額はリージョンや契約通貨によって異なるため、適用する接続数を含めて事前に見積もる必要があります。(Microsoft Azure)

Azure portalでRoute Mapsを構成する手順

Route Mapを作成する

  1. Azure portalで対象のAzure Route Serverを開きます。
  2. 左側メニューのSettingsからroute mapsを選択します。
  3. + Add Route Mapを選択します。
  4. Route Mapの名前を入力します。
  5. + Add ruleを選択します。
  6. ルール名を入力します。
  7. Next stepContinueまたはTerminateを選択します。
  8. Match conditionsにProperty、Criterion、Valueを設定します。
  9. Action on matched routesDropまたはModifyを選択します。
  10. Modifyを選んだ場合は、Route modificationsに変更内容を入力します。
  11. Addを選択してルールを追加します。
  12. 必要に応じて複数のルールを作成します。
  13. ルールをドラッグして評価順を並べ替えます。
  14. Saveを選択してRoute Map全体を保存します。

ルール編集画面のAddだけでは、Route Map自体には保存されません。ルール一覧へ戻った後、Route Map画面側でもSaveを実行する必要があります。保存が完了すると、Provisioning stateがSucceededになります。(Microsoft Learn)

BGPピアリングやゲートウェイ接続へ適用する

Route Mapを作っただけでは、ルーティングには反映されません。

  1. Azure Route Serverのroute maps画面を開きます。
  2. Apply route mapsを選択します。
  3. Inbound Route MapまたはOutbound Route Mapを選択します。
  4. 画面下部から適用対象のBGPピアリングまたはゲートウェイ接続を選択します。
  5. Saveを選択します。
  6. 再度Apply route mapsを開き、対象接続と方向を確認します。

同じRoute Mapを複数の接続へ適用できますが、接続ごと、方向ごとに適用できるRoute Mapは1つです。複数のポリシーが必要な場合は、複数ルールを1つのRoute Mapへまとめます。(Microsoft Learn)

受信した不要ルートをDropする構成例

NVAから次のルートが広告されているとします。

  • 10.122.1.0/24
  • 10.122.2.0/24
  • 10.122.3.0/24
  • 10.100.0.0/16

このうち、10.122.0.0/16配下のルートだけをAzureへ取り込みたくない場合は、次のルールを作成します。

項目設定値
Route Map名rm-in-drop-branch122
ルール名drop-10-122-more-specifics
Next stepTerminate
PropertyRoutePrefix
CriterionContains
Value10.122.0.0/16
Action on matched routesDrop
適用方向Inbound
適用先対象NVAのBGPピアリング

適用後、Azure Route Serverは10.122.1.0/2410.122.2.0/2410.122.3.0/24を学習しなくなります。一方、10.100.0.0/16は条件に一致しないため、そのまま学習されます。(Microsoft Learn)

Dropしても、送信元NVAのルーティングテーブルから経路が削除されるわけではありません。NVAは引き続き経路を広告しますが、Azure Route Server側で受け入れない状態になります。(Microsoft Learn)

ルート集約を設定する構成例

複数の細かいルートを1つにまとめたい場合は、RoutePrefixのReplaceを使用します。

たとえば、次の3ルートを広告しているとします。

  • 10.2.1.0/24
  • 10.2.2.0/24
  • 10.2.3.0/24

これらを10.2.0.0/16として広告する構成例は次のとおりです。

項目設定値
Route Map名rm-out-summary-10-2
PropertyRoutePrefix
CriterionContains
Value10.2.0.0/16
Action on matched routesModify
Route modification PropertyRoutePrefix
Route modification ActionReplace
Route modification Value10.2.0.0/16
適用方向集約後のルートを送信したい場合はOutbound

Route Mapsのルート集約は、ルート数の削減に利用できます。ただし、集約されたルートからはAS-PATHとBGP Communityが取り除かれます。属性を利用した経路制御を後段で行う場合は、集約後に必要なCommunityを追加するなど、ルール順を含めた再設計が必要です。(Microsoft Learn)

また、10.2.0.0/16を広告すると、実際には存在しない10.2.100.0/24なども集約ルートの到達範囲に含まれます。集約範囲全体を正しく転送できない構成では、通信のブラックホールが発生する可能性があります。単にルート数を減らすのではなく、集約プレフィックス全体の到達性を確認してください。

Route Mapsはルート集約には使用できますが、元のルートより具体的なプレフィックスを新しく作る用途には対応していません。(Microsoft Learn)

AS-PATHを追加してバックアップ経路にする構成例

AS-PATH prependは、同じ宛先に複数の経路がある場合に、受信側BGPルーターから見た経路の優先度を下げるために使います。

たとえば、10.0.0.0/16のAS-PATHが次の状態だとします。

状態AS-PATH
変更前65515
変更後64511 65515

一般的なBGP経路選択では、AS-PATHが短い経路が優先されます。そのため、バックアップ側接続への広告にASNを追加すると、受信側ルーターは短いAS-PATHを持つ別経路を優先しやすくなります。(Microsoft Learn)

設定例は次のとおりです。

項目設定値
Route Map名rm-out-prepend-backup
PropertyRoutePrefix
CriterionEquals
Value10.0.0.0/16
Action on matched routesModify
Route modification PropertyAsPath
Route modification ActionAdd
Route modification Value64511
適用方向Outbound
適用先バックアップとして扱いたい接続

複数のASNはカンマ区切りで入力できます。たとえば、64511,64510,64511と入力すると、その順番でAS-PATHの先頭へ追加されます。同じASNを複数回追加して、さらに経路を長くすることもできます。(Microsoft Learn)

64511はMicrosoft Learnの構成例に合わせたサンプル値です。実環境では、組織のBGP設計と接続先事業者のポリシーに合うASNを使用してください。

Route Mapsが対応するのは2バイトASNです。また、Azureが予約している次のASNはAS-PATH prependに使用できません。

  • Public ASN:8074807512076
  • Private ASN:6551565517655186551965520

公式の制限事項では、AS-PATH prependにPrivate ASNを使用しないよう案内されています。特にExpressRouteを経由するルートでは、MSEEによってPrivate ASNが取り除かれる可能性があります。(Microsoft Learn)

BGP Communityでルートをタグ付けする構成例

BGP Communityは、ルートへ付与するタグです。Communityを受信したNVA、SD-WAN機器、オンプレミスルーターは、その値に応じてLocal Preferenceの変更、フィルタリング、経路分類などを実行できます。(Microsoft Learn)

たとえば、10.20.0.0/16配下を本番環境のルートとして分類する場合、次のように設定できます。

項目設定値
Route Map名rm-out-tag-production
PropertyRoutePrefix
CriterionContains
Value10.20.0.0/16
Action on matched routesModify
Route modification PropertyCommunity
Route modification ActionAdd
Route modification Value65000:100
適用方向Outbound

Communityの値は、接続先と事前に意味を共有します。

Community例組織内での意味
65000:100本番環境
65000:200開発環境
65000:300災害対策環境

Communityを付けるだけでは、トラフィックの経路は変わりません。受信側ルーターやNVAに、該当Communityを検出したときのポリシーが必要です。また、受信側ネットワークの設定によっては、Communityが維持、変更、削除されることがあります。(Microsoft Learn)

Azureが使用する次のBGP Communityは、Route Mapで削除しないようMicrosoftが案内しています。

65517:12001, 65517:12002, 65517:12003, 65517:12005, 65517:12006, 65518:65518, 65517:65517, 65517:12076, 65518:12076, 65515:10000, 65515:20000

(Microsoft Learn)

PowerShellでRoute Mapを作成する方法

PowerShellでは、Match condition、Action、Rule、Route Mapの順にオブジェクトを作成します。

次の例は、10.0.0.0/16のAS-PATHへ64511を追加し、指定した接続のOutboundへ適用する構成です。

$resourceGroupName = "rg-network-prod"
$routeServerName = "ars-hub-japaneast"
$routeMapName = "rm-out-prepend-backup"

# NVAのBGPピアリングまたはゲートウェイ接続のリソースID
$connectionResourceId = "<connection-resource-id>"

# 10.0.0.0/16に完全一致するルートを対象にする
$criterion = New-AzRouteMapRuleCriterion `
    -MatchCondition "Equals" `
    -RoutePrefix @("10.0.0.0/16")

# AS-PATHへ64511を追加する
$actionParameter = New-AzRouteMapRuleActionParameter `
    -AsPath @("64511")

$action = New-AzRouteMapRuleAction `
    -Type "Add" `
    -Parameter @($actionParameter)

# 一致後は後続ルールを評価しない
$rule = New-AzRouteMapRule `
    -Name "prepend-10-0-0-0-16" `
    -MatchCriteria @($criterion) `
    -RouteMapRuleAction @($action) `
    -NextStepIfMatched "Terminate"

# Route Mapを作成し、Outbound接続へ適用する
New-AzRouteMap `
    -ResourceGroupName $resourceGroupName `
    -VirtualHubName $routeServerName `
    -Name $routeMapName `
    -RouteMapRule @($rule) `
    -OutboundConnection @($connectionResourceId)

# 作成結果を確認する
Get-AzRouteMap `
    -ResourceGroupName $resourceGroupName `
    -VirtualHubName $routeServerName `
    -Name $routeMapName

Azure Route Serverは内部的にVirtual Hub APIを使用するため、New-AzRouteMap-VirtualHubNameにはVirtual WAN Hub名ではなく、対象のAzure Route Server名を指定します。この点はPowerShell構成で間違えやすい部分です。(Microsoft Learn)

既存のRoute Mapを更新する場合はUpdate-AzRouteMap、削除する場合はRemove-AzRouteMapを使用します。(Microsoft Learn)

Route Map適用後の確認方法

Route Mapは、Provisioning stateがSucceededになっただけでは十分ではありません。コントロールプレーンと実際の通信の両方を確認します。

確認項目確認場所確認内容
適用状態Apply route maps正しい接続と方向にRoute Mapが表示されているか
学習ルートEffective RoutesDrop、集約、AS-PATH変更が反映されているか
ルール処理Route Map dashboard対象ルートが意図したルールに一致しているか
広告結果接続先NVAやオンプレミスルーター受信プレフィックス、AS-PATH、Communityが期待どおりか
実通信対象ワークロード疎通、フェイルオーバー、戻り通信に問題がないか

Route Map dashboardでは、ルート、AS-PATH、BGP Communityを確認できます。AS-PATH prependやCommunity追加は、Azure側の表示だけでなく、最終的な受信側BGPピアでも確認してください。(Microsoft Learn)

問題が発生した場合は、Apply route mapsを開き、対象接続のInbound Route MapまたはOutbound Route MapをNoneに変更して保存すると、Route Mapを接続から外せます。Route Map自体を削除する前に適用解除すれば、設定を残したまま切り戻しと再検証ができます。(Microsoft Learn)

Route Mapsで失敗しやすいポイント

症状主な原因確認方法
ルートが変化しない適用方向が逆受信制御はInbound、接続先への広告制御はOutboundか確認する
初回作成後すぐ反映されない初回アップグレード中Provisioning stateを確認する
想定より多くのルートが対象になるContainsの範囲が広すぎるEqualsへ変更できないか検討する
全ルートが変更されたMatch conditionsが空条件未設定のルールがないか確認する
AS-PATHが変わらない予約済みASN、接続先での属性除去ASNと受信側BGPテーブルを確認する
集約されないRoutePrefixのアクションがReplaceになっていないMatch条件とRoute modificationを確認する
Communityが見えない接続先で削除されているRoute Map dashboardと受信側の両方を比較する
Route MapがFailedになる無効な値、予約属性の操作ルールを見直し、失敗したRoute Mapを再作成する

Microsoftのトラブルシューティングでも、方向の取り違え、EqualsContainsの誤選択、条件なしルール、予約済みASN、初回アップグレードが代表的な確認点として挙げられています。(Microsoft Learn)

構成前に把握しておきたい制限事項

Azure Route Server Route Mapsには、次の制限があります。

  • パブリックプレビュー段階である
  • 1接続につき、各方向へ適用できるRoute Mapは1つ
  • Route Map未一致時の既定動作は許可
  • Match conditions未設定のルールは全ルートに一致する
  • ルート集約後はAS-PATHとBGP Communityが削除される
  • AS-PATHで扱えるのは2バイトASN
  • Azure予約済みASNをAS-PATH prependに使用できない
  • Azure予約済みBGP Communityを削除しない
  • Route Mapsで変更できるのは集約方向であり、より具体的なルートの作成には使えない
  • Azure Route Serverが広告する仮想ネットワークのアドレス空間は、Route Mapsで変更またはフィルタリングできない
  • 同じプレフィックスに対し、Route Mapsによる変更とNATを同時に適用できない
  • デフォルトルートを変更できるのは、そのルートがオンプレミスまたはNVAから学習された場合
  • ExpressRouteのMSEEへRoute Mapを直接適用することはできない
  • Route Mapsの利用には追加料金が発生する

(Microsoft Learn)

特に注意したいのは、仮想ネットワークのアドレス空間そのものをRoute Mapsで自由に隠せるわけではない点です。特定のスポークやサブネットへの通信経路を制御したい場合は、Route Mapsだけでなく、NVAのBGP設定、仮想ネットワークピアリング、UDRなどを含めて設計します。

Azure Virtual WAN Route-mapsとの違い

Azure Route Server Route MapsとAzure Virtual WAN Route-mapsは、名前とルール構造が似ていますが、適用対象が異なります。

項目Azure Route Server Route MapsAzure Virtual WAN Route-maps
中心となるリソースAzure Route ServerVirtual WAN Virtual Hub
主な適用先NVAとのBGPピアリング、ExpressRouteゲートウェイ、VPNゲートウェイExpressRoute、S2S VPN、P2S VPN、VNet接続
構成場所Azure Route Serverのroute mapsVirtual HubのRoute-maps
VNet接続への直接適用対応しない対応する
利用目的通常のVNet内に配置したRoute ServerのBGP制御Virtual WAN Hubを中心とした接続制御

Virtual WAN向けの手順をそのままAzure Route Serverへ適用すると、ポータル上の場所や選択できる接続が一致しません。検索時には、Microsoft Learnのページ名に「for Azure Route Server」と書かれているかを確認してください。(Microsoft Learn)

Route MapsはUDRの代わりになるのか

Route Mapsは、Azure Route Serverが交換するBGPルートの広告、フィルタリング、属性変更を行う機能です。UDRは、Azureサブネットに関連付けたルートテーブルで、宛先プレフィックスと次ホップを明示的に指定する機能です。

そのため、両者は単純な代替関係ではありません。

  • BGPで学習・広告する経路を整理する:Route Maps
  • 特定サブネットからの通信先と次ホップを固定する:UDR
  • NVAを経由させながら動的経路交換も使う:Route Maps、BGP、UDRを組み合わせて設計

Azureでは、システムルート、BGPルート、カスタムルートが同じルーティング環境で扱われます。Route Mapsの適用後はAzure Route Serverだけを見るのではなく、対象VMのNICに表示される有効なルートも確認することが重要です。(Microsoft Learn)

まずは1接続・1方向・1ルールから検証する

Azure Route Server Route Mapsは、NVAやオンプレミス側の設定を変更せずにAzure側でBGPルートを制御できる便利な機能です。一方、1つのルールミスが多数のルートへ影響する可能性があります。

最初の導入では、次の順番が安全です。

  1. Effective Routesで変更前の状態を記録する
  2. 影響の小さいテスト接続を選ぶ
  3. ContainsではなくEqualsで対象を限定する
  4. InboundまたはOutboundの片方向だけに適用する
  5. Route Map dashboardと接続先BGPテーブルを比較する
  6. 実通信とフェイルオーバーを確認する
  7. 問題がなければ対象プレフィックスや接続を段階的に広げる

ルート集約、AS-PATH、Communityを最初から1つの複雑なRoute Mapへ詰め込むのではなく、まずはDropやAS-PATH追加など、結果を確認しやすい単一目的のルールから始めると、障害時の原因特定と切り戻しが容易になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次