如何通过AWS CLI获取EC2实例(如mi实例)优化建议?求命令示例
AWS EC2实例优化建议导出命令指南
正确命令语法
你当前的命令缺少导出格式与输出目标参数,完整命令需指定导出格式(CSV/JSON)及S3存储位置,还可通过过滤器精准筛选特定类型的优化建议(比如过度配置)。
基础导出命令(所有EC2实例建议)
aws export-ec2-instance-recommendations \ --output-format CSV \ --s3-destination Bucket=你的S3桶名称,Prefix=ec2优化建议/
筛选过度配置实例的命令
如果仅需导出「Over-provisioned(过度配置)」类型的建议,添加RecommendationType过滤器:
aws export-ec2-instance-recommendations \ --filters \ name=RecommendationSourceType,values=Ec2Instance \ name=RecommendationType,values=OverProvisioned \ --output-format JSON \ --s3-destination Bucket=你的S3桶名称,Prefix=过度配置EC2实例建议/
输入输出示例
输入命令示例
假设要导出所有EC2实例的CSV格式建议到S3桶aws-cost-opt-bucket的ec2-reports/路径下:
aws export-ec2-instance-recommendations \ --filters name=RecommendationSourceType,values=Ec2Instance \ --output-format CSV \ --s3-destination Bucket=aws-cost-opt-bucket,Prefix=ec2-reports/
输出响应示例
执行命令后,CLI会返回导出任务的状态信息:
{ "jobId": "arn:aws:compute-optimizer:us-east-1:123456789012:job/export-ec2-instance-recommendations-1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6", "s3Destination": { "bucket": "aws-cost-opt-bucket", "key": "ec2-reports/export-ec2-instance-recommendations-1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6.csv", "metadataKey": "compute-optimizer-export" }, "status": "IN_PROGRESS", "creationTimestamp": "2024-06-10T10:15:00Z", "lastUpdatedTimestamp": "2024-06-10T10:15:00Z" }
任务完成后,S3路径下的CSV文件内容示例(片段):
账号ID,实例ARN,当前实例类型,建议类型,推荐实例类型,预估月节省成本,当前月成本
123456789012,arn:aws:ec2:us-east-1:123456789012:instance/i-0abc1234def567890,m5.xlarge,OverProvisioned,m5.large,$42.00,$84.00
123456789012,arn:aws:ec2:us-east-1:123456789012:instance/i-0def9876cba543210,t3.large,UnderProvisioned,t3.xlarge,$0.00,$65.00
注意事项
- 确保AWS CLI拥有
compute-optimizer:ExportEC2InstanceRecommendations权限及目标S3桶的写入权限 - 支持的输出格式仅为
CSV和JSON - 除
OverProvisioned外,还可筛选UnderProvisioned(配置不足)或Optimized(已优化)类型的建议
内容的提问来源于stack exchange,提问作者TanoDevOps
相关产品推荐
相关产品推荐

