ExpressRoute Monitoringを理解するための前提
ExpressRoute monitoringはcircuit/provider state、BGP availability、traffic/ARP、VNet gateway、Connection Monitor等を層別に見る。単一green stateでは責任境界を跨ぐ障害を検出できない。 primary/secondary peeringを別signalとして監視し、片link故障をtraffic継続中に検出する。
BGP session upでも重要prefixがwithdrawされるrouting incidentがあるため、route count/重要prefix snapshotを持つ。 provider側NOC/portal telemetryとAzure Monitor timestampを同じincident timelineへ入れる。provider boundaryの証拠なしにAzure/providerのどちらかへ断定しない。
FastPath有効環境ではgateway metricだけで全data trafficを表現できない可能性があるため、circuit/connection/end-to-end telemetryを組み合わせる。 Connection Monitor等でon-prem↔Azureのloss/latencyを冗長pathごとに観測すると、BGP upのまま品質劣化する障害を検知しやすい。
Control plane と data plane
Provider / responsibility boundary
ExpressRoute circuit、peering、MSEE側BGP、VNet gateway / FastPath、Azure route propagationを管理する。
customer edgeからMicrosoft edgeまでのL2/L3 service、cross-connect、VLAN等を担当する。provider provisioningはAzure resource stateと別に追う。
CE routerのBGP policy、local preference / AS path、prefix filter、冗長回線を管理する。片系だけ正常でもend-to-end冗長性は成立しない。
仕組み
circuitごとにProvider status/Circuit status、primary/secondary BGP、bits/packets、ARP/route evidenceをbaseline化する。
gatewayごとにconnection status、throughput/route scaleとFastPath有無をinventoryし、circuit metricとの相関を見る。
route snapshotは重要prefixごとにCE received/advertised、Azure effective routeを定期保存する。
provider maintenance通知とAzure Service Health/resource healthをchange calendarへ統合し、同時maintenanceを避ける。
end-to-end probeはcritical pathだけでなくsecond circuit/standby pathにも定期的にtrafficを流して腐敗を検出する。
Packet / route path
同一prefix/flowを広告元からdestinationまで追い、connection state・BGP table・effective route・実packetを混同しません。
- Azure Monitorがcircuit/gateway metricsを収集しalertを評価する。
- BGP/ARP/route tableのpoint-in-time evidenceをprimary/secondaryで採取する。
- provider telemetry/ticketからlast-mile/peering deliveryの状態を取得する。
- Connection Monitor/application probeがpacket loss/latency/reachabilityをend-to-endで測る。
- incident timeline上でroute change→metric change→application errorの順序を比較する。
- 復旧は全冗長link/routeがbaselineへ戻り、standby pathも実trafficで検証できた時点とする。
BGP / route state の読み方
| 観測点 | 何を確認するか |
|---|---|
| Circuit health | Provider/Circuit stateとtraffic metricを監視する。 |
| Peering health | primary/secondary BGP sessionとroute countを別dimensionで監視する。 |
| Gateway health | VNet gateway/connection/FastPath fallbackを監視し、circuit正常・VNet不可を分離する。 |
| End-to-end | loss/latency/application SLIを複数pathで測定し、BGP upの品質劣化を拾う。 |
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Alert granularity | circuit aggregateに加えprimary/secondary/connectionを個別監視する。 | HA片系喪失をtraffic全断前に検出する。 |
| Evidence retention | route/ARP/BGP snapshotとprovider ticketをincident期間より長く保存する。 | 短時間flap後の原因分析に必要。 |
| Provider escalation | service key/circuit ID、location、timestamps、affected prefixesをtemplate化する。 | 責任境界での往復確認を減らす。 |
| Standby testing | second circuit/VPN backupにも定期synthetic trafficを流す。 | unused pathのsilent failureを防ぐ。 |
確認手順
Azure Portal / provider / edge
- Circuit Overview/Metricsでprovider/circuit stateとtrafficを確認する。
- Private peeringでprimary/secondary state、ARP/route tableを比較する。
- ExpressRoute gateway/connection metricsとFastPath configurationを確認する。
- Connection Monitor/既存NMSでon-prem↔Azure loss/latencyを冗長path単位で確認する。
Verification discipline
- subscription / resource group / resource ID / region / connection名を固定し、同名resourceの取り違えを防ぐ。
- control-planeのProvisioningStateだけで完了判定せず、peer/session/route/metricと実packetの結果を別々に保存する。
- advertised route・learned route・effective routeを混同しない。各段階で「誰が誰へ何を広告し、最終的にどのFIBへ入ったか」を確認する。
- 変更前後で同一source/destination/protocolを再試験し、既存sessionの継続を新規flowの成功と誤認しない。
az network express-route show -g <rg> -n <circuit> -o jsonc
az network express-route peering list -g <rg> --circuit-name <circuit> -o table
az monitor metrics list-definitions --resource <circuit-resource-id> -o table
az monitor diagnostic-settings list --resource <circuit-resource-id> -o jsoncGet-AzExpressRouteCircuit -ResourceGroupName <rg> -Name <circuit>
Get-AzMetricDefinition -ResourceId <circuit-resource-id>
Get-AzVirtualNetworkGateway -ResourceGroupName <rg> -Name <er-gateway>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| traffic断だがcircuit Enabled | BGP/gateway/VNet route/provider partial failure | peering + gateway + effective route + provider | Enabledをend-to-end healthyと誤認しない |
| 片BGPだけdown | secondary/primary link/provider/CE差 | link別BGP/ARP/CE logs | traffic継続中に修復する |
| latency/lossだけ悪化 | provider congestion/path change、CE interface errors | Connection Monitor + provider/CE metrics | route stateだけで品質問題を閉じない |
| route missingだがBGP up | prefix filter/limit/withdrawal | received/advertised route snapshot | 重要prefix単位でdiffする |
変更時の確認と rollback
- monitoring変更前にalert rules、dimensions、diagnostic settings、provider contact/runbookをexportする。
- 新alertはbaseline期間を取り、planned maintenance時のsuppressionとowner routingを確認する。
- telemetry destination移行はoverlap期間を設け、gapがないことをqueryで確認する。
- rollback後はtest conditionを発生させ、alert→notification→runbook起動までend-to-endで確認する。