Azure ExpressRoute 回線切替ガイド:BGP接続を維持しながら別回線へ移行する方法

はじめに

オンプレミスとAzureをExpressRouteで接続している環境では、プロバイダ変更・回線品質改善・コスト最適化などを理由に、別の回線への切替が必要になることがあります。

ExpressRoute回線の切替は通常のネットワーク工事と異なり、Azure側のリソース構成・BGP設定・ルーティングに影響します。特にプロバイダが変わる場合AS番号が変わる場合は注意点が多く、ダウンタイムを最小化するための計画が重要です。

本記事では、以下のシナリオごとに切替方式とAzure側の対応を整理します。

シナリオ概要
同一プロバイダ・回線アップグレード帯域増速など
プロバイダ変更(AS番号変更なし)提供ASNが変わらないケース
プロバイダ変更(AS番号変更あり)オンプレAS番号またはPeer AS番号が変わるケース
Azure側ゲートウェイ変更ExpressRoute GatewayのSKU変更など

ExpressRoute BGP接続の基本構成

まず、前提となる構成を整理します。

graph LR subgraph オンプレミス CE[CEルーター
AS: 65001] end subgraph プロバイダ PE[PEルーター
AS: 65100] end subgraph Azure MSEE[Microsoft Enterprise Edge
AS: 12076] GW[ExpressRoute
Gateway] VNET[仮想ネットワーク] end CE -- "eBGP" --> PE PE -- "eBGP" --> MSEE MSEE -- "内部接続" --> GW GW --> VNET

ExpressRoute では BGP を2段階で使用します。

  1. CEルーター ↔ PEルーター(プロバイダ網内): eBGP
  2. PEルーター ↔ Microsoft Edge(MSEE): eBGP
    • MicrosoftのASN: 12076(固定)
    • プロバイダのASN: プロバイダが指定
    • オンプレのASN: 顧客が任意に設定(1〜65534 または パブリックAS)

Azure側のExpressRouteリソースとして以下が存在します。

リソース役割
ExpressRoute回路(Circuit)プロバイダとのL2/L3接続の論理表現
Peering設定BGPピアリング情報(Private/Microsoft Peering)
ExpressRoute GatewayVNetとExpressRouteを結ぶゲートウェイ
ConnectionGatewayとCircuitを紐付けるリソース

切替方式の選択肢

方式1: 並行稼働(デュアル回線)切替 <推奨>

最も安全な方式です。新旧回線を一時的に並行稼働させ、ルーティングを段階的に移行します。

sequenceDiagram participant ON as オンプレ participant OLD as 旧回線 participant NEW as 新回線 participant AZ as Azure Note over ON,AZ: Phase 1: 新回線のセットアップ ON->>NEW: 新回線接続・BGPピア確立 NEW->>AZ: 新CircuitにConnection作成 AZ->>AZ: 両Connectionが有効状態 Note over ON,AZ: Phase 2: トラフィック移行 ON->>ON: 旧回線のBGP LOCAL_PREFを下げる AZ->>AZ: 旧回線のWeight/RouteFilterを調整 Note over ON,AZ: トラフィックが新回線に寄る Note over ON,AZ: Phase 3: 旧回線の切離し ON->>OLD: BGPピア停止 AZ->>AZ: 旧ConnectionをAzureから削除 AZ->>AZ: 旧Circuitリソースを削除

Azure側の作業

作業必要/不要備考
新CircuitリソースをAzure側に作成必要サービスキーをプロバイダに提供
新CircuitのPeering設定必要Private PeeringのVLAN/BGP設定
ExpressRoute GatewayはそのままでOK不要複数Circuitを同一GWにConnectionできる
新CircuitへのConnection作成必要GatewayとCircuitを紐付け
旧ConnectionをAzureから削除必要移行完了後
旧Circuitリソースを削除必要プロバイダ解約後

ルーティング制御のポイント(Azure側)

ExpressRoute では Azure が広告するプレフィックスと、オンプレから受信するプレフィックスをルーティングします。並行稼働時に新回線優先にする方法:

# Azure側でConnectionの「Weight(重み)」を設定
# 値が大きい方が優先される(0〜32000)

旧Connection: Weight = 0(デフォルト)
新Connection: Weight = 100(優先)

Note: Azure側でWeight設定するだけで、Azure→オンプレ方向のトラフィックを新回線に誘導できます。オンプレ→Azure方向はCEルーターのLOCAL_PREFやAS_PATHで制御します。


方式2: メンテナンス時間内の一括切替

ダウンタイムを許容できる場合の方式です。プロバイダがMSEEに対してBGP設定を変更する際に合わせて実施します。

sequenceDiagram participant ON as オンプレ participant OLD as 旧回線 participant NEW as 新回線 participant AZ as Azure Note over ON,AZ: メンテナンス開始 ON->>OLD: BGP停止 AZ->>AZ: 旧Connection削除 Note over ON,AZ: 新回線切替作業 NEW->>AZ: 新CircuitのPeering確立 AZ->>AZ: 新ConnectionをGatewayに接続 ON->>NEW: BGP確立確認 Note over ON,AZ: メンテナンス終了・疎通確認

この方式はシンプルですが、切替中は全トラフィックが停止します。VPN GatewayをバックアップとしてS2S VPNを張っておくとダウンタイムを補完できます。


シナリオ別:プロバイダ変更の対応

シナリオA: プロバイダ変更(オンプレAS番号変更なし)

オンプレのCEルーターのAS番号が変わらない場合は、最も影響が少ないパターンです。

graph LR subgraph 変更前 CE1[CE: AS65001] -- eBGP --> PE1[旧PE: AS65100] PE1 -- eBGP --> MSEE1[MSEE: AS12076] end subgraph 変更後 CE2[CE: AS65001
変更なし] -- eBGP --> PE2[新PE: AS65200] PE2 -- eBGP --> MSEE2[MSEE: AS12076
変更なし] end

Azure側で変更が必要なもの

項目変更理由
ExpressRoute Circuit(回路リソース)新規作成プロバイダが変わるため新サービスキーが必要
Private Peering設定新規作成新CircuitのVLAN/BGP設定として
Peer ASN(プロバイダASN)変更新プロバイダのASNを指定
オンプレ側 Customer ASN変更不要AS65001のまま
ExpressRoute Gateway変更不要そのまま利用可能
Connection再作成新CircuitへのConnectionを作成
広告ルート(RouteFilter等)確認が必要新Peeringに再適用が必要

重要: Azure ExpressRoute Private Peeringの「Customer ASN」はオンプレのAS番号です。これが変わらなければ、MSEEから見てBGP上の動作は同一です。プロバイダASNは経路のAS_PATHに現れますが、Azureのルーティングには直接影響しません。


シナリオB: プロバイダ変更(オンプレAS番号が変わる)

オンプレ側でAS番号を変更する場合(例: パブリックASNへの移行、統合など)。

Azure Private Peeringへの影響

# Azure Private Peeringの設定項目
- PeeringType: Private
- PeerASN: [オンプレのAS番号] ← ここが変わる
- PrimaryPeerAddressPrefix: /30アドレス
- SecondaryPeerAddressPrefix: /30アドレス
- VlanId: VLAN番号

PeerASNはAzureポータルまたはCLIで変更できますが、変更時にBGPセッションがリセットされます。並行稼働方式の場合、新Circuitの新Peeringに新ASNを設定すれば旧Circuitへの影響はありません。

Azure側で変更が必要なもの

項目変更備考
Private PeeringのPeer ASN変更新ASNを設定(既存Circuitを使い続ける場合)
BGPコミュニティフィルタ(RouteFilter)確認AS_PATHを条件にしていた場合は再確認
オンプレ側BGP設定変更必要CEルーターのASN変更、必要に応じてAS_PATH override

注意: オンプレ側でAS番号を変更する際、CEルーターがプロバイダとeBGPを張り直す必要があります。また、Azureから受け取るAS_PATHに12076が含まれるため、オンプレ側でAS_PATH filterを使っている場合は見直しが必要です。


シナリオC: オンプレ側でプライベートASN → パブリックASNへ変更

BGPのパブリックASN(例: 取得済みのグローバルASN)に移行するケース。

Azure Private Peeringは1〜65534のASN(プライベートも含む)を受け付けます。パブリックASNへの変更自体はAzure側の制約ではありませんが、以下を確認してください。

確認項目内容
予約済みASN12076(Microsoft)、65515(Azure内部)など一部は使用不可
AS_PATH Loop検出AzureがオンプレからのBGPでAS_PATHを検証するため、自ASNが含まれると経路が拒否される
RouteFilterMicrosoft Peeringを使用している場合、BGPコミュニティ値の設定に変更不要

シナリオ別:AS番号変更の詳細対応

BGP AS番号変更時のAzure側設定変更フロー

flowchart TD A[AS番号変更の検討] --> B{並行稼働できるか?} B -->|Yes| C[新CircuitをAzureで作成] C --> D[新Circuit: 新ASNでPeering設定] D --> E[新CircuitへのConnection作成] E --> F[新回線でBGP確立・疎通確認] F --> G[旧Connection削除] G --> H[旧Circuit削除] H --> I[完了] B -->|No| J[メンテナンス時間確保] J --> K[旧Connection削除] K --> L[既存CircuitのPeer ASN変更] L --> M[プロバイダ側でASN変更対応] M --> N[BGP再確立・確認] N --> I

既存CircuitのPeer ASNを変更する場合(方式2)

1
2
3
4
5
6
# Azure CLI での変更例
az network express-route peering update \
  --resource-group MyRG \
  --circuit-name MyCircuit \
  --name AzurePrivatePeering \
  --peer-asn 65002   # 新しいASN

この変更を行うと、BGPセッションが即座にリセットされ、再確立まで一時的に通信が切断されます。


ExpressRoute GatewayのSKU変更を伴う場合

回線切替と同時にGateway SKUをアップグレードする場合(例: Standard → HighPerformance)は注意が必要です。

Gateway SKU変更の影響

graph TD A[Gateway SKU変更] --> B{現在のSKU} B -->|Standard/HighPerf| C[インプレース変更可能] B -->|UltraPerformance| D[削除・再作成が必要] C --> E[数分〜数十分のダウンタイム] D --> F[Connectionも削除・再作成] F --> G[IP変更なし(予約済みIPの場合)]
SKU変更パターン方法ダウンタイム
Standard → HighPerformanceインプレース変更あり(数分〜)
HighPerformance → UltraPerformance削除・再作成あり
ErGw1Az → ErGw3Az(AZ対応)削除・再作成あり

推奨: 回線切替とGateway変更は別フェーズで実施することで、問題発生時の切り分けが容易になります。


Azure側の作業チェックリスト

並行稼働方式(推奨)

事前準備
□ 新プロバイダとサービス契約・回線発注
□ 新CircuitリソースをAzureポータルで作成
□ サービスキーを新プロバイダに提供
□ プロバイダによるプロビジョニング完了確認

Azure設定作業
□ 新CircuitにPrivate Peering設定(VLAN, ASN, /30アドレス)
□ 必要に応じてRouteFilterを新Peeringに関連付け
□ 新CircuitへのConnectionをExpressRoute Gatewayに追加
□ Connectionの「Weight」を旧より高く設定(新回線優先)

動作確認
□ 新回線のBGPピア状態(Connectedの確認)
□ Azure側のEffective Routeで新回線経由の経路を確認
□ オンプレからAzure VNetへの疎通確認
□ Azure VNetからオンプレへの疎通確認
□ アプリケーションレベルの動作確認

旧回線の切離し
□ 旧ConnectionのWeightを0に下げてトラフィックが移行済みを確認
□ 旧ConnectionをAzureから削除
□ 旧Circuitリソースを削除
□ プロバイダへ旧回線の解約手続き

まとめ:Azure側の変更要否サマリー

ケースCircuitPeeringGatewayConnection
同一プロバイダ・帯域変更のみ不要不要不要不要
プロバイダ変更(ASN変更なし)新規作成新規作成不要再作成
プロバイダ変更(オンプレASN変更あり)新規作成新規作成(新ASN)不要再作成
既存回線でオンプレASN変更のみ不要PeerASN変更不要不要(BGPリセット)
Gateway SKU変更(同時)不要不要変更/再作成一時削除

基本的な考え方:

  • ExpressRoute Gateway はプロバイダや回線が変わっても基本的に変更不要
  • Circuit と Peering はプロバイダが変わると新規作成が必要(サービスキーが変わるため)
  • AS番号変更 は Peering の PeerASN 更新で対応できるが、BGP リセットを伴う
  • 並行稼働 が最もリスクが低く、ダウンタイム最小化に有効

参考リンク