Skip to content

OpenClaw AWS 部署实战手册:EC2 + S3 三分钟极速上线

2026年4月8日

OpenClaw AWS 部署实战手册:EC2 + S3 三分钟极速上线

AWS 是全球最大的云服务商,提供弹性扩展、全球加速和成本优化。本文详解 OpenClaw 在 AWS 的完整部署流程,从 EC2 选型到 S3 存储,一站式解决海外用户部署需求。

AWS 部署优势

优势说明
弹性扩展自动扩缩容,应对流量高峰
全球加速30+ 区域,就近访问
成本优化Spot 实例节省 90%
安全合规SOC/ISO 认证

EC2 实例选型

实例类型推荐

类型实例规格vCPU内存适用场景月费用
t3.medium通用型24GB个人使用$30
t3.large通用型28GB小团队$60
c5.xlarge计算优化48GB高并发$120
r5.large内存优化216GB大数据处理$100

Spot 实例省钱

Spot 实例特点:
- 价格比按需实例低 60-90%
- 可能被回收(提前 2 分钟通知)
- 适合无状态、可中断的任务

推荐配置:
- 主服务:按需实例(稳定)
- 工作节点:Spot 实例(省钱)

快速部署流程

步骤 1:创建 EC2 实例

1. 登录 AWS 控制台:https://console.aws.amazon.com
2. 进入 EC2 控制台
3. 点击「Launch Instance」
4. 配置:
   - Name: openclaw-server
   - AMI: Ubuntu 22.04 LTS
   - Instance Type: t3.medium
   - Key Pair: 创建或选择现有密钥
   - Network Settings:
     * VPC: default
     * Subnet: public subnet
     * Auto-assign public IP: Enable
     * Security Group: 创建新组,开放端口:
       - SSH (22) - 来源:你的IP
       - HTTP (80) - 来源:0.0.0.0/0
       - HTTPS (443) - 来源:0.0.0.0/0
       - Custom (3000) - 来源:0.0.0.0/0
   - Storage: 30GB gp3
5. Launch Instance

步骤 2:一键部署

bash
# SSH 连接实例
ssh -i your-key.pem ubuntu@your-ec2-public-ip

# 一键部署脚本
curl -fsSL https://install.openclaw.ai/aws.sh | bash

# 部署过程
[2026-04-08 19:30:00] 开始安装 OpenClaw...
[2026-04-08 19:30:05] ✅ 系统环境检查
[2026-04-08 19:30:10] ✅ 禁用 SELinux
[2026-04-08 19:30:15] ✅ 安装 Node.js 20.x
[2026-04-08 19:30:30] ✅ 安装 PM2
[2026-04-08 19:30:40] ✅ 下载 OpenClaw
[2026-04-08 19:30:55] ✅ 配置监听 0.0.0.0
[2026-04-08 19:31:00] ✅ 启动服务

=====================================
    OpenClaw 部署成功!
=====================================
访问地址:http://your-ec2-public-ip:3000
管理员账号:admin
初始密码:xxxx1234
=====================================

步骤 3:验证访问

bash
# 健康检查
curl http://localhost:3000/health

# 输出
{"status":"healthy","version":"2026.4.0"}

安全组配置详解

推荐安全组规则

入站规则 (Inbound Rules):
┌──────────┬────────────────┬──────────┬─────────────────┐
│ 类型     │ 来源           │ 端口     │ 说明            │
├──────────┼────────────────┼──────────┼─────────────────┤
│ SSH      │ 你的IP/32      │ 22       │ 仅允许你的IP    │
│ HTTP     │ 0.0.0.0/0      │ 80       │ HTTP访问        │
│ HTTPS    │ 0.0.0.0/0      │ 443      │ HTTPS访问       │
│ Custom   │ 0.0.0.0/0      │ 3000     │ OpenClaw端口    │
└──────────┴────────────────┴──────────┴─────────────────┘

⚠️ 安全建议:
- SSH 端口限制为你的IP,禁止公网访问
- 生产环境关闭 3000 端口,使用 Nginx 反代

AWS CLI 配置安全组

bash
# 获取安全组ID
SG_ID=$(aws ec2 describe-instances \
  --filters "Name=tag:Name,Values=openclaw-server" \
  --query "Reservations[0].Instances[0].SecurityGroups[0].GroupId" \
  --output text)

# 添加规则
aws ec2 authorize-security-group-ingress \
  --group-id $SG_ID \
  --protocol tcp \
  --port 3000 \
  --cidr 0.0.0.0/0

S3 对象存储配置

创建 S3 存储桶

1. 进入 S3 控制台
2. 点击「Create bucket」
3. 配置:
   - Bucket name: openclaw-storage-your-name
   - Region: 与 EC2 同区域
   - Block Public Access: 启用(私有访问)
   - Versioning: 禁用
   - Default encryption: SSE-S3
4. Create bucket

配置 IAM 权限

json
// 创建 IAM 角色,附加以下策略
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::openclaw-storage-your-name",
        "arn:aws:s3:::openclaw-storage-your-name/*"
      ]
    }
  ]
}

OpenClaw 配置 S3

json
// config.json
{
  "storage": {
    "type": "s3",
    "config": {
      "bucket": "openclaw-storage-your-name",
      "region": "us-east-1",
      "accessKeyId": "${AWS_ACCESS_KEY_ID}",
      "secretAccessKey": "${AWS_SECRET_ACCESS_KEY}"
    }
  }
}

VPC 网络配置

网络架构

┌─────────────────────────────────────────────────────────────┐
│                        VPC (10.0.0.0/16)                     │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────────────┐     ┌─────────────────────┐        │
│  │  Public Subnet      │     │  Private Subnet     │        │
│  │  10.0.1.0/24        │     │  10.0.2.0/24        │        │
│  ├─────────────────────┤     ├─────────────────────┤        │
│  │ • NAT Gateway       │     │ • OpenClaw Server   │        │
│  │ • Load Balancer     │     │ • Database          │        │
│  │ • Bastion Host      │     │ • Redis             │        │
│  └─────────────────────┘     └─────────────────────┘        │
│                                                              │
│  Internet Gateway ←─────→ NAT Gateway                       │
└─────────────────────────────────────────────────────────────┘

创建 VPC

bash
# 使用 AWS CLI 创建 VPC
# 1. 创建 VPC
VPC_ID=$(aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --query 'Vpc.VpcId' \
  --output text)

# 2. 创建子网
PUBLIC_SUBNET=$(aws ec2 create-subnet \
  --vpc-id $VPC_ID \
  --cidr-block 10.0.1.0/24 \
  --query 'Subnet.SubnetId' \
  --output text)

PRIVATE_SUBNET=$(aws ec2 create-subnet \
  --vpc-id $VPC_ID \
  --cidr-block 10.0.2.0/24 \
  --query 'Subnet.SubnetId' \
  --output text)

# 3. 创建 Internet Gateway
IGW_ID=$(aws ec2 create-internet-gateway \
  --query 'InternetGateway.InternetGatewayId' \
  --output text)

aws ec2 attach-internet-gateway \
  --vpc-id $VPC_ID \
  --internet-gateway-id $IGW_ID

CloudFront CDN 加速

配置 CloudFront

1. 进入 CloudFront 控制台
2. 点击「Create distribution」
3. Origin Settings:
   - Origin Domain Name: your-ec2-public-ip
   - Origin Protocol Policy: HTTP Only
   - HTTP Port: 3000
4. Default Cache Behavior:
   - Viewer Protocol Policy: Redirect HTTP to HTTPS
   - Allowed HTTP Methods: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
   - Cache Policy: CachingDisabled(动态内容)
5. Settings:
   - Price Class: Use All Edge Locations
   - Alternate Domain Names: your-domain.com
   - Custom SSL Certificate: 选择证书
6. Create Distribution

自动扩缩容

Auto Scaling 配置

bash
# 1. 创建启动模板
aws ec2 create-launch-template \
  --launch-template-name openclaw-template \
  --launch-template-data '{
    "ImageId": "ami-xxxx",
    "InstanceType": "t3.medium",
    "KeyName": "your-key",
    "SecurityGroupIds": ["sg-xxxx"],
    "UserData": "'$(base64 -w0 <<'EOF'
#!/bin/bash
curl -fsSL https://install.openclaw.ai/aws.sh | bash
EOF
)'"
  }'

# 2. 创建 Auto Scaling Group
aws autoscaling create-auto-scaling-group \
  --auto-scaling-group-name openclaw-asg \
  --launch-template "LaunchTemplateId=lt-xxxx" \
  --min-size 1 \
  --max-size 5 \
  --desired-capacity 2 \
  --vpc-zone-identifier "subnet-xxxx"

监控与日志

CloudWatch 配置

1. 进入 CloudWatch 控制台
2. 创建告警:
   - CPU 使用率 > 80% 持续 5 分钟
   - 内存使用率 > 80%(需安装 CloudWatch Agent)
   - 磁盘使用率 > 80%
3. 配置通知:
   - 创建 SNS Topic
   - 订阅邮箱

安装 CloudWatch Agent

bash
# 安装
wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
sudo dpkg -i amazon-cloudwatch-agent.deb

# 配置
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

# 启动
sudo systemctl start amazon-cloudwatch-agent
sudo systemctl enable amazon-cloudwatch-agent

成本优化

月度费用估算

服务配置月费用
EC2 (t3.medium)按需$30
EBS (30GB gp3)SSD$3
数据传输100GB$9
S3 存储50GB$1
CloudFront100GB$9
总计-$52/月

省钱技巧

方法节省比例说明
Reserved Instance30-60%预留实例
Spot Instance60-90%竞价实例
Savings Plans20-40%承诺使用量
S3 Intelligent Tiering40%自动分层存储

故障排查

常见问题

问题原因解决方案
连接超时安全组未开放检查 Security Group
服务启动失败监听 127.0.0.1改为 0.0.0.0
权限错误IAM 权限不足检查 IAM 策略
存储空间满日志/数据过大扩容 EBS

排查命令

bash
# 查看实例状态
aws ec2 describe-instance-status --instance-ids i-xxxx

# 查看安全组规则
aws ec2 describe-security-groups --group-ids sg-xxxx

# 查看 CloudWatch 指标
aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 \
  --metric-name CPUUtilization \
  --dimensions Name=InstanceId,Value=i-xxxx \
  --start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
  --period 300 \
  --statistics Average

总结

步骤操作时间
创建 EC2选择配置2 分钟
一键部署执行脚本1 分钟
验证访问健康检查30 秒
总计-3 分钟

AWS 部署要点:

  • 实例类型:t3.medium 起,按需扩展
  • 安全组:限制 SSH,开放 HTTP/HTTPS
  • 存储方案:S3 对象存储 + EBS 块存储
  • 成本优化:Spot 实例节省 60-90%

AWS 提供全球基础设施和完善的服务生态,适合需要海外部署的企业用户。弹性扩展和按需付费让成本可控,CloudWatch 监控保障服务稳定。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来