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

Terraform创建AWS RDS实例时monitoring_role_arn无效报错如何解决

问题修复方案

你遇到的报错核心是IAM角色配置不符合RDS增强监控的要求,需要修改两处配置:

1. 修正IAM角色的信任策略

你当前iam-role.tf中配置的信任实体为ec2.amazonaws.com,仅允许EC2服务代入角色,而RDS增强监控要求信任主体为monitoring.rds.amazonaws.com,修改后的iam-role.tf如下:

# IAM Role for RDS Enhanced Monitoring
resource "aws_iam_role" "test-IAM-Role-RDS" {
  name = "test-IAM-Role-RDS"
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Sid    = ""
        Principal = {
          Service = "monitoring.rds.amazonaws.com"
        }
      },
    ]
  })
  tags = {
    Name = "test-IAM-Role-RDS"
  }
}

2. 替换自定义权限策略为AWS托管策略

AWS官方提供了预定义的托管策略AmazonRDSEnhancedMonitoringRole,已经包含了RDS增强监控所需的所有权限,比你自定义的策略覆盖更全面,无需自行编写权限规则。
你可以删除原来的iam-role-policy.tf自定义策略资源,新增如下IAM策略绑定配置:

# 绑定RDS增强监控官方托管策略
resource "aws_iam_role_policy_attachment" "rds_monitoring_policy_attach" {
  role       = aws_iam_role.test-IAM-Role-RDS.name
  policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
}

额外注意事项

IAM角色创建和策略绑定后存在秒级的全球同步延迟,修改配置后如果首次apply仍然报错,等待10秒后重新执行terraform apply即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 04:06:04