2016-11-20 5 views
0

У меня есть активная подписка на Azure для некоммерческих организаций, привязанная к учетной записи Microsoft «личного» типа. Я успешно загрузил обобщенный VHD на учетную запись хранилища (используя команды в комментариях к приведенному ниже сценарию), и теперь я пытаюсь развернуть виртуальную машину на основе этого шаблона.Ошибка в работе Powershell New-AzureRmVm с использованием преимущества гибридного использования

Каждый раз, когда я запускаю следующий сценарий, он выдает ошибку и умирает на последнюю строку с ошибкой

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 

Я попытался множественный VM sizes- Я не думаю, что это то, что он имеет в виду ,

В другой точке данных, на основе другого сценария, когда я бегу 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.

Вот сценарий, который я использую, чтобы попробовать добавить эту виртуальную машину. Может ли кто-нибудь помочь мне выяснить, почему сценарий задыхается? Я подозреваю, что проблема связана с использованием «персонального» типа 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 

ответ

1

Если вы идете в лазурный портал и попытаться воссоздать шаги, вы получите сообщение, подобное этому enter image description here

сообщение гласит: «Ваша подписка не поддерживает виртуальную машину создание в Западных штатах США. Выберите другое местоположение. Поддерживаемые местоположения: Восточные США, Южная Центральная Америка, Западная Европа, Юго-Восточная Азия, Западная Америка, Западная Центральная Америка, Южная Корея, Южная Корея «

Просто нужно изменить на West US 2 для этой работы

1

Может быть, это не ваш случай, но это может помочь кому-то, кто ищет skuNotAvailable на рабочем процессе стека

я получил ту же ошибку при создании простой VM следующего the quickstart docs

#!/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