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

通过Terraform创建RDS Serverless集群时遇'deleting'状态错误

问题:同一Terraform脚本在一个AWS账户创建Aurora集群正常,另一个账户报错进入deleting状态

我们有两个AWS账户,用以下Terraform脚本在其中一个账户创建Aurora PostgreSQL RDS集群完全正常,但在另一个账户执行时出现报错:等待RDS集群(name)创建时,意外进入'deleting'状态,期望目标状态为'available',最后错误信息为%!s()。

resource "aws_rds_cluster" "postgresql" {
  cluster_identifier = "name"
  engine             = "aurora-postgresql"
  engine_version     = "14.6"
  engine_mode        = "provisioned"
  #instance_class     = "db.r6i.large"
  db_subnet_group_name    = aws_db_subnet_group.default.id
  availability_zones      = ["ap-south-1a", "ap-south-1b"]
  database_name           = var.database_name
  master_username         = var.master_username
  master_password         = var.master_password
  backup_retention_period = 7
  preferred_backup_window = "02:00-04:00"
  network_type            = "IPV4"
  port                    = 1845
  vpc_security_group_ids  = [aws_security_group.master-sg.id]
  #  vpc_security_group_ids =["sg-08cac711a39434eec"]
  skip_final_snapshot = "false"
  # final_snapshot_identifier =  local.snapshot_date
  # snapshot_identifier = "${data.aws_db_cluster_snapshot.cluster_snapshot.id}"
  enabled_cloudwatch_logs_exports = ["postgresql"]
  allow_major_version_upgrade     = "true"
  enable_http_endpoint            = "true"
  serverlessv2_scaling_configuration {
    max_capacity = var.max_capacity
    min_capacity = var.min_capacity
  }
}

排查与修复步骤

  • 核对账户权限:确认报错账户的IAM角色/用户拥有创建Aurora集群的完整权限,包括rds:CreateDBCluster、logs:CreateLogGroup、ec2:DescribeSubnets等,对比正常账户的权限策略,避免权限缺失。
  • 验证子网组有效性:检查报错账户中aws_db_subnet_group.default对应的子网是否均处于可用状态,且分属ap-south-1a、ap-south-1b两个可用区,同时确认子网路由表配置了RDS所需的网络访问规则。
  • 检查安全组规则:确认aws_security_group.master-sg允许RDS集群内部通信,且出站规则没有限制RDS访问CloudWatch等AWS服务——过严的出站规则可能导致集群创建失败并自动删除。
  • 修正参数类型错误:脚本中skip_final_snapshot、allow_major_version_upgrade、enable_http_endpoint使用了字符串类型的"true"/"false",但Terraform AWS Provider要求这些是布尔类型(不带引号),修改为:
    skip_final_snapshot       = false
    allow_major_version_upgrade = true
    enable_http_endpoint      = true
    
  • 检查Serverless v2兼容性:确认报错账户所在的ap-south-1区域支持Aurora PostgreSQL 14.6的Serverless v2模式,同时排查账户是否有Serverless相关的限制。
  • 查看RDS控制台事件日志:直接登录报错账户的RDS控制台,查看集群创建失败后的事件日志,这里会显示更详细的错误原因(Terraform的%!s()是未正确捕获AWS返回的错误描述)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:30:18