OpenClaw AWS Infra 技能指南
管理 AWS 基础设施(EC2/S3/Lambda 等)。
最后更新: 2026-03-10
快速安装
$ npx clawhub@latest install aws-infra核心功能
OpenClaw AWS Infra 技能概述
AWS Infra 技能通过 AWS CLI 及相关工具将 OpenClaw 连接到 Amazon Web Services。安装后,你的 OpenClaw 代理即可创建资源、管理 IAM 策略、调试权限问题并优化云成本——所有操作均通过自然语言命令完成。
AWS 是全球最大的云平台,提供超过 200 种服务。其 CLI 涵盖范围巨大,包含数千个子命令和配置选项。OpenClaw AWS Infra 技能让你无需记忆复杂的 aws 命令和 JSON 策略文档。无需在 AWS 控制台中导航或阅读冗长的文档,你只需描述需求,代理会处理剩下的工作。
典型工作流程:
- 让 OpenClaw 检查你在 us-east-1 区域的 EC2 实例状态。
- 代理使用适当的过滤器运行
aws ec2 describe-instances。 - 结果以易读的摘要形式返回,包含实例 ID、状态和成本——无需切换上下文。
该技能涵盖 AWS 核心服务,包括 EC2、S3、Lambda、IAM、VPC、CloudFormation、CloudWatch、RDS 和 DynamoDB。对于运行 EKS 集群的团队,它可以与 Kubernetes 技能搭配使用;对于基于容器的部署,可以与 Docker Essentials 技能搭配使用。
AWS Infra 技能安装前的准备
在安装 AWS Infra 技能之前,请确保满足以下条件:
- OpenClaw 已安装并运行(v1.0+)
- AWS CLI v2 已安装 — 安装指南
- 已配置 IAM 凭证的 AWS 账户
- 已安装 clawhub CLI 用于技能管理
验证你的环境:
# 检查 OpenClaw 版本 openclaw --version # 检查 AWS CLI 版本 aws --version # 验证 AWS 身份认证 aws sts get-caller-identity # 列出已配置的配置文件 aws configure list-profiles
如果 aws sts get-caller-identity 返回错误,你需要配置凭证。运行 aws configure 或按照下方配置部分中的说明设置环境变量。
如何安装 AWS Infra 技能
使用一条命令安装 AWS Infra 技能:
npx clawhub@latest install aws-infra
验证安装:
clawhub list
你应该能在已安装技能列表中看到 aws-infra。该技能包含用于成本分析、IAM 策略调试、安全审计和资源清单的辅助脚本。
AWS Infra 技能配置指南
AWS Infra 技能使用你现有的 AWS CLI 配置进行身份认证。无需额外的 API 密钥——只要 aws 命令在你的机器上能正常运行,该技能就能正常工作。
凭证设置
AWS 支持多种认证方式。选择适合你工作流程的方式:
# 选项 1:使用访问密钥配置(基本设置) aws configure # 输入:AWS Access Key ID、Secret Access Key、默认区域、输出格式 # 选项 2:使用环境变量 export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_DEFAULT_REGION=us-east-1 # 选项 3:使用 AWS SSO(推荐用于组织) aws configure sso aws sso login --profile my-sso-profile # 选项 4:使用 IAM 角色(推荐用于 EC2/ECS 工作负载) # 无需配置——SDK 会自动使用实例角色
配置文件管理
对于多账户设置,使用命名配置文件来区分不同环境:
# 配置预发布环境的配置文件 aws configure --profile staging # 配置生产环境的配置文件 aws configure --profile production # 使用指定的配置文件 export AWS_PROFILE=staging
重要提示: 切勿使用根账户凭证。请创建具有最小权限的专用 IAM 用户或角色。使用密钥管理工具(如 1Password 技能)或环境变量安全地存储凭证。
AWS Infra 技能使用示例
1. 调试 IAM 权限错误
你: "我在尝试向 reports S3 存储桶写入数据时收到 AccessDenied 错误。帮我修复 IAM 策略。"
代理运行 aws iam get-user-policy 和 aws s3api get-bucket-policy 来检查你当前的权限。它会识别出缺少的 s3:PutObject 操作,并建议一个包含所需最小权限的更新策略文档。
2. 创建 EC2 实例
你: "在 us-west-2 启动一个 t3.medium 的 Ubuntu 实例,配置 50GB EBS 卷并使用我的默认安全组。"
代理使用 aws ec2 run-instances,自动获取 us-west-2 中最新 Ubuntu LTS 的正确 AMI ID,挂载 EBS 卷并分配安全组。它会返回实例 ID、公有 IP 和预估每小时费用。
3. 分析和优化成本
你: "显示本月我最贵的 5 项 AWS 服务,并建议降低成本的方法。"
代理使用 aws ce get-cost-and-usage 查询 AWS Cost Explorer,按服务细分支出,并找出优化机会——例如未使用的 EBS 卷、过大的实例,或可以降低存储成本的 S3 生命周期策略。
4. 配置 VPC 网络
你: "创建一个 VPC,包含跨两个可用区的公有和私有子网,并为私有子网配置 NAT 网关以访问互联网。"
代理生成并执行必要的 aws ec2 命令来创建 VPC、子网、路由表、互联网网关和 NAT 网关。它会返回所有创建资源的摘要,包含资源 ID 和 CIDR 范围。
5. 使用 CloudWatch 监控
你: "设置一个 CloudWatch 告警,当 API 服务器的 CPU 使用率在 5 分钟内超过 80% 时通知我。"
代理使用 aws cloudwatch put-metric-alarm 创建告警,配置评估周期和阈值,并将其连接到 SNS 主题以发送邮件通知。它会确认告警已激活,并提供 ARN 以供参考。
安全与最佳实践
AWS 基础设施操作可能对你的云环境和成本产生重大影响。请遵循以下准则以确保安全:
- 使用最小权限 IAM 策略。 创建仅具有任务所需权限的专用 IAM 用户或角色。AWS IAM 最佳实践指南详细介绍了策略设计。
- 切勿使用根凭证。 始终使用 IAM 用户或角色。在根账户上启用 MFA 并妥善保管。
- 按区域和账户限定范围。 使用命名配置文件和环境变量来防止在错误的账户或区域中进行意外更改。
- 执行前先审查。 OpenClaw 在创建、修改或删除资源前会提示确认。请始终审查提议的更改和预估成本。
- 启用 CloudTrail。 配置 AWS CloudTrail 以记录通过该技能发起的所有 API 调用。定期审查日志。
- 为所有资源添加标签。 使用一致的标签进行成本追踪和归属管理。要求代理为其创建的每个资源添加
Environment、Project和Owner标签。
常见错误与故障排除
"Unable to locate credentials"
AWS CLI 无法在任何标准位置找到有效的凭证。
# 检查当前凭证 aws sts get-caller-identity # 重新配置凭证 aws configure # 或设置环境变量 export AWS_ACCESS_KEY_ID=your_key_id export AWS_SECRET_ACCESS_KEY=your_secret_key
如果使用 SSO,请运行 aws sso login 来刷新会话。
"An error occurred (AccessDenied)"
你的 IAM 用户或角色缺少请求操作所需的权限。
- 检查你当前的身份:
aws sts get-caller-identity - 查看已附加的策略:
aws iam list-attached-user-policies --user-name your-user - 使用 IAM Policy Simulator 测试权限:访问 IAM Policy Simulator
- 联系你的账户管理员授予所需的特定权限。
"An error occurred (InvalidParameterValue)"
请求中的参数不正确或与目标区域不兼容。
- 验证资源是否存在于指定区域:
aws ec2 describe-instances --region us-east-1 - 检查 AMI ID 是否为区域特定的——us-east-1 的 AMI 无法在 eu-west-1 中使用。
- 验证安全组 ID 是否属于正确的 VPC。
常见问题
是的,只要配置了正确的 IAM 权限范围。该技能遵循 OpenClaw 的确认模型——资源的创建、修改和删除都需要你在执行前明确批准。我们建议创建一个专用 IAM 角色,权限仅限于你需要的服务和区域。为预发布和生产环境使用不同的 AWS 配置文件,并在连接生产账户前始终查看[安全检查清单](/skills#safety)。
AWS Infra 技能管理 AWS 原生服务——EC2、S3、Lambda、IAM、VPC 等。[Kubernetes 技能](/skills/kubernetes)在容器编排层面操作,管理任何 Kubernetes 集群(包括 Amazon EKS)上的 Pod、Deployment 和 Service。对于运行 EKS 的团队,两个技能可以互补使用:使用 AWS Infra 进行集群配置、网络和 IAM 角色管理,使用 Kubernetes 进行集群内的工作负载管理。
可以。该技能使用你的 AWS CLI 配置文件在不同账户间切换。如果你为开发、预发布和生产账户配置了不同的配置文件,可以通过名称让 OpenClaw 指定目标账户。运行 `aws configure list-profiles` 查看可用的配置文件,然后告诉代理使用哪个配置文件。对于使用 AWS Organizations 的组织,建议使用 AWS SSO 在所有账户间进行集中访问管理。