Risolvere gli errori dovuti all'indisponibilità di SKU

Questo articolo descrive come risolvere gli errori che si verificano quando uno SKU non è disponibile nella regione della sottoscrizione o nelle zone di disponibilità di Azure. Esempi di SKU di risorse: dimensioni della macchina virtuale (VM) o tipi di account di archiviazione. Errori possono verificarsi durate implementazioni con un modello di Azure Resource Manager (modello ARM) o un file Bicep. L'errore può verificarsi anche con comandi come New-AzVM o az vm create che specificano un parametro size per uno SKU non disponibile.

Sintomo

Quando una macchina virtuale viene implementata per uno SKU non disponibile, si verifica un errore. I comandi di implementazione dell'interfaccia della riga di comando di Azure e di Azure PowerShell mostrano un messaggio di errore che indica che le dimensioni richieste non sono disponibili nella posizione o nella zona. Nel log attività del portale di Azure verranno visualizzati codici di errore SkuNotAvailable o InvalidTemplateDeployment.

In questo esempio, New-AzVM ha specificato il parametro -Size per uno SKU non disponibile. Il codice di errore SkuNotAvailable appare nel log attività del portale.

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.

Quando una macchina virtuale viene implementata con un modello di Resource Manager o un file Bicep per uno SKU non disponibile, si verifica un errore di convalida. Vengono visualizzati il codice di errore InvalidTemplateDeployment e un messaggio di errore. L‘implementazione non viene avviata, quindi non esiste alcuna cronologia di implementazione, ma l'errore si trova nel log attività del portale.

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

Questo errore si verifica nei seguenti scenari:

  • Quando lo SKU della risorsa selezionato, come le dimensioni della macchina virtuale, non è disponibile per una località o una zona.
  • Se si implementa una macchina virtuale spot di Azure o un'istanza del set di scalabilità spot e non è disponibile alcuna capacità per Azure Spot in questa posizione. Per ulteriori informazioni, consultare Individuare messaggi di errore.

Soluzione

Se uno SKU non è disponibile per la sottoscrizione in una località o in una zona che soddisfa le esigenze aziendali, inviare una richiesta di SKU al supporto tecnico di Azure.

Per determinare quali SKU sono disponibili in una posizione o in una zona, usare il comando az vm list-skus.

az vm list-skus --location centralus --size Standard_D --all --output table
  • --location filtra l'output in base alla posizione.
  • --size cerca in base al nome di dimensione parziale.
  • --all mostra tutte le informazioni e include dimensioni non disponibili per la corrente sottoscrizione.
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

Zone di disponibilità

È possibile visualizzare tutte le risorse di calcolo per le zone di disponibilità di una posizione. Per impostazione predefinita, solo SKU senza restrizioni vengono mostrati. Per includere SKU con restrizioni, usare il parametro --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

È possibile filtrare in base a resourceType, come macchine virtuali, per zona di disponibilità.

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