如何通过Terraform启用Azure Redis Enterprise Cluster延迟更新选项
解决Azure Redis Enterprise延迟版本更新的Terraform配置方案
你提到的「延迟Redis数据库版本更新」选项属于Redis Enterprise数据库级别的配置,而非集群级别,所以需要通过azurerm_redis_enterprise_database资源来设置,而非现有的azurerm_redis_enterprise_cluster资源。
在Terraform的AzureRM provider中,该配置对应upgrade_policy块下的delay_main_version_upgrade参数,设置为true即可启用延迟主版本更新。
结合你现有的集群配置,添加数据库资源后的完整示例如下:
resource "azurerm_redis_enterprise_cluster" "redis" { name = var.redis_name location = var.loc resource_group_name = var.resource_group_name sku_name = var.settings.sku_name minimum_tls_version = var.settings.minimum_tls_version zones = var.settings.zones tags = local.tags lifecycle { ignore_changes = [tags] } } resource "azurerm_redis_enterprise_database" "redis_db" { name = "${var.redis_name}-db" cluster_id = azurerm_redis_enterprise_cluster.redis.id client_protocol = "Encrypted" # 根据你的需求调整,可选Encrypted/Plaintext eviction_policy = "NoEviction" # 根据你的需求调整 persistence_enabled = false # 根据你的需求调整 # 配置延迟主版本更新 upgrade_policy { delay_main_version_upgrade = true # 可选:指定维护窗口,进一步控制更新时间 # maintenance_window { # day_of_week = "Sunday" # start_hour = 2 # } } }
关键说明:
delay_main_version_upgrade = true:直接对应Azure门户中「延迟主版本更新」的开关,启用后会暂缓Redis主版本的自动升级。- 若需要更精细控制更新时间,可以在
upgrade_policy内添加maintenance_window块,指定每周的维护日和开始小时,让更新仅在该窗口内执行。 - 确保你的AzureRM provider版本足够新(建议3.0+),该参数是在较新的provider版本中引入的。
内容的提问来源于stack exchange,提问作者meher ashish
相关产品推荐
相关产品推荐

