通过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
相关产品推荐
相关产品推荐

