You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure自动化账户为Azure虚拟机配置更新管理?

问题分析与解答

当前配置不足以启用Azure虚拟机更新管理

你的现有Terraform配置完成了基础资源搭建:创建Windows VM并配置监控代理、部署Log Analytics Updates解决方案、创建自动化账户及更新计划,但缺少更新管理功能的核心依赖,具体如下:

  • 缺少更新管理专用Runbook:Azure更新管理依赖官方内置Runbook(如UpdateManagement-Tasks)执行更新评估、安装操作,你仅创建了自动化计划,未关联任何Runbook,也未导入必要的Runbook资源。
  • 自动化计划未绑定任务:azurerm_automation_schedule.weekly-updates仅定义了执行周期,未关联具体更新任务,无法触发任何更新操作。
  • VM未完成更新管理注册:需要确保OMS Agent将VM状态同步到Log Analytics,让Updates解决方案识别并关联到自动化账户,这一步当前配置未覆盖。

关于azurerm_template_deployment的疑问

早期部署Azure更新管理时,官方推荐用ARM模板一键完成所有依赖配置(包括导入Runbook、关联计划、配置权限等),手动用Terraform单个资源逐个构建会繁琐且易遗漏。

现在虽然Terraform的azurerm provider提供了部分单独资源,但使用azurerm_template_deployment调用官方ARM模板依然是高效方式,能一次性完成更新管理的完整配置,避免手动配置的复杂性。

补充Terraform配置建议

你可以添加以下配置补全更新管理核心组件:

1. 使用azurerm_template_deployment部署完整更新管理配置

resource "azurerm_template_deployment" "update_management" {
  name                = "update-management-deployment"
  resource_group_name = var.rg_name
  location            = var.location

  template_content = <<JSON
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "automationAccountName": {
      "type": "string"
    },
    "scheduleName": {
      "type": "string"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Automation/automationAccounts/runbooks",
      "apiVersion": "2020-01-13-preview",
      "name": "[concat(parameters('automationAccountName'), '/UpdateManagement-Tasks')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "runbookType": "PowerShell",
        "logVerbose": false,
        "logProgress": false,
        "publishContentLink": {
          "uri": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/automation-update-management/UpdateManagement-Tasks.ps1",
          "version": "1.0.0.0"
        }
      }
    },
    {
      "type": "Microsoft.Automation/automationAccounts/jobSchedules",
      "apiVersion": "2020-01-13-preview",
      "name": "[concat(parameters('automationAccountName'), '/', parameters('scheduleName'))]",
      "dependsOn": [
        "[resourceId('Microsoft.Automation/automationAccounts/runbooks', parameters('automationAccountName'), 'UpdateManagement-Tasks')]"
      ],
      "properties": {
        "schedule": {
          "name": "[parameters('scheduleName')]"
        },
        "runbook": {
          "name": "UpdateManagement-Tasks"
        }
      }
    }
  ]
}
JSON

  parameters = {
    automationAccountName = azurerm_automation_account.automation_account.name
    scheduleName          = azurerm_automation_schedule.weekly-updates.name
  }

  depends_on = [azurerm_automation_schedule.weekly-updates, azurerm_log_analytics_linked_service.link_automation_account_with_log_analytics]
}

2. 验证关键依赖

确保以下配置正常生效:

  • VM上的OmsAgentForWindows扩展已正确连接Log Analytics工作区
  • Log Analytics的Updates解决方案已成功部署并关联自动化账户
  • 自动化账户与Log Analytics的链接(azurerm_log_analytics_linked_service)已生效

内容的提问来源于stack exchange,提问作者One Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 10:35:49