OpenClaw 部署教程:Bedrock + IAM 零密钥方案,告别 API Key(附 Lightsail 一键安装)

22 阅读1分钟

OpenClaw 部署教程:Bedrock + IAM 零密钥方案,告别 API Key(附 Lightsail 一键安装)

OpenClaw(社区昵称"龙虾"🦞)是 2026 年 GitHub 上增长速度极快的开源 AI 助手框架,能 24/7 在线帮你处理消息、执行命令、管理文件。本文教你用亚马逊云科技的两种方式部署它——关键是:不需要任何 API Key

为什么要告别 API Key?

翻一翻现有的 OpenClaw 部署教程,几乎每篇都让你把第三方大模型的 API Key 明文写进配置文件。这有几个问题:

  • 安全隐患:API Key 就像密码,写在文件里容易泄露。你电脑上跑的其他软件、误上传的 Git 仓库、甚至队友帮你调试时看到——任何一个环节都可能出事
  • 管理麻烦:Key 过期了要手动换、不同模型有不同的 Key、额度用完了要重新申请
  • 审计困难:谁调了多少次 API?用了哪些模型?没有日志可查

亚马逊云科技的 Amazon Bedrock 搭配 IAM 角色认证,可以做到:

  • 零密钥:EC2 实例通过 IAM 角色自动获取临时凭证,配置文件里不需要写任何密钥
  • 自动轮换:临时凭证每小时自动刷新,不存在泄露风险
  • 完整审计:每次 API 调用都有 CloudTrail 日志,谁调的、什么时候、用了什么模型
  • 多模型切换:Bedrock 统一接口支持 Claude、Nova、DeepSeek 等多个模型,改一个参数就能换

下面是两种部署方式。


方案 A:Lightsail 一键部署(5 分钟上手)

Amazon Lightsail 是亚马逊云科技的轻量级云服务器,固定月费。官方已经上架了 OpenClaw 蓝图(Blueprint ID: openclaw_ls_1_0),开箱即用。

第 1 步:创建实例

还没有亚马逊云科技账号?点此免费注册,Lightsail 新用户前 3 个月可免费试用部分套餐。

  1. 打开 Lightsail 控制台
  2. 点击 Create instance
  3. 选择区域(推荐 us-east-1
  4. 平台选 Linux/Unix
  5. 蓝图(Blueprint,即预装好软件的系统模板)选 OpenClaw
  6. 选择实例规格:
规格vCPU内存SSD月费适合场景
small_3_022GB60GB$12个人体验
medium_3_024GB80GB$24推荐,日常使用
large_3_028GB160GB$44多人/多渠道

💡 个人体验 12/月够用,多人用建议12/月够用,多人用建议 24 起。仅 IPv6 的版本更便宜(10/10/20/$40),如果你不需要公网 IPv4。

  1. 点击 Create instance,等 2-3 分钟

第 2 步:配对浏览器

  1. 在 Lightsail 控制台进入实例 → ConnectConnect using SSH
  2. 终端显示的控制台 URL 和访问令牌记下来
  3. 浏览器新标签打开 URL,粘贴令牌
  4. SSH 终端中输入 y 确认,a 批准配对

第 3 步:启用 Bedrock

  1. 复制 Lightsail 入门页提供的配置脚本
  2. CloudShell 中运行
  3. 脚本自动创建 IAM 角色并授权 Bedrock

完成!回到 OpenClaw 控制台就能开始聊天了。全程没有输入过任何 API Key。

📖 详细步骤参考官方博客:推出 OpenClaw on Amazon Lightsail


方案 B:EC2 手动部署(完全掌控每一步)

想深入理解每个组件,或者想用 Graviton ARM 实例省钱?手动部署更灵活。

前提

  • 一个亚马逊云科技账号
  • Bedrock 控制台 的 Model access 中启用了 Nova 系列模型

第 1 步:创建 IAM 角色(关键的安全步骤)

这一步用 IAM 角色替代 API Key,是整个方案的核心。

  1. 进入 IAM 控制台RolesCreate role
  2. Trusted entity type 选 服务,Use case 选 EC2,Next
  3. 搜索 AmazonBedrockFullAccess,勾选,Next
  4. Role name 填 OpenClaw,Create role

⚠️ AmazonBedrockFullAccess 适合快速上手。生产环境建议创建自定义策略,只授予你需要的模型和操作权限。

第 2 步:启动 EC2 实例

进入 EC2 控制台Launch instances

配置项说明
AMIUbuntu Server 24.04 LTS (ARM)AMI ID: ami-0f1b9964277dbd54e(us-east-1)
实例类型t4g.medium2 vCPU, 4GB RAM, Graviton ARM
Key pair你的 SSH 密钥没有就 Create new
存储20GB gp3够用

为什么选 t4g.medium(ARM/Graviton)?

类型架构配置小时价月费(估算)
t4g.mediumARM2C 4GB$0.0336~$24
t3.mediumx862C 4GB$0.0416~$30

同配置 ARM 比 x86 便宜约 20%。OpenClaw 是 Node.js 应用,在 ARM 上运行完全正常(本文就是在 ARM 实例上写的)。

启动后,选中实例 → ActionsSecurityModify IAM role → 选择 OpenClaw 角色。

第 3 步:SSH 登录 & 安装

ssh -i "your-key.pem" ubuntu@<EC2 公网 IP>

安装 Node.js 和 OpenClaw:

# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.nvm/nvm.sh

# 安装 Node.js
nvm install 24
node -v   # v24.x.x

# 安装 OpenClaw
npm install -g openclaw@latest
openclaw --version

第 4 步:配置向导

openclaw onboard --install-daemon

关键选项:

配置项选这个
ModeManual
GatewayLocal gateway
Model provideramazon-bedrock
Default modelus.amazon.nova-2-lite-v1:0
Gateway authtoken(设一个密码)
Channels / Skills先 Skip

第 5 步:配置 Bedrock 模型

编辑 ~/.openclaw/openclaw.json,在 models 部分加入(合并,不要覆盖整个文件):

{
  "models": {
    "providers": {
      "amazon-bedrock": {
        "baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com",
        "api": "bedrock-converse-stream",
        "auth": "aws-sdk",
        "models": [
          {
            "id": "us.amazon.nova-2-lite-v1:0",
            "name": "Nova 2 Lite(日常对话,高性价比)",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": { "input": 0.06, "output": 0.24 },
            "contextWindow": 300000,
            "maxTokens": 8192
          },
          {
            "id": "us.amazon.nova-pro-v1:0",
            "name": "Nova Pro(复杂推理)",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": { "input": 0.80, "output": 3.20 },
            "contextWindow": 300000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

三个关键点:

  1. "auth": "aws-sdk" —— 使用 IAM 角色认证,不需要写 Key
  2. us. 前缀的模型 ID —— 这是 Inference Profile,启用了跨区域自动路由(CRIS)。某个区域繁忙时请求会自动切到其他区域,避免排队
  3. 两个模型并存 —— 简单任务用 Nova 2 Lite(0.06/百万token),复杂任务用NovaPro0.06/百万 token),复杂任务用 Nova Pro(0.80/百万 token),按需切换

第 6 步:启动

openclaw gateway restart
openclaw status

浏览器打开 http://<EC2 IP>:18789/?token=<你的密码> 即可使用。


验证:确认 Bedrock 连通

部署完想确认 Bedrock 通了?在实例上跑这段 Python(已实测通过):

import boto3, json

# 在 EC2 上不需要传 credentials,IAM Role 自动生效
bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')

response = bedrock.invoke_model(
    modelId='us.amazon.nova-2-lite-v1:0',
    contentType='application/json',
    accept='application/json',
    body=json.dumps({
        "messages": [{"role": "user", "content": [{"text": "你好,用一句话介绍你自己"}]}],
        "inferenceConfig": {"maxTokens": 200}
    })
)

result = json.loads(response['body'].read())
print(result['output']['message']['content'][0]['text'])
# 输出: 我是一个人工智能助手,我可以帮助你回答问题、提供信息、生成文本,并支持多轮对话。

如果你想验证 IAM 角色是否正确绑定:

import boto3

sts = boto3.client('sts', region_name='us-east-1')
print(sts.get_caller_identity())
# 应该看到你的 Account ID 和 Role ARN,而不是 User ARN

下一步

部署完了只是起点。后续文章会讲:

  • 接入苹果生态:在 Mac 云实例上跑 OpenClaw + iMessage 自动化
  • AI 自主运维:让 OpenClaw 自己开服务器、部署新实例
  • 多 Agent 架构:一个实例跑多个 AI 助手,按群/按人隔离
  • 成本压到极限:Nova Lite + Graviton + 混合路由策略

关注亚马逊云开发者账号获取更新。


参考链接


本文是「OpenClaw 云上实战指南」系列第 1 篇。 作者:亚马逊云开发者 | 所有代码均在 us-east-1 区域实测通过