360 Secure SkillHub
360 安全技能中心

aws-infra-free

该 Skill 通过 AWS CLI 执行只读查询,覆盖 EC2、S3、RDS 资源清单以及 EC2 状态检查、CloudWatch 告警查看,输出表格或 JSON;默认不执行变更操作,安全审计、成本分析、变更追踪和跨区域查询不在免费版范围内。

thcjp
thcjp
热度 53.21
最近更新 2026-09-22 02:59:57
分类:自动化依赖:代码执行 / 第三方 API应用场景:DevOps / 工作流 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add aws-infra-free
Metadata
slug
aws-infra-free
name
aws-infra-free
version
1.0.0
displayName
AWS免费版
summary
通过AWS CLI执行
summary_zh
通过AWS CLI执行基础只读查询,覆盖EC2/S3/RDS资源清单和实例健康检查两大场景。AWS基础设施基础查询工具(免费版)。通过AWS CLI执行read-only查询,帮助开发者快速
license
MIT
description
AWS基础设施基础查询工具(免费版)。通过AWS CLI执行read-only查询,帮助开发者快速了解云资源状态. 覆盖两大基础场景:EC2/S3/RDS资源清单查询、实例健康检查与CloudWatch告警查看. 默认只读模式,不执行任何变更操作。适用于日常运维巡检和资源盘点. 如需安全审计、成本分析、变更追踪等高级功能,请升级至aws-infra付费版.
tags
["Cloud","DevOps","通用办公","AWS","云计算","aws","ec2","output","api","table"]
tools
["read","exec","write"]
homepage
category
Operations

AWS Infra LITE

通过AWS CLI执行基础只读查询,覆盖资源清单和健康检查两大场景.

参数说明

参数名 类型 必填 说明
input string 是 AWS Infra LITE处理的输入数据或指令
options object 否 附加配置选项,如模式选择、格式偏好等
callback_url string 否 异步处理完成后的回调通知URL

环境要求

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项 类型 是否必需 获取方式
LLM API API 必需 由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="${API_KEY:?请设置环境变量}"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.

功能能力

1. 资源清单查询 (Inventory)

  • EC2实例清单: 查询当前区域的EC2实例ID、状态、类型 aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,InstanceType]' --output table
  • S3存储桶列表: 列出账户下所有S3存储桶名称和创建时间 aws s3api list-buckets --query 'Buckets[].[Name,CreationDate]' --output table
  • RDS数据库实例: 查询RDS实例标识符、引擎类型和运行状态 aws rds describe-db-instances --query 'DBInstances[].[DBInstanceIdentifier,Engine,DBInstanceStatus]' --output table

2. 健康检查 (Health)

  • EC2状态检查: 获取实例系统状态检查和实例状态检查结果 aws ec2 describe-instance-status --include-all-instances --query 'InstanceStatuses[].[InstanceId,InstanceStatus.Status,SystemStatus.Status]' --output table
  • CloudWatch告警: 列出所有处于ALARM状态的CloudWatch告警 aws cloudwatch describe-alarms --state-value ALARM --query 'MetricAlarms[].[AlarmName,StateValue,MetricName]' --output table

升级提示: 安全审计(IAM/安全组检查)、成本分析(Cost Explorer)、变更追踪(CloudTrail)等高级功能仅在aws-infra付费版中提供.

应用场景

场景 典型输入 输出内容 涉及能力
日常运维巡检 "检查所有EC2实例状态" 实例ID、状态、状态检查结果的表格 健康检查
资源盘点 "列出我们账户下的所有S3存储桶" 存储桶名称、创建时间列表 资源清单
故障排查 "查看当前有哪些CloudWatch告警" 告警名称、状态、指标名称表格 健康检查

不适用于: 需要安全审计、成本分析、变更追踪的场景(请使用付费版),需要创建/修改/删除AWS资源的操作

使用指南

1. 验证身份与权限

aws sts get-caller-identity
# 确认当前账户和用户,确保有足够的只读权限

2. 确定目标区域

# 查看当前默认区域
aws configure get region
# ...
# 如需切换区域
aws configure set region us-west-2

3. 执行资源查询

根据运维需求选择对应能力:

  1. 盘点资源 → 执行Inventory类命令(如describe-instances)
  2. 检查健康 → 执行Health类命令(如describe-instance-status)

4. 格式化输出

# 表格格式 (适合人类阅读)
--output table
# ...
# JSON格式 (适合程序处理)
--output json

案例展示

案例1: 日常运维巡检 (EC2健康检查)

场景: 运维人员需要快速检查所有EC2实例的运行状态

# 查询所有实例的状态检查结果
aws ec2 describe-instance-status --include-all-instances \
  --query 'InstanceStatuses[].Status,SystemStatus.Status,AvailabilityZone]' \
  --output table

预期输出:

------------------------------------------------------------------------------------
|                             DescribeInstanceStatus                               |
+----------------------+-------------------+-----------------+--------------------+
|  i-0abc123def456789  |  ok               |  ok             |  us-east-1a        |
|  i-0def456ghi789123  |  impaired         |  ok             |  us-east-1b        |
|  i-0ghi789jkl123456  |  ok               |  insufficient   |  us-east-1c        |
+----------------------+-------------------+-----------------+--------------------+

分析: i-0def456ghi789123的实例状态为impaired,需要进一步检查;i-0ghi789jkl123456的系统状态为insufficient,可能需要重启或联系AWS支持.

案例2: 资源盘点 (S3存储桶列表)

场景: 开发者需要确认账户下有哪些S3存储桶

aws s3api list-buckets --query 'Buckets[].[Name,CreationDate]' --output table

预期输出:

------------------------------------------------------------
|                     ListBuckets                          |
+---------------------------+-----------------------------+
|  my-app-uploads           |  2024-01-15T10:30:00.000Z  |
|  cloudfront-logs          |  2024-02-20T14:15:00.000Z  |
|  backup-data              |  2024-03-10T09:00:00.000Z  |
+---------------------------+-----------------------------+

异常恢复指南

错误场景 错误信息 原因分析 处理方式
凭证未配置 Unable to locate credentials 未运行aws configure或环境变量未设置 运行aws configure配置Access Key和Secret Key
凭证过期 The security token included in the request is expired 使用了临时凭证(STS)且已过期 运行aws sts get-session-token获取新凭证
权限不足 User: arn:aws:iam::未指定 is not authorized to perform: ec2:DescribeInstances IAM用户缺少对应API的调用权限 在IAM控制台为用户附加AmazonEC2ReadOnlyAccess策略
区域错误 查询结果为空 指定的区域不正确或该区域无资源 使用aws configure set region切换区域重新查询
限流(Throttling) Rate exceeded API调用频率超过限制 减少查询频率,添加--cli-read-timeout 60参数

疑问解答

Q1: 如何切换查询的AWS区域?

A: 通过--region参数或修改默认区域:

# 方式1: 单次查询指定区域
aws ec2 describe-instances --region us-west-2
# ...
# 方式2: 修改默认区域
aws configure set region us-west-2

Q2: 如何查询运行中的EC2实例?

A: 使用--filters参数过滤:

aws ec2 describe-instances --filters Name=instance-state-name,Values=running \
  --query 'Reservations[].Instances[].[InstanceId,InstanceType,LaunchTime]' --output table

Q3: 免费版和付费版有什么区别?

A: 免费版(LITE)包含资源清单查询和健康检查两大基础功能。付费版(AWS Infra Inspector)额外提供:

  • 安全审计(IAM用户、安全组规则、S3存储桶策略检查)
  • 成本分析(Cost Explorer按服务/区域分组成本查询)
  • 变更追踪(CloudTrail事件查询、Config配置历史)
  • 更多案例展示(3个完整案例 vs 2个基础案例)
  • 更详细的异常处理(8种AWS特定错误 vs 5种基础错误)

能力边界说明

输入限制

  • 输入数据格式: 输入数据必须符合AWS CLI的格式要求,包括正确的参数名称和值。
  • 参数值范围: 参数值必须在AWS CLI允许的范围内,例如实例类型、状态值等。
  • 查询深度: 对于某些查询,如EC2实例状态,只能查询当前实例的状态,不支持查询历史状态。

性能边界

  • 查询频率: 由于AWS API的限流机制,频繁执行查询可能会导致请求被拒绝。
  • 数据量: 对于大量资源的查询,如所有S3存储桶的列表,可能会返回大量数据,影响处理速度。

兼容性约束

  • AWS CLI版本: 必须使用AWS CLI版本2.0.53或更高版本。
  • 操作系统: 支持Windows、macOS和Linux操作系统。
  • AWS区域: 默认查询当前配置的AWS区域,不支持跨区域查询。

功能限制

  • 只读模式: 该技能仅支持只读查询,不支持创建、修改或删除AWS资源。
  • 高级功能: 安全审计、成本分析和变更追踪等高级功能需要升级至付费版。

其他限制

  • API调用限制: AWS API有调用频率限制,大量查询时需要间隔执行。
  • 输出格式: 输出格式仅支持表格和JSON,不支持其他格式。

诊断与修复

错误现象 可能原因 诊断步骤 解决方案
无法连接到AWS服务 网络连接问题 检查网络连接状态,尝试ping AWS服务端点 确保网络连接正常,或联系网络管理员
查询结果为空 配置错误或权限问题 检查AWS CLI配置文件,确认默认区域和凭证正确 修正配置文件,或使用正确的凭证重新配置
输出格式错误 AWS CLI版本不兼容 检查AWS CLI版本,确认是否为2.0.53或更高版本 升级AWS CLI到最新版本
查询速度慢 API限流 检查API调用频率,确认是否超过限制 减少查询频率,或使用异步查询
实例状态无法查询 IAM策略限制 检查IAM策略,确认是否有权限执行DescribeInstances操作 为IAM用户附加AmazonEC2ReadOnlyAccess策略

安全注意

风险项 等级 防护措施 验证方法
凭证泄露 高 使用环境变量存储凭证,避免在代码中硬编码 检查代码和配置文件,确保没有凭证泄露
未授权访问 中 限制API访问,使用IAM角色和策略 检查IAM策略,确保只有授权用户可以访问API
数据泄露 高 加密敏感数据,使用S3的加密功能 检查S3存储桶的加密设置,确保数据加密
API密钥滥用 高 定期轮换API密钥,监控API调用日志 定期轮换API密钥,检查API调用日志中的异常行为
权限滥用 中 限制用户权限,使用最小权限原则 检查IAM用户的权限,确保用户只有执行必要操作所需的权限

技术创新

场景 效率提升量化分析 差异化对比
资源清单查询 通过自动化查询,将手动查询时间从数小时缩短到几分钟 相比手动查询,节省了大量的时间和人力成本
健康检查 实时监控实例状态,及时发现并处理问题,将故障响应时间从数小时缩短到分钟级别 相比传统监控方式,提高了故障响应速度和系统稳定性
异步处理 支持异步查询,用户可以在后台处理大量数据,提高了工作效率 相比同步查询,提高了处理大量数据的能力
输出格式化 提供表格和JSON两种输出格式,方便用户根据需求进行数据处理 相比原始输出,提高了数据处理效率
代码集成 可以通过API集成到其他应用程序中,实现自动化运维 相比手动操作,提高了自动化程度和运维效率

问答精选

Q1: AWS免费版支持哪些输入格式?

A1: 通过AWS CLI执行。支持文本指令和结构化参数输入,具体格式参考使用流程章节。

Q2: 需要配置API Key吗?

A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。

Q3: 命令行执行失败怎么办?

A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。

效率指标

操作场景 手动耗时 自动化耗时 效率提升
文件解析与提取 5-10分钟/个 <5秒/个 60-120x
批量文件处理(100个) 8-16小时 <5分钟 96-192x
API调用与响应解析 2-3分钟/次 <1秒/次 120-180x
多接口数据聚合 15-30分钟 <10秒 90-180x
命令执行与结果收集 3-5分钟/次 <2秒/次 90-150x
重复任务批量执行 因任务而异 线性缩减 5-50x
错误排查与修复 10-30分钟 <30秒 20-60x

优势对比

对比维度 AWS免费版 传统手动方式 通用脚本工具
自动化程度 全流程自动 完全手动 部分自动
错误处理 内置错误恢复 依赖人工经验 基本try-catch
可复用性 参数化配置 一次性脚本 模板化
安全合规 内置安全检查 无安全保障 无安全保障
适用场景 通过AWS CLI执行 通用场景 通用场景

AWS免费版通用排查步骤

  1. 检查输入参数: 确认所有必填参数已提供且格式正确
  2. 查看日志输出: 定位具体错误行和异常类型
  3. 验证环境配置: 确认依赖库版本和运行环境满足要求
  4. 逐步调试: 缩小问题范围,隔离故障模块

用户咨询

异常处置

针对AWS免费版使用中可能遇到的常见问题,提供以下排查方案:

错误类型 原因分析 解决方案
API认证失败(401) API密钥错误或过期 检查密钥配置,重新生成token
接口限流(429) 请求频率超出限制 降低调用频率,启用重试退避策略
响应超时(504) 网络延迟或服务端负载过高 增加超时阈值,检查网络连接
文件不存在 路径错误或文件未创建 检查路径拼写,确认文件已生成
文件格式不支持 扩展名不在支持列表中 转换为支持的格式后重试
权限不足 当前用户无读写权限 检查文件权限,以管理员身份运行
命令执行失败 参数错误或环境依赖缺失 检查命令语法,确认依赖已安装
进程超时 命令执行时间过长 增加超时设置,优化命令参数
网络连接失败 DNS解析失败或防火墙拦截 检查网络配置,确认代理设置