Включение Управления обновлениями с помощью шаблона Azure Resource Manager
Внимание
Управление обновлениями службы автоматизации прекращено 31 августа 2024 г. и рекомендуется использовать Диспетчер обновлений Azure. Следуйте рекомендациям по миграции из службы "Управление обновлениями службы автоматизации" в Диспетчер обновлений Azure.
Для включения Управления обновлениями службы автоматизации Azure в группе ресурсов можно использовать шаблоны Azure Resource Manager. В этой статье приводится пример шаблона, который автоматизирует выполнение следующих задач:
- автоматизирует создание рабочей области Log Analytics Azure Monitor;
- автоматизирует создание учетной записи службы автоматизации Azure;
- связывает учетную запись службы автоматизации с рабочей областью Log Analytics.
- добавляет примеры модулей Runbook автоматизации в учетную запись.
- включает Управление обновлениями.
Если у вас уже есть рабочая область Log Analytics и учетная запись службы автоматизации, развернутая в поддерживаемом регионе в вашей подписке, они не связаны между собой. С помощью этого шаблона вы успешно создадите ссылку и развернете функцию" Управление обновлениями".
Примечание.
Создание учетной записи запуска от имени службы автоматизации на основе шаблона Azure Resource Manager не поддерживается. Сведения о создании учетной записи запуска от имени вручную на портале или с помощью PowerShell см. в статье Создание учетной записи запуска от имени.
После выполнения этих действий необходимо настроить параметры диагностики, чтобы учетная запись службы автоматизации могла отправлять состояния заданий Runbook и потоки заданий в связанную рабочую область Log Analytics.
Версии API
В следующей таблице перечислены версии API для ресурсов, используемых в этом примере.
Ресурс | Тип ресурса | Версия API |
---|---|---|
Рабочая область | рабочие области | 2020-03-01-preview |
Учетная запись службы автоматизации. | automation | 2020-01-13-preview |
Связанные службы рабочей области | рабочие области | 2020-03-01-preview |
Решения | решения | 2015-11-01-preview |
Перед применением шаблона
Шаблон JSON настроен так, чтобы осталось только указать следующие сведения:
- имя рабочей области;
- регион, в котором будет создана рабочая область;
- Имя учетной записи службы автоматизации.
- регион, в котором будет создана учетная запись автоматизации.
Для следующих параметров в шаблоне задано значение по умолчанию для рабочей области Log Analytics:
- sku — по умолчанию используется ценовая категория с платой за гигабайт, выпущенная в апреле 2018 года.
- dataRetention — по умолчанию задано 30 дней.
Предупреждение
Если вы хотите создать или настроить рабочую область Log Analytics в подписке, использующей модель ценообразования от апреля 2018 года, будет доступна только ценовая категория PerGB2018.
Шаблон в формате JSON указывает значения по умолчанию для других параметров, которые, скорее всего, будут использоваться в качестве стандартной конфигурации в вашей среде. Шаблон можно хранить в учетной записи хранения Azure для общего доступа в организации. Дополнительную информацию о работе с шаблонами см. в статье Развертывание ресурсов с использованием шаблонов Resource Manager и Azure CLI.
Если вы не знакомы со службами автоматизации Azure и Azure Monitor, важно понимать следующие моменты, относящиеся к конфигурации. Они могут помочь избежать ошибок при создании, настройке и использовании рабочей области Log Analytics, связанной с новой учетной записью службы автоматизации.
Ознакомьтесь с дополнительными сведениями, чтобы полностью понять возможности конфигурации рабочей области, такие как режим управления доступом, ценовая категория, срок хранения и уровень резервирования мощности.
Изучите сопоставления рабочей области, чтобы указывать поддерживаемые регионы в строке или файле параметров. Только определенные регионы поддерживают связывание рабочей области Log Analytics и учетной записи службы автоматизации в подписке.
Если вы еще не работали с журналами Azure Monitor и пока не развернули рабочую область, ознакомьтесь с руководством по проектированию рабочей области. В нем содержатся сведения об управлении доступом и приводятся стратегии реализации разработок, которые рекомендуется внедрить в организации.
Развертывание шаблона
Скопируйте и вставьте в него следующий синтаксис JSON:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "workspaceName": { "type": "string", "metadata": { "description": "Workspace name" } }, "sku": { "type": "string", "defaultValue": "pergb2018", "allowedValues": [ "pergb2018", "Free", "Standalone", "PerNode", "Standard", "Premium" ], "metadata": { "description": "Pricing tier: perGB2018 or legacy tiers (Free, Standalone, PerNode, Standard or Premium), which are not available to all customers." } }, "dataRetention": { "type": "int", "defaultValue": 30, "minValue": 7, "maxValue": 730, "metadata": { "description": "Number of days to retain data." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Specifies the location in which to create the workspace." } }, "automationAccountName": { "type": "string", "metadata": { "description": "Automation account name" } }, "sampleGraphicalRunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorial" }, "sampleGraphicalRunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "samplePowerShellRunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorialScript" }, "samplePowerShellRunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "samplePython2RunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorialPython2" }, "samplePython2RunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "_artifactsLocation": { "type": "string", "defaultValue": "[deployment().properties.templateLink.uri]", "metadata": { "description": "URI to artifacts location" } }, "_artifactsLocationSasToken": { "type": "securestring", "defaultValue": "", "metadata": { "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated" } } }, "variables": { "Updates": { "name": "[concat('Updates', '(', parameters('workspaceName'), ')')]", "galleryName": "Updates" } }, "resources": [ { "type": "Microsoft.OperationalInsights/workspaces", "apiVersion": "2020-08-01", "name": "[parameters('workspaceName')]", "location": "[parameters('location')]", "properties": { "sku": { "name": "[parameters('sku')]" }, "retentionInDays": "[parameters('dataRetention')]", "features": { "searchVersion": 1, "legacy": 0 } } }, { "apiVersion": "2015-11-01-preview", "location": "[parameters('location')]", "name": "[variables('Updates').name]", "type": "Microsoft.OperationsManagement/solutions", "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.OperationsManagement/solutions/', variables('Updates').name)]", "dependsOn": [ "[concat('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]" ], "properties": { "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]" }, "plan": { "name": "[variables('Updates').name]", "publisher": "Microsoft", "promotionCode": "", "product": "[concat('OMSGallery/', variables('Updates').galleryName)]" } }, { "type": "Microsoft.Automation/automationAccounts", "apiVersion": "2020-01-13-preview", "name": "[parameters('automationAccountName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('workspaceName')]" ], "identity": { "type": "SystemAssigned" }, "properties": { "sku": { "name": "Basic" } }, "resources": [ { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('sampleGraphicalRunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "GraphPowerShell", "logProgress": "false", "logVerbose": "false", "description": "[parameters('sampleGraphicalRunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.graphrunbook', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } }, { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('samplePowerShellRunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "PowerShell", "logProgress": "false", "logVerbose": "false", "description": "[parameters('samplePowerShellRunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.ps1', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } }, { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('samplePython2RunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "Python2", "logProgress": "false", "logVerbose": "false", "description": "[parameters('samplePython2RunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorialPython2.py', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } } ] }, { "type": "Microsoft.OperationalInsights/workspaces/linkedServices", "apiVersion": "2020-08-01", "name": "[concat(parameters('workspaceName'), '/' , 'Automation')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('workspaceName')]", "[parameters('automationAccountName')]" ], "properties": { "resourceId": "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccountName'))]" } } ] }
Отредактируйте шаблон с учетом ваших требований. Вместо встраивания параметров в строку запуска попробуйте создать файл параметров Resource Manager.
Сохраните этот файл с именем deployUMSolutiontemplate.json в локальной папке.
Теперь вы можете развернуть этот шаблон. Это можно сделать с помощью PowerShell или Azure CLI. При появлении запроса на ввод имени рабочей области и учетной записи службы автоматизации укажите имя, глобально уникальное во всех подписках Azure.
PowerShell
New-AzResourceGroupDeployment ` -Name <deployment-name> ` -ResourceGroupName <resource-group-name> ` -TemplateFile deployUMSolutiontemplate.json ` -_artifactsLocation "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
Azure CLI
az deployment group create --resource-group <my-resource-group> --name <my-deployment-name> --template-file deployUMSolutiontemplate.json --parameters _artifactsLocation="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
Развертывание может занять несколько минут. По завершении выполнения появится сообщение с результатами наподобие приведенного ниже.
Просмотр развернутых ресурсов
Войдите на портал Azure.
На портале Azure откройте учетную запись службы автоматизации, которую вы создали.
В области слева выберите Модули Runbook. На странице модулей Runbook перечислены три учебных модуля Runbook, созданные с помощью учетной записи службы автоматизации.
В области слева выберите Связанная рабочая область. На странице связанной рабочей области отображается рабочая область Log Analytics, указанная ранее, которая связана с учетной записью службы автоматизации.
На панели слева выберите Управление обновлениями. На странице Управление обновлениями отображается страница оценки без каких-либо сведений в результате недавнего включения, а компьютеры не настроены для управления.
Очистка ресурсов
Если они больше не нужны, удалите решение Обновления в рабочей области Log Analytics, удалите связь между учетной записью службы автоматизации и рабочей областью, а затем — учетную запись и рабочую область службы автоматизации.
Следующие шаги
Дополнительные сведения об использовании функции "Управление обновлениями" для виртуальных машин см. в статье Управление обновлениями и исправлениями для виртуальных машин.
Если вы больше не хотите использовать функцию "Управление обновлениями" и хотите удалить ее, см. инструкции в статье Удаление функции Управление обновлениями.
Дополнительные сведения см. в статье Удаление виртуальной машины из Управления обновлениями.