排查常见的 Azure 部署错误
本文介绍如何排查常见的 Azure 部署错误,并提供有关解决方案的信息。 可以使用 Bicep 文件或 Azure 资源管理器模板(ARM 模板)部署 Azure 资源。 如果找不到部署错误的错误代码,请参阅查找错误代码。
错误代码
错误代码 | 缓解措施 | 详细信息 |
---|---|---|
AccountNameInvalid | 遵循存储帐户的命名规则。 | 解决存储帐户名称错误 |
AccountPropertyCannotBeSet | 查看可用的存储帐户属性。 | storageAccounts |
AllocationFailed | 群集或区域没有可用的资源或无法支持所请求的 VM 大小。 稍后重试请求,或者请求不同的 VM 大小。 | Linux 预配和分配问题 Windows 预配和分配问题 排查分配失败 |
AnotherOperationInProgress | 等待并发操作完成。 | |
AuthorizationFailed | 帐户或服务主体没有足够的访问权限,无法完成部署。 请检查帐户所属的角色,及其与部署范围相对应的访问权限。 所需的资源提供程序未注册时,可能会收到此错误。 |
Azure 基于角色的访问控制 (Azure RBAC) 解决注册问题 |
BadRequest | 发送的部署值与资源管理器预期的值不匹配。 请检查内部状态消息,获取故障排除帮助。 验证模板的语法,以解决使用从现有 Azure 资源导出的模板时出现的部署错误。 ARM 模板中的资源位置 Bicep 文件中的资源位置 解决模板无效的问题 |
|
Conflict | 在资源的当前状态下不允许所请求的操作。 例如,仅当创建 VM 或该 VM 已取消分配时,才允许磁盘重设大小。 | |
DeploymentActiveAndUneditable | 等待目标为此资源组的并发部署完成。 | |
DeploymentFailedCleanUp | 在完整模式下部署时,模板中不存在的任何资源都将被删除。 当没有足够的权限删除模板中所有不存在的资源时,会出现此错误。 若要避免此错误,请将部署模式更改为“增量”。 | Azure 资源管理器部署模式 |
DeploymentNameInvalidCharacters | 部署名称只能包含字母、数字、连字符 (-) 、点 (.) 或下划线 (_) 。 |
|
DeploymentNameLengthLimitExceeded | 部署名称限制为 64 个字符。 | |
DeploymentFailed | DeploymentFailed 错误为常规错误,未提供解决错误所需的详细信息。 请查看错误代码的错误详情,其中提供了详细信息。 | 查找错误代码 |
DeploymentQuotaExceeded | 如果达到每个资源组的部署数限制 800,则会从历史记录中删除不再需要的部署。 | 解决部署计数超出 800 的错误 |
DeploymentJobSizeExceeded | 简化模板以减小大小。 | 解决模板大小错误 |
DnsRecordInUse | DNS 记录名称必须唯一。 输入不同的名称。 | |
ImageNotFound | 检查 VM 映像设置。 | |
InaccessibleImage | Azure 容器实例部署失败。 你可能需要使用用于部署容器的语法 registry/image:tag 来包含映像的标记。 对于专用注册表,请验证你的凭据是否正确。 |
查找错误代码 |
InternalServerError | 由临时问题引起。 重试部署。 | |
InUseSubnetCannotBeDeleted | 当你尝试更新资源时,如果请求进程删除并创建了资源,则可能会发生此错误。 请确保指定所有未更改的值。 | |
InvalidAuthenticationTokenTenant | 获取相应租户的访问令牌。 只能从帐户所属的租户获取该令牌。 | |
InvalidContentLink | 很可能尝试过链接到不可用的嵌套模板。 请仔细检查提供给嵌套模板的 URI。 如果模板在存储帐户中存在,请确保 URI 可访问。 可能需要传递 SAS 令牌。 目前,无法链接到位于 Azure 存储防火墙后面的存储帐户中的模板。 考虑将模板移到其他存储库,如 GitHub。 | 链接的和嵌套的 ARM 模板 Bicep 模块 |
InvalidDeploymentLocation | 在订阅级别部署时,你为以前使用的部署名称提供了不同的位置。 | ARM 模板订阅部署 Bicep 订阅部署 |
InvalidParameter | 为资源提供的某个值与预期值不匹配。 许多不同的条件可能会导致此错误。 例如,密码可能不符合要求,或者 blob 名称可能不正确。 错误消息应表明哪个值需要更正。 | ARM 模板参数 Bicep 参数 |
InvalidRequestContent | 部署值包含无法识别的值,或者缺少必需的值。 确认资源类型的值。 | |
InvalidRequestFormat | 在运行部署时启用调试日志记录功能,并验证请求的内容。 | 调试日志记录 |
InvalidResourceLocation | 为存储帐户提供唯一名称。 | 解决存储帐户名称错误 |
InvalidResourceNamespace | 检查在 type 属性中指定的资源命名空间。 | |
InvalidResourceReference | 资源尚不存在,或错误地引用了它。 请检查是否需要添加依赖项, 并验证所使用的 reference 函数是否包括方案所需的参数。 | 解决依赖项问题 |
InvalidResourceType | 检查在 type 属性中指定的资源类型。 | |
InvalidSubscriptionRegistrationState | 向资源提供程序注册订阅。 | 解决注册问题 |
InvalidTemplateDeployment InvalidTemplate |
检查模板语法是否存在错误。 | 解决模板无效的问题 |
InvalidTemplateCircularDependency | 删除不必要的依赖项。 | 解决循环依赖项 |
JobSizeExceeded | 简化模板以减小大小。 | 解决模板大小错误 |
LinkedAuthorizationFailed | 检查帐户所属的租户是否与要部署到的资源组所属的租户相同。 | |
LinkedInvalidPropertyId | 无法解析资源的资源 ID。 检查是否为资源 ID 提供了所有必需值。 例如,订阅 ID、资源组名称、资源类型、父资源名称(如果需要)和资源名称。 | 解决资源名称和类型的错误 |
LocationRequired | 提供资源的位置。 | ARM 模板中的资源位置 Bicep 文件中的资源位置 |
MismatchingResourceSegments | 请确保嵌套资源的名称和类型中包含正确数量的段。 | 解决资源段 |
MissingRegistrationForLocation | 检查资源提供程序注册状态,以及支持的位置。 | 解决注册问题 |
MissingSubscriptionRegistration | 向资源提供程序注册订阅。 | 解决注册问题 |
NoRegisteredProviderFound | 检查资源提供程序注册状态。 | 解决注册问题 |
NotFound | 你可能在尝试部署与父资源并行的依赖资源。 请检查是否需要添加依赖项。 | 解决依赖项问题 |
OperationNotAllowed | 出现此错误消息可能有多种原因。 1.部署正在尝试执行一个指定 SKU 上不允许的操作。 2. 部署正在尝试执行一个超过了订阅、资源组或区域配额的操作。 请尽可能修改部署,使之保持在配额范围内。 否则,请考虑请求更改配额。 |
解决配额问题 |
OperationNotAllowedOnVMImageAsVMsBeingProvisioned | 你可能正在尝试删除当前用于预配 VM 的映像。 在部署过程中,不能删除任何虚拟机正在使用的映像。 在 VM 部署完成后重试映像删除操作。 | |
ParentResourceNotFound | 确保在创建子资源之前存在父资源。 | 解决父资源问题 |
PasswordTooLong | 你可能选择了包含太多字符的密码,或在将密码值作为参数传递之前将其转换成了一个安全字符串。 如果模板包括一个安全字符串参数,则不需要将值转换为安全字符串。 请以文本形式提供密码值。 | |
PrivateIPAddressInReservedRange | 指定的 IP 地址包括 Azure 所需的地址范围。 请更改 IP 地址,避免使用保留的范围。 | 专用 IP 地址 |
PrivateIPAddressNotInSubnet | 指定的 IP 地址位于子网范围之外。 请更改 IP 地址,使之位于子网范围之内。 | 专用 IP 地址 |
PropertyChangeNotAllowed | 已部署资源上的某些属性不能更改。 更新资源时,请仅更改允许的属性。 | |
RequestDisallowedByPolicy | 订阅包含阻止尝试在部署期间执行的操作的资源策略。 请找出阻止该操作的策略。 如果可能,请更改部署,使之符合策略的限制。 | 解决策略问题 |
ReservedResourceName | 提供不包含保留名称的资源名称。 | 保留的资源名称 |
ResourceGroupBeingDeleted | 等待删除操作完成。 | |
ResourceGroupNotFound | 检查部署的目标资源组的名称。 目标资源组必须已存在于订阅中。 请检查订阅上下文。 | Azure CLI PowerShell |
ResourceNotFound | 部署引用了一个无法解析的资源。 请验证所使用的 reference 函数是否包括方案所需的参数。 | 解决引用问题 |
ResourceQuotaExceeded | 部署尝试创建的资源超过了订阅、资源组或区域的配额。 请尽可能修改基础结构,使之保持在配额范围内。 否则,请考虑请求更改配额。 | 解决配额问题 |
SkuNotAvailable | 选择可在所选位置中使用的 SKU(例如 VM 大小)。 | 解决 SKU 问题 |
StorageAccountAlreadyTaken StorageAccountAlreadyExists |
为存储帐户提供唯一名称。 | 解决存储帐户名称错误 |
StorageAccountInAnotherResourceGroup | 为存储帐户提供唯一名称。 | 解决存储帐户名称错误 |
StorageAccountNotFound | 检查尝试使用的存储帐户的订阅、资源组和名称。 | |
SubnetsNotInSameVnet | 一个虚拟机只能有一个虚拟网络。 部署多个 NIC 时,请确保它们属于同一虚拟网络。 | Windows VM 多 NIC Linux VM 多 NIC |
SubnetIsFull | 子网中没有足够的可用地址,无法部署资源。 可以从子网中释放地址,使用其他子网,或者创建一个新子网。 | 管理子网和虚拟网络常见问题解答 专用 IP 地址 |
SubscriptionNotFound | 无法访问用于部署的指定订阅。 有可能是订阅 ID 错误,部署模板的用户没有足够的权限部署到订阅,或者订阅 ID 格式错误。 使用 ARM 模板嵌套部署进行跨范围部署时,请提供订阅的 GUID。 | ARM 模板跨范围部署 Bicep 文件跨范围部署 |
SubscriptionNotRegistered | 在部署了资源后,必须为订阅注册资源提供程序。 使用 Azure 资源管理器模板进行部署时,会在订阅中自动注册资源提供程序。 有时,自动注册未及时完成。 若要避免此间歇性错误,请在部署前注册资源提供程序。 | 解决注册问题 |
TemplateResourceCircularDependency | 删除不必要的依赖项。 | 解决循环依赖项 |
TooManyTargetResourceGroups | 减少单个部署的资源组数。 | ARM 模板跨范围部署 Bicep 文件跨范围部署 |