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

Azure PostgreSQL灵活服务器Terraform同区域GeoRestore失败求助

Azure PostgreSQL灵活服务器Terraform同区域还原失败排查与修复

问题概述

已启用异地冗余备份的Azure PostgreSQL灵活服务器,通过Azure门户可成功完成同区域还原,但使用Terraform执行时触发ResourceNotFound错误,提示找不到源服务器。

错误原因

核心问题是错误使用GeoRestore模式执行同区域还原:

  • GeoRestore仅适用于跨区域的异地冗余备份还原场景,要求目标区域与源服务器区域不同,且源服务器的异地备份已同步到目标区域。
  • 同区域的时间点还原需使用PointInTimeRestore模式,错误的模式会导致Terraform调用错误的API逻辑,进而无法正确识别源服务器。

修正后的Terraform模板

provider "azurerm" {
  features {}
  subscription_id = "my-sub-id"
}

# 同区域时间点还原创建灵活服务器
resource "azurerm_postgresql_flexible_server" "restored_server" {
  name                               = "sameregionrestoreserver"
  location                           = "westeurope" # 需与源服务器区域一致
  storage_mb                         = 131072
  sku_name                           = "GP_Standard_D2ds_v4"
  resource_group_name                = "same-resource-group"
  backup_retention_days              = 7
  geo_redundant_backup_enabled       = true # 目标服务器可按需设置,不影响同区域还原
  create_mode                        = "PointInTimeRestore" # 替换为同区域还原模式
  source_server_id                   = "/subscriptions/my-sub-id/resourceGroups/source-resource-group/providers/Microsoft.DBforPostgreSQL/flexibleServers/source-server-name"
  point_in_time_restore_time_in_utc  = "2024-11-06T13:15:21.000Z"
}

额外验证要点

  • 确认source_server_id中的订阅ID、资源组名称、源服务器名称完全正确,源服务器状态正常(未被删除)。
  • 检查Terraform使用的Azurerm Provider版本是否为最新稳定版,避免API兼容性问题。
  • 确保执行Terraform的账号拥有源服务器的读取权限以及目标资源组的创建权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 12:08:09