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

Resource Provider Registration / API Version

Microsoft.Network等のresource provider registration、resource type、location、API versionを確認し、MissingSubscriptionRegistrationやversion mismatchを切り分ける。

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

Resource Provider Registration / API Versionを理解するための前提

Azure resource providerは特定Azure serviceの機能を支えるREST operationの集合で、resource typeはprovider/type形式で表現される。 provider registrationはsubscription単位だがsupported regionごとに進み、必要regionがRegisteredになればresource creationを開始できる。

provider registrationには/providerNamespace/register/actionが必要で、Contributor/Ownerに含まれる。 Microsoftはleast privilegeのため、使用準備ができたproviderだけをregisterするよう案内している。

API versionはresource provider REST APIのversionであり、新機能やpropertyを使うIaC/RESTでは実際に利用可能なversionを確認する。

通信や判断の流れを追う
症状を再現設定を確認能動試験ログ / 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だけで通信成功としない。

仕組みと設計上の意味

ARM deploymentの「resource typeが見つからない」「NoRegisteredProviderFound」「MissingSubscriptionRegistration」は、単なるservice outageではなくprovider registration、region support、API versionの三角形で切り分けます。Portalが自動registerするケースがあるため、同じsubscriptionでも過去の利用履歴によって状態が違います。

registrationは全regionが完了するまで一括で待つ必要はありません。Microsoft Learnは、登録処理はsupported regionごとに行われ、対象regionで完了していればcreationを続行できると説明しています。逆に新しいlocation supportが追加された場合はre-registerが必要になることがあります。

API versionの扱い「最新の日付を常に使う」ではなく、対象resource typeが公開しているversion、GA/Preview、必要property、IaC tool providerのsupportを照合します。Previewだけのpropertyへ依存すると将来のmigration costが上がります。

Operational / decision path

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

  1. エラーのresource provider namespace / resource type / location / api-versionを抽出する。
  2. subscriptionのregistrationStateをread-onlyで確認する。
  3. 対象resource typeのLocationsとApiVersionsをprovider metadataから確認する。
  4. template/Bicep/Terraform/RESTが指定するversionと必要propertyを照合する。
  5. register/re-registerが必要な場合はchangeとして扱い、完了後に同じdeploymentを再試行する。

設計判断

判断点推奨理由
Registration必要providerのみregisterleast privilegeとtenant app sprawlを抑える
API versionGA優先、Previewは明示的に採用feature dependencyとsupport boundaryを管理
Region supportdeployment前にLocationsを確認provider registeredでもresource typeがregion非対応の場合がある
IaCapi-versionをsource controlで固定Portal生成差分やprovider upgradeを再現可能にする

確認手順

Azure Portal

  • Subscriptions → Resource providersでMicrosoft.Network等のregistration stateを確認。
  • Resource Explorerでprovider → resource typeを開き、valid locations / API versionsを確認。
  • deployment errorのOperation detailsからnamespace/type/api-version/locationを控える。

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
# read-only first
az provider list --query "[].{Provider:namespace,Status:registrationState}" -o table
az provider show --namespace Microsoft.Network -o jsonc
az provider show --namespace Microsoft.Network   --query "resourceTypes[?resourceType=='virtualNetworks'].{type:resourceType,apiVersions:apiVersions,locations:locations}" -o jsonc

# MUTATING: registrationが必要と判断した場合のみ
# az provider register --namespace Microsoft.Network
PowerShell
Get-AzResourceProvider -ListAvailable |
  Select-Object ProviderNamespace, RegistrationState

(Get-AzResourceProvider -ProviderNamespace Microsoft.Network).ResourceTypes |
  Where-Object ResourceTypeName -eq 'virtualNetworks' |
  Select-Object ResourceTypeName, ApiVersions, Locations

# MUTATING: 必要時のみ
# Register-AzResourceProvider -ProviderNamespace Microsoft.Network

障害切り分け

症状疑う点証拠次の確認
MissingSubscriptionRegistrationprovider未登録registrationState + deployment errorregister権限と必要性を確認
NoRegisteredProviderFoundregion/api-version/resource type mismatchprovider metadataLocations/ApiVersionsを照合
Registeringが長い全region完了待ちをしている対象regionのprovider state対象regionでcreation可能か再確認
IaCだけ失敗、Portalは成功IaC api-version/propertyが古い/新しすぎるdeployment template + provider metadatasupported GA versionへ調整

変更・rollback

  • provider register/re-registerはcontrol-plane changeとして記録し、read-only確認と混同しない。
  • 不要providerのunregisterは、そのproviderのresourceがsubscriptionに残っていると実行できない。resource inventoryを先に取る。
  • api-version変更はproperty defaultやresponse schema差を伴う可能性があるため、plan/what-ifと実deploymentを分けて検証する。
  • rollbackは元のtemplate/provider versionをsource controlで保持し、provider registration自体の即時unregisterを安易なrollbackにしない。

変更前後で保存する証拠

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

Official sources