Operations & Troubleshooting参照資料確認: 2026-09-11

Service Health / Resource Health for Network Incidents

Azure Status、Service Health、Resource Healthをnetwork incidentの証拠として使い分け、platform issueとtenant configuration issueを切り分ける。

Scope: Microsoft Learnの一次資料を2026-09-11時点で確認したPlatform Referenceです。quota、role、API version、retirement、service healthは更新されるため、production change直前にOfficial sourcesを再確認してください。

Service Health / Resource Health for Network Incidentsを理解するための前提

Azure Service HealthはAzure Status、Service health、Resource Healthの3つのserviceから構成される。 Azure Statusは全Azure service/regionのglobal view、Service Healthは利用中service/regionにpersonalizedされたissue/maintenance/advisoryを提供する。

Resource Healthは個別resourceのcurrent/past healthを示し、Available/Unavailable/Degraded/Unknown等の状態で診断材料になる。 ServiceHealthResourcesをAzure Resource Graphでqueryすると、複数subscriptionのactive Service Health eventを横断取得できる。

Service Health eventがないことはtenant configurationの正常性を証明しない。route/NSG/DNS/service healthをそれぞれ別に確認する。

通信や判断の流れを追う
症状を再現設定を確認能動試験ログ / packetアプリ確認

Control plane と Data plane

Control planeARM、Azure RBAC、Resource Graph、Activity Log、provider metadata、Service Health等からresourceの存在・権限・変更・platform状態を確認する。
Data plane実際のpacket/request成功は、effective route/security、DNS、health probe、flow/resource logs、synthetic test等で別途証明する。control-plane Succeededだけで通信成功としない。

仕組みと設計上の意味

「Azure側の障害ですか?」に答えるには、publicなAzure Statusだけを見るのでは不十分です。Service Healthは自分のsubscription/region/serviceへの影響をpersonalizedして表示し、planned maintenanceやhealth advisoryも扱います。Resource Healthはさらに個々のresourceへ降ります。

ネットワークincidentでは、platform eventが見つかった場合も、affected region/service/timeが自分のflowと一致するかを確認します。逆にService Healthがgreenでも、NSG/UDR/DNS/Firewall policyやbackend healthなどtenant側のfailureは残ります。

Azure Status広域障害のpublic/global view。
Service Health自分が使うservice/regionにpersonalizedされたservice issue、planned maintenance、advisory。
Resource Health個別resourceのcurrent/past health。
Resource GraphServiceHealthResources / HealthResourcesをsubscription横断query。

Operational / decision path

対象scopeと時刻を固定し、read-only evidence → 判断 → change → same testで再検証の順を崩さない。

  1. incidentのaffected service・region・subscription・resource IDsを固定する。
  2. Azure Statusで広域eventを確認する。
  3. Service Healthでsubscription-specific eventとtracking ID、impact windowを確認する。
  4. Resource Healthで対象resourceのhealth historyを確認する。
  5. platform evidenceとtenant-side effective route/security/DNS/application evidenceを同一timelineへ並べる。

設計判断

判断点推奨理由
AlertingService Health alertを事前構成Portalを見に行く前にimpactを受け取る
Evidencetracking ID / event type / impact timeを保存support caseとincident timelineを接続
Scopeservice+region+subscriptionで照合無関係なglobal outageへ誤帰属しない
Tenant checksplatform event有無に関係なくlocal pathも検証複合障害/設定障害を見落とさない

確認手順

Azure Portal

  • Service Health → Service issues / Planned maintenance / Health advisoriesを確認。
  • Resource Healthでaffected resourceのcurrent/past statusを確認。
  • event detailsのtracking ID、affected services/regions、impact start/mitigationをincident recordへ保存。

Evidence contract

Identitytenant / subscription / resource ID / region / principalを可能な限り固定。
TimeUTC time rangeと実行時刻を記録し、変更・障害timelineと結ぶ。
Scopesubscription/region/resource typeなど、その値が意味を持つscopeを必ず残す。
Runtimecontrol-plane evidenceと実通信/data-plane evidenceを分けて保存。

Read-only first: 以下のCLI/PowerShellは原則として参照系から開始します。コメントでMUTATINGと示した操作は、必要性・scope・rollbackを確認した後にのみ実行します。

Azure CLI
# Resource Graph extension/query: all active service issues
az graph query -q "ServiceHealthResources | where type =~ 'Microsoft.ResourceHealth/events' | extend eventType = properties.EventType, status = properties.Status, description = properties.Title, trackingId = properties.TrackingId, summary = properties.Summary, priority = properties.Priority, impactStartTime = properties.ImpactStartTime, impactMitigationTime = properties.ImpactMitigationTime | where eventType == 'ServiceIssue' and status == 'Active'" -o table
PowerShell
Search-AzGraph -Query "ServiceHealthResources | where type =~ 'Microsoft.ResourceHealth/events' | extend eventType = properties.EventType, status = properties.Status, description = properties.Title, trackingId = properties.TrackingId, summary = properties.Summary, priority = properties.Priority, impactStartTime = properties.ImpactStartTime, impactMitigationTime = properties.ImpactMitigationTime | where eventType == 'ServiceIssue' and status == 'Active'"

障害切り分け

症状疑う点証拠次の確認
Azure Statusはgreen、通信不可tenant-specific issueまたはconfigService Health + effective pathService Health/Resource Healthへ降りる
Service Health eventありaffected scope一致未確認tracking ID + region/service自分のresource/timeと照合
Resource Health Unknownmonitoring signal不足/transitionhealth history + service logsdata-plane testと並行確認
復旧通知後も失敗tenant側state/connection cache/backend recoverysame test vector + effective stateplatform復旧とapplication recoveryを分離

変更・rollback

  • platform incident中のemergency workaroundは、復旧後に恒久configとして残さない。temporary route/DNS/failover changeへexpiry/rollback条件を付ける。
  • region failoverはtarget regionのquota、DNS TTL、route propagation、certificate/backend dependenciesを事前に確認する。
  • Service Health eventを理由にchangeする場合もbefore snapshotを取り、tracking IDとchange ticketを相互参照する。
  • rollback後はAzure Status/Service Healthではなく、同じuser journey/packet pathでend-to-end recoveryを確認する。

変更前後で保存する証拠

Before対象resource IDs、関連設定、current state、query/command出力。
Changeactor、ticket/deployment ID、correlation ID、開始/終了時刻。
Aftersame command/queryとsame test vectorで差分確認。
Rollback戻す条件、戻す対象、rollback後に再実行する観測。

Official sources