问题描述
资源组所有者可以在新版 portal 创建经典模式的虚拟机,但是无法创建 ARM 模式的虚拟机。
问题现象
环境中有个相对权限比较高的账户,比如 account admin (以下简称为 AA),这个账号创建一个资源组和对应的 owner。
如果用这个资源组的 owner 登陆 Azure,会出现这个问题:只能创建经典模式的虚拟机,但无法创建 ARM 模式的虚拟机。
问题分析
ARM 下很多资源提供程序没有注册,包括 ARM 下的 Microsoft.Compute:
NameSpace | RegistrationState |
---|---|
Microsoft.Batch | Registered |
Microsoft.ClassicCompute | Registered |
Microsoft.ClassicNetwork | Registered |
Microsoft.ClassicStorage | Registered |
microsoft.insights | Registered |
Microsoft.Sql | Registered |
Microsoft.StreamAnalytics | Registered |
Microsoft.Web | Registered |
Microsoft.ApiManagement | NotRegistered |
Microsoft.Authorization | Registered |
Microsoft.Cache | NotRegistered |
Microsoft.ClassicInfrastructureMigrate | NotRegistered |
Microsoft.CognitiveServices | NotRegistered |
Microsoft.Compute | NotRegistered |
Microsoft.Devices | NotRegistered |
Microsoft.DocumentDB | NotRegistered |
Microsoft.EventHub | NotRegistered |
Microsoft.Features | Registered |
Microsoft.HDInsight | NotRegistered |
Microsoft.KeyVault | NotRegistered |
Microsoft.Media | NotRegistered |
Microsoft.Network | NotRegistered |
Microsoft.Portal | NotRegistered |
Microsoft.Resources | Registered |
Microsoft.Scheduler | Registered |
Microsoft.ServiceBus | NotRegistered |
Microsoft.ServiceFabric | NotRegistered |
Microsoft.Storage | NotRegistered |
解决方法
基于以上理论,解决方案有两个:
- 手动运行 PowerShell 命令注册资源提供程序;
- 用创建资源组 owner 的那个账号(AA) 先创建一个 ARM 的 Azure 虚拟机。