Resolución de los errores de no disponibilidad de la SKU

En este artículo se describe cómo resolver errores cuando una SKU no está disponible en las zonas de disponibilidad o en la región de una suscripción de Azure. Algunos ejemplos de SKU de recursos son el tamaño de la máquina virtual (VM) o los tipos de cuenta de almacenamiento. Los errores se producen durante las implementaciones con una plantilla de Azure Resource Manager (plantilla de ARM) o un archivo Bicep. El error también se produce con comandos como New-AzVM o az vm create que especifican un parámetro de tamaño para una SKU que no está disponible.

Síntoma

Cuando se implementa una máquina virtual para una SKU que no está disponible, se produce un error. Los comandos de implementación de la CLI de Azure y de Azure PowerShell muestran un mensaje de error en el que se indica que el tamaño solicitado no está disponible en la ubicación o zona. En el registro de actividad de Azure Portal, verá códigos de error SkuNotAvailable o InvalidTemplateDeployment.

En este ejemplo, New-AzVM ha especificado el parámetro -Size de una SKU que no está disponible. Se muestra el código de error SkuNotAvailable en el registro de actividades del portal.

The requested size for resource '<resource ID>' is currently not available in location '<location>'
zones '<zones>' for subscription '<subscription ID>'.
Please try another size or deploy to a different location or zones.

Cuando se implementa una máquina virtual con una plantilla de ARM o un archivo Bicep para una SKU que no está disponible, se produce un error de validación. Se muestran el código de error InvalidTemplateDeployment un mensaje de error. La implementación no se inicia, por lo que no hay ningún historial de implementación, pero el error está en el registro de actividades del portal.

Error: Code=InvalidTemplateDeployment
Message=The template deployment failed with error: The resource with id: '<resource ID>' failed validation
with message: The requested size for resource '<resource ID>' is currently not available in
location '<location>' zones '<zones>' for subscription '<subscription ID>'.
Please try another size or deploy to a different location or zones.

Causa

Recibirá este error en los siguientes escenarios:

  • Cuando la SKU de recursos que ha seleccionado, como el tamaño de la máquina virtual, no está disponible para una ubicación o zona.
  • Si va a implementar una máquina virtual de Azure Spot o una instancia del conjunto de escalado de Spot y no hay capacidad para Azure Spot en esta ubicación. Para más información, consulte Mensajes de error de Spot.

Solución

Si una SKU no está disponible para la suscripción en una ubicación o zona que satisfaga sus necesidades empresariales, envíe una solicitud de SKU al soporte técnico de Azure.

Para determinar las SKU que están disponibles en una ubicación o zona, utilice el comando az vm list-skus.

az vm list-skus --location centralus --size Standard_D --all --output table
  • --location filtra el resultado por ubicación.
  • --size búsca por un nombre de tamaño parcial.
  • --all muestra toda la información e incluye tamaños que no están disponibles para la suscripción actual.
ResourceType     Locations    Name               Zones    Restrictions
---------------  -----------  --------------     -------  --------------
virtualMachines  centralus    Standard_D1        1        None
virtualMachines  centralus    Standard_D11       1        None
virtualMachines  centralus    Standard_D11_v2    1,2,3    None
virtualMachines  centralus    Standard_D16ds_v4  1,2,3    NotAvailableForSubscription, type: Zone,
                                                          locations: centralus, zones: 1,2,3

Zonas de disponibilidad

Puede ver todos los recursos de proceso de las zonas de disponibilidad de una ubicación. De manera predeterminada, solo se muestran SKU sin restricciones. Para incluir SKU con restricciones, use el parámetro --all.

az vm list-skus --location centralus --zone --all --output table
ResourceType      Locations    Name                 Zones    Restrictions
----------------  -----------  -------------------  -------  --------------
disks             centralus    Premium_LRS          1,2,3    None
disks             centralus    Premium_LRS          1,2,3    None
virtualMachines   centralus    Standard_A2_v2       1,2,3    None
virtualMachines   centralus    Standard_D16ds_v4    1,2,3    NotAvailableForSubscription, type: Zone,
                                                             locations: centralus, zones: 1,2,3

Puede filtrar por un objeto resourceType, como VM, para las zonas de disponibilidad.

az vm list-skus --location centralus --resource-type virtualMachines --zone --all --output table
ResourceType      Locations    Name                 Zones    Restrictions
----------------  -----------  -------------------  -------  --------------
virtualMachines   centralus    Standard_A1_v2       1,2,3    None
virtualMachines   centralus    Standard_A2m_v2      1,2,3    None
virtualMachines   centralus    Standard_A2_v2       1,2,3    None
virtualMachines   centralus    Standard_D16ds_v4    1,2,3    NotAvailableForSubscription, type: Zone,
                                                             locations: centralus, zones: 1,2,3