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

如何通过Terraform配置Azure Backup备份告警?

方案优化及修正说明

原方案存在以下可优化和错误点:

  • 模块使用过时:原脚本依赖的AzureRM模块已被微软官方废弃停止维护,和当前主流的Az模块不兼容,易出现调用错误
  • 告警配置对象错误:原脚本调用的Set-AzRecoveryServicesAsrAlertSetting是Azure Site Recovery(站点灾备服务)的告警配置命令,不适用于Azure Backup备份服务,不符合配置备份告警的需求
  • 本地执行器隐含问题:原配置未处理PowerShell执行策略限制,也未添加执行触发规则,重复运行Terraform时容易出现无意义的重复执行

修正后的实现方案

1. 修正后的PowerShell脚本(Set-BackupAlert.ps1)

param(
    [string]$recoveryServiceVaultName,
    [string]$resourceGroupName
)

# 安装并导入备份告警所需的Az模块
Install-Module Az.RecoveryServices -AllowClobber -Force -Scope CurrentUser
Import-Module Az.RecoveryServices

# 获取目标恢复服务保管库
$recovery_vault = Get-AzRecoveryServicesVault -Name $recoveryServiceVaultName -ResourceGroupName $resourceGroupName

# 配置备份服务告警通知规则
Set-AzRecoveryServicesBackupAlertConfig -VaultId $recovery_vault.ID `
    -CustomEmailAddress "test@thomasthornton.cloud" `
    -SendToSubscriptionOwner $true

2. 修正后的Terraform配置(main.tf)

resource "azurerm_resource_group" "rg" {
  name     = "tfex-recovery_vault"
  location = "West Europe"
}

resource "azurerm_recovery_services_vault" "vault" {
  name                = "example_recovery_vault"
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  sku                 = "Standard"

  soft_delete_enabled = true

  provisioner "local-exec" {
    # 配置执行触发器,仅当保管库名称或所属资源组变更时才重新执行告警配置脚本
    triggers = {
      vault_name     = self.name
      resource_group = self.resource_group_name
    }
    # 追加ExecutionPolicy参数绕过本地脚本执行限制
    command = "PowerShell -ExecutionPolicy Bypass -file ./Set-BackupAlert.ps1 -recoveryServiceVaultName ${self.name} -resourceGroupName ${self.resource_group_name}"
  }
}

注意事项
  • 运行Terraform的环境需要提前完成Azure身份验证,本地运行可通过Connect-AzAccount登录,自动化流水线场景建议使用Azure服务主体完成身份校验
  • 本方案配置的是备份服务全局告警,所有备份任务失败、警告类事件都会推送通知到指定邮箱
  • 如果需要更细粒度的告警规则(比如仅针对特定虚拟机备份失败告警、备份存储容量超出阈值告警),可直接使用Terraform原生的azurerm_monitor_scheduled_query_rules_alert资源配置Azure Monitor告警,无需依赖外置脚本,可维护性更强。

内容的提问来源于stack exchange,提问作者Naveen Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:03:03