ExpressRoute 回線(Circuit)を作成するときにちょっと嵌ったのでメモ。うだっち先生のおかげで解決しました。
現象
ExpressRoute回線を新規作成しようとすると「サブスクリプションがネットワーク リソース プロバイダーに登録されていません」と表示され、プロバイダー一覧等が選択不可→作成不可の状態となり先に進めない。(英語だと “Subscription not registered with Network Resource Provider.”)
実際に登録されていないか Get-AzureRmExpressRouteServiceProvider してもSubscription <GUID> is not registered with NRP のようになる。リソースエクスプローラーで見ても同様。
原因
Azure サブスクリプションを作成してすぐの状態だとネットワークリソースプロバイダーが登録されていない為。(そのまま)
回避方法
何でもよいのでARM(Azure Resource Manager)でネットワーク関係の作成を行う。例えばダミーでもなんでもよいのでVNETを作る。
他の手段としてはネットワークプロバイダーを登録するということで以下のコマンド実行でも良いとのこと。
Register-AzureRmResourceProvider -ProviderNameSpace "Microsoft.Network"
作成後はネットワークリソースプロバイダーが登録されてExpressRouteのサービスプロバイダーも登録され、ちゃんと一覧に表示される(ExpressRoute回線の作成ができる)
なかなかひどい嵌り方をした…
おまけ
ここに書いてたりするらしい
リソース プロバイダーの登録を確認する
リソースはリソース プロバイダーによって管理されているので、特定のプロバイダーを使用するようにアカウントやサブスクリプションを登録する必要があります。ほとんどのプロバイダーは、Azure ポータルまたはご使用のコマンド ライン インターフェイスによって自動的に登録されますが、登録されない場合もあります。
こげさかさんありがとうございます。