Resolva erros de SKU não disponível

Este artigo descreve como resolver erros quando um SKU não está disponível nas zonas de disponibilidade ou na região de uma assinatura do Azure. O tamanho de máquina virtual (VM) ou tipos de conta de armazenamento são exemplos de SKUs de recursos. Erros ocorrem durante implantações com um modelo do Azure Resource Manager (modelo do ARM) ou arquivo Bicep. O erro também ocorre com comandos como New-AzVM ou az vm create que especificam um parâmetro de size para um SKU que não está disponível.

Sintoma

Quando uma VM é implantada para um SKU que não está disponível, ocorre um erro. Os comandos de implantação da CLI do Azure e Azure PowerShell exibem uma mensagem de erro de que o tamanho solicitado não está disponível no local ou zona. No log de atividades do portal do Azure, você verá códigos de erro SkuNotAvailable ou InvalidTemplateDeployment.

Neste exemplo, New-AzVM especificou o parâmetro -Size para um SKU que não está disponível. O código de erro SkuNotAvailable é mostrado no log de atividades do 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.

Quando uma VM é implantada com um modelo do ARM ou arquivo Bicep para um SKU que não está disponível, ocorre um erro de validação. O código de erro InvalidTemplateDeployment e mensagem de erro são exibidos. A implantação não é iniciada, portanto, não há histórico de implantação, mas o erro está no log de atividades do 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

Você recebe esse erro nos seguintes cenários:

  • Quando o SKU de recursos selecionado, como o tamanho da VM, não está disponível para um local ou zona.
  • Se você estiver implantando uma VM de Spot ou instância de conjunto de dimensionamento de Spot do Azure e não há capacidade para o Spot do Azure neste local. Para obter mais informações, confira mensagens de erro de spot.

Solução

Se um SKU não estiver disponível para sua assinatura em um local ou zona que atenda às suas necessidades comerciais, envie uma solicitação de SKU ao Suporte do Azure.

Para determinar quais SKUs estão disponíveis em um local ou zona, use o comando az vm list-skus.

az vm list-skus --location centralus --size Standard_D --all --output table
  • --location filtra a saída por local.
  • --size pesquisa por um nome de tamanho parcial.
  • --all mostra todas as informações e inclui tamanhos que não estão disponíveis para a assinatura atual.
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 disponibilidade

Você pode exibir todos os recursos de computação para as zonas de disponibilidade de um local. Por padrão, somente SKUs sem restrições são exibidos. Para incluir SKUs com restrições, use o 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

Você pode filtrar por resourceType como VMs para zonas de disponibilidade.

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