从单机到云原生,6 种方式将 OpenClaw 龙虾助手完美运行在 AWS 上。选择最适合你的方案,轻松上云。
从简单的单机部署到高可用的 K8s 集群,总有一种适合你的场景
最直接的方式。在 EC2 实例上直接安装 Node.js,通过 npm 安装 OpenClaw 并运行。适合开发测试或轻量个人使用,完全掌控底层环境。
推荐实例:t3.micro(免费额度)、t3.small、t3.medium
操作系统:Amazon Linux 2023 / Ubuntu 22.04 LTS
在 EC2 上运行 Docker,通过 docker-compose 部署 OpenClaw。环境隔离、便于迁移,适合多服务并存场景。
推荐配置:t3.small 以上,开启 EBS gp3 磁盘
配套:Nginx 反向代理 + Let's Encrypt SSL 自动续签
无需管理服务器,AWS 全托管底层基础设施。将 OpenClaw 打包为容器镜像推送 ECR,由 Fargate 按需调度,按实际 vCPU/内存秒级计费。
适合:按需运行、无流量时近零成本、自动扩缩容
配套:ALB 负载均衡、CloudWatch 日志、ECR 镜像仓库
ECS 集群运行在自管 EC2 实例上,兼顾容器编排能力与更低的计算成本。适合需要稳定算力、对 GPU 或特殊实例有要求的场景。
优势:成本比 Fargate 低 30-50%,可使用竞价实例 Spot
支持:ECS Service Connect、蓝绿部署、Service Discovery
在托管 Kubernetes 集群上部署 OpenClaw。适合已有 K8s 技术栈的团队,支持 Helm Chart 一键部署、HPA 自动伸缩、多租户隔离。
亮点:Ingress Controller、Cert-Manager 自动 SSL、Kustomize 多环境管理
支持:EKS Anywhere、Fargate Profile 混合调度
AWS 的 PaaS 平台,类似 Heroku 体验。只需上传代码/容器,Beanstalk 自动处理底层 EC2、负载均衡、Auto Scaling、监控等一切。
适合:不想运维的开发者、快速 PoC 验证
支持:Node.js / Docker 平台、一键回滚、蓝绿部署
将 OpenClaw 的 Webhook 处理层拆分为 Lambda 函数,通过 API Gateway 接收来自 Discord/Telegram/WeChat 的回调。 适合极低频率使用、极致降成本场景(每月前 100 万次调用免费)。 持久化状态需配合 DynamoDB 或 ElastiCache Redis。注意 Lambda 有 15 分钟超时限制,长任务需用 Step Functions 编排。
在成本、运维复杂度、可扩展性等维度全面比较,帮你快速选型
| 部署方式 | 月成本估算 | 运维复杂度 | 水平扩展 | 高可用 | 启动速度 | 最适场景 |
|---|---|---|---|---|---|---|
| 🖥️ EC2 裸机 | ~$0(免费层) | ★ 极低 | 手动 | 单点故障 | 秒级 | 个人 / 开发测试 |
| 🐳 EC2 + Docker | ~$10-30 | ★★ 低 | 有限 | 可配置 | 秒级 | 小团队 / 生产 |
| 🚀 ECS Fargate | ~$20-60 | ★★★ 中 | 自动 | 高可用 | ~30s 冷启动 | 中等规模 SaaS |
| 📦 ECS on EC2 | ~$15-40 | ★★★ 中 | 自动 | 高可用 | 秒级 | 成本敏感型生产 |
| ⚙️ EKS | ~$80+ | ★★★★★ 高 | HPA 自动 | 极高可用 | 秒级 | 企业 / 多服务平台 |
| 🌱 Beanstalk | ~$15-50 | ★ 极低 | 自动 | 中等 | 2-5 min | 快速上线 / PoC |
| ⚡ Lambda | ~$0-5 | ★★★ 中 | 无限 | 高可用 | 冷启动 1-3s | 事件驱动 / 低频 |
以 EC2 裸机部署为例,5 步完成 OpenClaw 上线
在 AWS 控制台启动一台 Amazon Linux 2023 实例(t3.micro 即可),配置安全组开放 80、443、3000 端口,绑定弹性 IP(Elastic IP)。
# 更新系统 sudo dnf update -y # 安装 Node.js 20 LTS curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - sudo dnf install -y nodejs # 安装 PM2 进程守护 sudo npm install -g pm2
# 全局安装 openclaw sudo npm install -g openclaw # 初始化配置 openclaw init # 配置 AI 模型(Bedrock / OpenAI) openclaw config set model amazon-bedrock/us.anthropic.claude-sonnet-4-5
为 EC2 绑定 IAM Role,赋予 bedrock:InvokeModel 权限,无需硬编码任何 AK/SK。
{ "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": "arn:aws:bedrock:us-east-1::foundation-model/*" }
# 启动 OpenClaw Gateway pm2 start "openclaw gateway start" --name openclaw # 保存进程列表并设置开机启动 pm2 save && pm2 startup # 检查运行状态 pm2 status openclaw status
version: '3.9' services: openclaw: image: node:20-alpine working_dir: /app volumes: - ./workspace:/app/workspace - ./config:/root/.openclaw command: sh -c "npm i -g openclaw && openclaw gateway start" ports: - "3000:3000" restart: unless-stopped environment: - NODE_ENV=production nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./certs:/etc/letsencrypt depends_on: - openclaw
ECS Fargate + ALB + RDS + ElastiCache,适合中等规模稳定生产环境
┌─ AWS Cloud ────────────────────────────────────────────────────────────┐ │ │ │ 用户 📱 ──DNS──▶ Route 53 ──▶ CloudFront (CDN + DDoS 防护) │ │ ↓ │ │ ACM (免费 SSL 证书) │ │ ↓ │ │ Application Load Balancer (ALB) │ │ ↙ ↘ │ │ ECS Fargate Task ECS Fargate Task │ │ 🦞 OpenClaw :3000 🦞 OpenClaw :3000 ← Auto Scaling │ │ ↓ ↓ │ │ └────────────┬─────────────┘ │ │ ↓ │ │ ElastiCache Redis RDS PostgreSQL S3 Bucket │ │ (Session 缓存) (持久化数据) (文件/日志存储) │ │ │ │ CloudWatch Logs X-Ray Tracing Secrets Manager Bedrock API │ │ │ └────────────────────────────────────────────────────────────────────────┘
部署过程中最常遇到的问题与解决方案
推荐三种方式(按安全级别从高到低):
⚠️ 禁止将 API Key 硬编码在代码或 docker-compose.yml 中,也不要提交到 Git 仓库!
取决于使用频率和规模:
安全最佳实践:ALB 安全组开放 80/443,EC2 安全组只允许来自 ALB 安全组的 3000 端口流量,完全不对公网暴露应用端口。
面向全球用户的多区域部署方案:
SSM Session Manager 是更安全的 EC2 管理方式: