繁体   English   中英

使用混合使用收益运行New-AzureRmVm的Powershell错误

[英]Error in Powershell running New-AzureRmVm using hybrid use benefit

我有一个针对非营利组织的有效Azure赞助订阅,与“个人”类型的Microsoft帐户绑定在一起。 我已经成功地将通用VHD上传到了存储帐户(使用以下脚本的注释部分中的命令),现在我正尝试基于该模板部署VM。

每次我运行以下脚本时,它都会引发错误并在最后一行死亡,并显示错误

New-AzureRmVM : The requested tier for resource '/subscriptions/<removed>/resourceGroups/CCo
FRockResourceGroup/providers/Microsoft.Compute/virtualMachines/CCoFRockIIS' is currently not available in location
'West US' for subscription '<removed>'. Please try another tier or deploy to a different
location.
ErrorCode: SkuNotAvailable
ErrorMessage: The requested tier for resource '/subscriptions/<removed>/resourceGroups/CCoFR
ockResourceGroup/providers/Microsoft.Compute/virtualMachines/CCoFRockIIS' is currently not available in location 'West
US' for subscription '<removed>'. Please try another tier or deploy to a different location.
StatusCode: 409
ReasonPhrase: Conflict
OperationID : 8d2f838c-56c4-4237-ad5e-19357e525e17
At CreateAzureIISServer.ps1:35 char:1
+ New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $locati ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand

我尝试了多种虚拟机大小-我认为这不是它的意思。

作为另一个数据点,基于另一个脚本,当我运行Add-AzureVmImage时,它告诉我

add-azurevmimage : BadRequest: The storage account with the name ccofrockstorageaccount as specified in the VHD URI
https://ccofrockstorageaccount.blob.core.windows.net/ccofrockcontainer/CCoFBoilerplate.vhd does not exists in the
current subscription <removed>.
OperationID : 'a41daf3cfba33eceb34e51d1dcc49e8d'
At line:1 char:1
+ add-azurevmimage -imagename "CCoFBoilerplate" -MediaLocation "https://ccofrockst ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Add-AzureVMImage], ComputeCloudException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.DiskRepository.AddAzureVMImage

即使当我运行Add-AzureAccount和Get-AzureRmSubscription时,它们也会返回正确的SubscriptionId-与使用Azure Web Portal在存储帐户中看到的ID相同。

这是我用来尝试添加此VM的脚本-有人能找出导致脚本阻塞的原因来帮助我吗? 我怀疑使用“个人”类型的MS帐户而不是公司类型的问题,但是我可能错了。 请注意,对于get-credential命令,我提供了唯一的(不存在的)凭据-我认为这应该是新服务器上的用户登录名。 其他两次提示我登录时,我使用的是“个人” MSA凭据,并且确实表明它正在按预期将“重定向到Microsoft帐户登录”。 谢谢

$cred = Get-Credential
$location = "West US"
$resourceGroupName = "CCoFRockResourceGroup"
$containerName = "ccofrockcontainer"
$publicIPName = "CCoFRockPublicIP"
$subnetName = "CCoFRockSubnet"
$nicName = "CCoFRockIISPublic"
$vnetName = "CCoFRockVnet"
$vmName = "CCoFRockIIS"
$computerName = "CCoFRockIIS"
$osDiskName = "CCoFRockIIS.vhd"
$templateDiskName = "CCoFBoilerplate.vhd"
$vmSize = "Standard_D2_v2"
$storageAccountName = "ccofrockstorageaccount"
$urlOfUploadedImageVhd = "https://$storageAccountName.blob.core.windows.net/$containerName/$templateDiskName"


add-azureaccount
Login-AzureRmAccount
##########
#get-azurermsubscription
#select-azurermsubscription -subscriptionid <removed>#new-azurermresourcegroup -name $resourceGroupName -Location $location
#new-azurermstorageaccount -resourcegroupname $resourceGroupName -name $storageAccountName -Location $location -SkuName "Standard_LRS" -Kind "Storage"
#Add-AzureRmVhd -ResourceGroupName $resourceGroupName -Destination "https://$storageAccountName.blob.core.windows.net/$containerName/$templateDiskName" -LocalFilePath "Azure2016.vhd"
##########
$publicIP = New-AzureRmPublicIpAddress -Name $publicIPName -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Static
$subnetconfig = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/8
$vnet = New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName -Location $location -AddressPrefix 10.0.0.0/8 -Subnet $subnetconfig
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIP.Id
$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize
$vm = Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$storageAcc = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName
$osDiskUri = '{0}vhds/{1}{2}.vhd' -f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption FromImage -SourceImageUri $urlOfUploadedImageVhd -Windows
New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $location -VM $vm -LicenseType Windows_Server

如果您转到azure门户并尝试重新创建步骤,则会收到与该消息类似的消息,请在此处输入图像描述

该消息显示为“您的订阅不支持在美国西部创建虚拟机。请选择其他位置。支持的位置是:美国东部,美国中南部,西欧,东南亚,美国西部2,美国中西部,韩国中部,韩国南”

只需更改为“美国西部2”即可

也许这不是您的情况,但这可能会帮助在堆栈工作流程中搜索skuNotAvailable的人

在快速入门文档中创建一个简单的虚拟机时遇到了相同的错误

#!/bin/bash

# Create a resource group.
az group create --name myResourceGroup --location westeurope

# Create a new virtual machine, this creates SSH keys if not present.
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --generate-ssh-keys

我刚刚发现位置会同时影响image的可用性和计算机的size 没有指定--size选项,aws-cli使用默认大小Standard_DS_v2,在westeurope不可用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM