如何通过编程方式获取Amazon RDS实例的代际类型推荐?
解决RDS实例代际推荐的API/CLI调用问题
你找错地方了——RDS控制台里的实例代际推荐其实是AWS Compute Optimizer提供的功能,并非RDS原生API范畴,所以在RDS的CLI/boto3接口里找不到对应的调用方式。下面是具体的实现方法:
所需权限
需要给IAM实体添加Compute Optimizer相关权限,比如:
compute-optimizer:GetRDSInstanceRecommendationscompute-optimizer:GetRecommendationSummaries
AWS CLI调用示例
获取指定RDS实例的推荐:
aws compute-optimizer get-rds-instance-recommendations --resource-arns arn:aws:rds:你的区域:账号ID:db:实例名
获取当前账号下所有RDS实例的推荐:
aws compute-optimizer get-rds-instance-recommendations
boto3代码示例
import boto3 # 初始化Compute Optimizer客户端 co_client = boto3.client('compute-optimizer', region_name='你的区域') # 获取所有RDS实例的推荐数据 response = co_client.get_rds_instance_recommendations() # 解析并提取代际相关信息 for rec in response.get('rdsInstanceRecommendations', []): current_type = rec['currentInstanceType'] print(f"实例ARN: {rec['resourceArn']}") print(f"当前实例类型: {current_type}") # 遍历推荐选项,找到代际升级建议 for opt in rec['recommendationOptions']: reason = opt.get('instanceTypeRecommendationReason', '') print(f"推荐实例类型: {opt['instanceType']} | 推荐原因: {reason}") print("---")
额外说明
- Compute Optimizer默认启用,但如果之前手动关闭过,需要在控制台重新开启;
- 新创建的RDS实例需要运行7天以上,Compute Optimizer才能生成有效的推荐数据;
- 控制台RDS页面的"推荐"标签页,本质就是展示Compute Optimizer的分析结果,所以通过上述方式获取的数据和控制台完全一致。
内容的提问来源于stack exchange,提问作者Prince Andrew Anire
相关产品推荐
相关产品推荐

