Azure ExpressRoute 回線切替ガイド:BGP接続を維持しながら別回線へ移行する方法
はじめに
オンプレミスとAzureをExpressRouteで接続している環境では、プロバイダ変更・回線品質改善・コスト最適化などを理由に、別の回線への切替が必要になることがあります。
ExpressRoute回線の切替は通常のネットワーク工事と異なり、Azure側のリソース構成・BGP設定・ルーティングに影響します。特にプロバイダが変わる場合やAS番号が変わる場合は注意点が多く、ダウンタイムを最小化するための計画が重要です。
本記事では、以下のシナリオごとに切替方式とAzure側の対応を整理します。
| シナリオ | 概要 |
|---|---|
| 同一プロバイダ・回線アップグレード | 帯域増速など |
| プロバイダ変更(AS番号変更なし) | 提供ASNが変わらないケース |
| プロバイダ変更(AS番号変更あり) | オンプレAS番号またはPeer AS番号が変わるケース |
| Azure側ゲートウェイ変更 | ExpressRoute GatewayのSKU変更など |
ExpressRoute BGP接続の基本構成
まず、前提となる構成を整理します。
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段階で使用します。
- CEルーター ↔ PEルーター(プロバイダ網内): eBGP
- 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 Gateway | VNetとExpressRouteを結ぶゲートウェイ |
| Connection | GatewayとCircuitを紐付けるリソース |
切替方式の選択肢
方式1: 並行稼働(デュアル回線)切替 <推奨>
最も安全な方式です。新旧回線を一時的に並行稼働させ、ルーティングを段階的に移行します。
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設定を変更する際に合わせて実施します。
この方式はシンプルですが、切替中は全トラフィックが停止します。VPN GatewayをバックアップとしてS2S VPNを張っておくとダウンタイムを補完できます。
シナリオ別:プロバイダ変更の対応
シナリオA: プロバイダ変更(オンプレAS番号変更なし)
オンプレのCEルーターのAS番号が変わらない場合は、最も影響が少ないパターンです。
変更なし] -- 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側の制約ではありませんが、以下を確認してください。
| 確認項目 | 内容 |
|---|---|
| 予約済みASN | 12076(Microsoft)、65515(Azure内部)など一部は使用不可 |
| AS_PATH Loop検出 | AzureがオンプレからのBGPでAS_PATHを検証するため、自ASNが含まれると経路が拒否される |
| RouteFilter | Microsoft Peeringを使用している場合、BGPコミュニティ値の設定に変更不要 |
シナリオ別:AS番号変更の詳細対応
BGP AS番号変更時のAzure側設定変更フロー
既存CircuitのPeer ASNを変更する場合(方式2)
| |
この変更を行うと、BGPセッションが即座にリセットされ、再確立まで一時的に通信が切断されます。
ExpressRoute GatewayのSKU変更を伴う場合
回線切替と同時にGateway SKUをアップグレードする場合(例: Standard → HighPerformance)は注意が必要です。
Gateway SKU変更の影響
| 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側の変更要否サマリー
| ケース | Circuit | Peering | Gateway | Connection |
|---|---|---|---|---|
| 同一プロバイダ・帯域変更のみ | 不要 | 不要 | 不要 | 不要 |
| プロバイダ変更(ASN変更なし) | 新規作成 | 新規作成 | 不要 | 再作成 |
| プロバイダ変更(オンプレASN変更あり) | 新規作成 | 新規作成(新ASN) | 不要 | 再作成 |
| 既存回線でオンプレASN変更のみ | 不要 | PeerASN変更 | 不要 | 不要(BGPリセット) |
| Gateway SKU変更(同時) | 不要 | 不要 | 変更/再作成 | 一時削除 |
基本的な考え方:
- ExpressRoute Gateway はプロバイダや回線が変わっても基本的に変更不要
- Circuit と Peering はプロバイダが変わると新規作成が必要(サービスキーが変わるため)
- AS番号変更 は Peering の
PeerASN更新で対応できるが、BGP リセットを伴う - 並行稼働 が最もリスクが低く、ダウンタイム最小化に有効