如何使用Terraform为Azure Functions配置健康检查?
Terraform 配置Azure Functions健康检查步骤
Azure Functions健康检查能力继承自App Service,你可以直接在对应Terraform Function App资源的site_config配置块中添加相关参数实现需求,以下是配置示例和参数说明:
配置示例
# 以Linux Function App为例,Windows Function App配置逻辑完全一致 resource "azurerm_linux_function_app" "example" { name = "example-func-app" resource_group_name = azurerm_resource_group.example.name location = azurerm_resource_group.example.location service_plan_id = azurerm_service_plan.example.id storage_account_name = azurerm_storage_account.example.name storage_account_access_key = azurerm_storage_account.example.primary_access_key # 此处保留你的其他原有Function App配置 site_config { # 此处保留你的其他原有site_config配置 # 健康检查路径配置,必填,替换为你实际的健康检查接口路径 health_check_path = "/api/health" # 健康检查核心配置块 health_check { enabled = true # 开启健康检查功能,设为false即可关闭 # 时间相关可选参数 check_interval = 60 # 两次健康检查的间隔时间,单位:秒,默认值30,取值范围1~3600 healthy_threshold = 2 # 实例需要连续通过多少次检查才会被标记为健康,默认值2,取值范围2~10 unhealthy_threshold = 3 # 实例需要连续失败多少次检查才会被标记为不健康,默认值3,取值范围2~10 } } }
参数说明
health_check_path:指定健康检查的GET请求路径,必须以/开头,你需要自行实现对应路径的Function接口,检查正常时返回2xx状态码即可判定为健康。check_interval:控制健康检查的请求频率,值越小检测越灵敏,但对实例的请求压力也会相应提升。unhealthy_threshold:达到阈值后,平台会自动将不健康实例从负载均衡路由中摘除,避免请求转发到故障实例。
注意:配置修改后执行
terraform apply即可生效,健康检查相关的计量逻辑计入App Service的现有请求配额,不会产生额外费用。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

