使用CloudFormation创建RDS Oracle实例遇API20120917访问拒绝错误求助
解决CloudFormation创建Oracle RDS时的API版本访问拒绝错误
可能的原因及修复方案
1. 清理模板中的过时API版本配置
- 检查CloudFormation模板里的
AWS::RDS::DBInstance资源,若显式指定了API20120917这类旧版本,直接删除相关API版本指定项,让CloudFormation自动匹配当前RDS服务支持的最新兼容版本。
2. 验证IAM权限完整性
- 确保执行CloudFormation部署的IAM角色/用户拥有以下核心权限:
rds:CreateDBInstancerds:DescribeDBInstances- 若涉及VPC、安全组关联,需附加
ec2:DescribeSecurityGroups、ec2:DescribeSubnets权限
- 测试阶段可临时使用
AmazonRDSFullAccess权限排查是否为权限限制导致,确认后再细化最小权限策略。
3. 核对Oracle引擎版本兼容性
- 部分新Oracle引擎版本(如19c+)不再支持旧版RDS API,登录AWS控制台RDS页面,确认你模板中指定的
EngineVersion属于当前区域支持的稳定版本,调整为兼容版本号。
4. 排查模板参数合规性
- 检查
DBInstanceClass、StorageType等参数是否符合Oracle RDS的配置要求,比如某些存储类型仅适配特定实例规格; - 确认
MasterUserPassword符合Oracle的密码规则(长度≥8、包含大小写字母+数字/特殊字符等)。
5. 确认区域服务状态
- 检查目标AWS区域的RDS服务是否正常(可通过AWS Health Dashboard查看),部分区域可能对旧API版本有访问限制。
错误信息原文:
资源处理程序返回信息:"Access Denied to API Version: API20120917 (Service: Rds, Status Code: 400, Request ID: 172bd747-8158-4b30-8222-efaca96267e2)" (RequestToken: 5d0b9b3a-4185-1b76-e6d3-9aab9896c076, HandlerErrorCode: InvalidRequest)
内容的提问来源于stack exchange,提问作者Y. SAGNA
相关产品推荐
相关产品推荐

