Развертывание шаблона Azure ARM в существующей группе доступности

Из приведенного ниже шаблона, как добавить его в существующую группу доступности (та же группа ресурсов). Я не могу этого сделать после создания виртуальной машины, поэтому мне нужно сделать это здесь.

Получение ошибки как

Набор доступности '/subscriptions/XXXXXXXXXXX/resourceGroups/XXXXXXXXXXXX/providers/Microsoft.Com pute / availabilitySets / XXXXXXX' не найден.

Однако он доступен на портале. Я могу развернуть виртуальную машину вручную.

{
    "contentVersion": "1.0.0.0",
    "parameters": {
        SOME MORE PARAMETERS
        "AvSet":{
            "type": "string",
            "defaultValue": "XXXXXXXXXXXXX"
        },

    },
    "variables": {
        "ExtensionLink": "[concat(parameters('containerUrl'),'/domainjoin_extension.json')]",
        "subnetRef": "[resourceId(parameters('existingVnetResourceGroup'), 'Microsoft.Network/virtualNetworks/subnets', parameters('existingVnetName'),  parameters('existingSubnetName'))]",

    },
    "resources": [{
            "type": "Microsoft.Compute/virtualMachines",
            "name": "[parameters('virtualMachineName')]",
            "apiVersion": "2017-03-30",
            "location": "[resourceGroup().location]",
            "tags": "[parameters('tagValues')]",
            "properties": {
                "osProfile": {
                    "computerName": "[parameters('virtualMachineName')]",
                    "adminUsername": "[parameters('adminUsername')]",
                    "adminPassword": "[parameters('adminPassword')]"
                },
                "hardwareProfile": {
                    "vmSize": "[parameters('virtualMachineSize')]"
                },
                "storageProfile": {
                    "imageReference": {
                        "publisher": "[parameters('publisher')]",
                        "offer": "[parameters('offer')]",
                        "sku": "[parameters('OSVersion')]",
                        "version": "latest"
                    },
                    "osDisk": {
                        "createOption": "fromImage",
                        "diskSizeGB": "[parameters('diskSizeGB')]",
                        "managedDisk": {
                            "storageAccountType": "[parameters('storageAccountType')]"
                        },
                        "name": "[parameters('osDiskName')]"
                    }

                },
                "networkProfile": {
                    "networkInterfaces": [{
                        "id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName'))]"
                    }]
                },

                "diagnosticsProfile": {
                    "bootDiagnostics": {
                        "enabled": true,
                        "storageUri": "[reference(resourceId(parameters('existingStorageRgName'), 'Microsoft.Storage/storageAccounts', parameters('existingDiagnosticsStorageAccountName')), '2015-06-15').primaryEndpoints['blob']]"
                    }
                },
                "AvailabilitySet" : {
                  "id": "[resourceId('Microsoft.Compute/availabilitySets', parameters('AvSet'))]"
                },
            },

            "dependsOn": [
                "[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]",

            ]
        },

        {
            "type": "Microsoft.Network/networkInterfaces",
            "name": "[parameters('networkInterfaceName')]",
            "apiVersion": "2016-09-01",
            "location": "[resourceGroup().location]",
            "tags": "[parameters('tagValues')]",
            "properties": {

                "ipConfigurations": [{
                    "name": "ipconfig1",
                    "properties": {
                        "subnet": {
                            "id": "[variables('subnetRef')]"
                        },
                        "privateIPAllocationMethod": "Dynamic"
                    }
                }]
            }
        },
        {
            "apiVersion": "2017-05-10",
            "name": "linked1",
            "condition": "[equals(parameters('extensionCreateorNot'),'yes')]",
            "type": "Microsoft.Resources/deployments",
            "properties": {
                "mode": "incremental",
                "templateLink": {
                    "uri": "[variables('ExtensionLink')]",
                    "contentVersion": "1.0.0.0"
                },
                "parameters": {
                    "virtualMachineName": {
                        "value": "[string(parameters('virtualMachineName'))]"
                    },
                    "domainJoinUserName": {
                        "value": "[string(parameters('domainJoinUserName'))]"
                    },
                    "domainJoinUserPassword": {
                        "value": "[string(parameters('domainJoinUserPassword'))]"
                    },
                    "domainFQDN": {
                        "value": "[string(parameters('domainFQDN'))]"
                    },
                    "ouPath": {
                        "value": "[string(parameters('ouPath'))]"
                    }

                }

            },
            "dependsOn": [
                "linked2",
                "[concat('Microsoft.Compute/virtualMachines/', parameters('virtualMachineName'))]",
                "[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]"

            ]
        },
        {
            "apiVersion": "2017-05-10",
            "name": "linked2",
            "condition": "[equals(parameters('dataDisksattachornot'),'yes')]",
            "type": "Microsoft.Resources/deployments",
            "properties": {
                "mode": "incremental",
                "templateLink": {
                    "uri": "[variables('attachDataDiskExtensionLink')]",
                    "contentVersion": "1.0.0.0"
                },
                "parameters": {
                    "virtualMachineName": {
                        "value": "[string(parameters('virtualMachineName'))]"
                    },
                    "sizeOfDataDisksInGB": {
                        "value": "[array(parameters('sizeOfDataDisksInGB'))]"
                    },
                    "tagValues": {
                        "value": "[parameters('tagValues')]"
                    }
                }
            },
            "dependsOn": [
                "[concat('Microsoft.Compute/virtualMachines/', parameters('virtualMachineName'))]",
                "[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]"
            ]
        }
    ],
    "outputs": {
        "adminUsername": {
            "type": "String",
            "value": "[parameters('adminUsername')]"
        },
        "virtualMachineName": {
            "type": "String",
            "value": "[parameters('virtualMachineName')]"
        },
        "networkInterface": {
            "type": "string",
            "value": "[reference(concat(parameters('networkInterfaceName'))).ipConfigurations[0].properties.privateIPAddress]"
        }
    }
}

person Arun Kumar    schedule 17.02.2019    source источник


Ответы (1)


если вы хотите добавить виртуальную машину к существующему набору доступности - вы должны указать ей его resourceId, то есть. добавьте следующий параметр в свойства vm:

"availabilitySet": {
    "id": "[resourceId('Microsoft.Compute/availabilitySets', 'existing_availability_set_name')]"
},

пример:

https://github.com/Azure/azure-quickstart-templates/blob/master/201-2-vms-loadbalancer-natrules/azuredeploy.json#L264

person 4c74356b41    schedule 17.02.2019
comment
какой вопрос в этом случае - person 4c74356b41; 17.02.2019
comment
Вопрос в том, что я проверил на лазурном портале. Мой набор доступности там есть. Я могу развернуть виртуальную машину вручную с помощью AVSet. Однако из общего ARM это дает мне ошибку, поскольку AVSet недоступен. - person Arun Kumar; 17.02.2019
comment
означает, что он находится в другом регионе или вы неправильно создали идентификатор ресурса - person 4c74356b41; 17.02.2019
comment
Нет, AVSet находится в том же регионе и в той же группе ресурсов. Я не уверен, что не так с моим шаблоном - person Arun Kumar; 17.02.2019
comment
если вы не можете показать репродукцию, это только ваше мнение. Я знаю, как это работает. и это так. так что у тебя где-то ошибка - person 4c74356b41; 17.02.2019
comment
Я поделился шаблоном, о котором идет речь - person Arun Kumar; 17.02.2019
comment
шаблон в порядке, как я уже говорил, проверьте все. что-то не так - person 4c74356b41; 17.02.2019
comment
Чтобы найти ЧТО-ТО, я разместил здесь вопрос. Я не могу проверить, чего не хватает - person Arun Kumar; 17.02.2019
comment
Я сказал вам, что может быть не так. регион или название. шаблон в порядке - person 4c74356b41; 17.02.2019
comment
Чтобы обновить здесь, расположение группы ресурсов и группы доступности отличается - person Arun Kumar; 17.02.2019
comment
точно, ваша виртуальная машина использует расположение группы ресурсов, измените расположение виртуальной машины, чтобы оно соответствовало расположению группы доступности. - person 4c74356b41; 17.02.2019
comment
Я не добавляю AVSet в виртуальную машину, я пытаюсь создать виртуальную машину с помощью AvSet из другого места. - person Arun Kumar; 17.02.2019
comment
вы не можете этого сделать (по определению). Наборы доступности предлагают распределение виртуальных машин на уровне стойки. виртуальные машины в одном регионе и виртуальные машины в другом регионе не могут находиться в одной стойке, потому что они находятся в разных центрах обработки данных, вам нужно посмотреть зоны доступности - person 4c74356b41; 17.02.2019