亚马逊云服务器(Amazon EC2)是全球领先的云计算平台之一,凭借弹性计算资源和按需付费的优势,成为部署AI应用的理想选择。本文详细介绍如何在亚马逊云服务器EC2上安装并配置OpenClaw,相比本地部署受限于单机性能,云端部署可随时调度计算资源,无需硬件投资和折旧成本,并支持打通即时通讯软件(如Slack),实现7×24小时AI自动化工作流程。
🔗 官网入口:点击访问 亚马逊云科技 官网
一、前提条件
- 注册一个亚马逊云科技账户
- 安装Node.js v24或更高版本
- 已在Amazon Bedrock控制台中启用Nova模型访问权限
二、创建IAM角色
- 在亚马逊云科技控制台中导航至IAM
- 从左侧导航栏选择Roles(角色)
- 选择Create role(创建角色),Trusted entity type选择AWS service,Use case选择EC2(亚马逊云服务器),然后点击Next(下一步)
- 在Permissions policies(权限策略)下,选择AmazonBedrockFullAccess
- Role name填写OpenClaw,其他保持默认配置,点击Create role(创建用户)
安全最佳实践: 在生产环境中,建议使用最小权限原则,创建自定义策略仅授予所需的Bedrock操作权限,而非使用FullAccess策略。
三、亚马逊云服务器安装并配置OpenClaw
在亚马逊云科技控制台中导航至EC2,从左侧导航栏选择Instances(实例),选择Launch instances(创建实例)并选择:
- Application and OS Images:Ubuntu Server 24.04 LTS
- Instance type:t3.medium(也可以选择苹果实例:mac2.metal)
- Key pair (login):选择您的用于SSH的key pair,若无则点击Create new key pair创建
- Network Settings:保持默认即可,但确保Auto-assign public IP是Enable的
- Configure storage:按需配置硬盘大小,建议至少20G
- 点击Launch instance
待实例创建完毕后进入Running状态后,选中你刚创建的EC2实例,点击Actions > Security > Modify IAM role,将刚创建好的IAM Role赋予到亚马逊云服务器EC2实例中,然后实例会进入Initializing状态,等待它重新进入Running状态后继续下一步。
通过SSH登录刚创建好的亚马逊云服务器EC2 instances,-i "xxx.pem"请修改成您创建的keypair的pem文件的绝对路径,您也可以通过VS Code的SSH功能登录到EC2,方便后续的配置文件编辑。
ssh -i "xxxx.pem" ubuntu@ec2-44-198-55-114.compute-1.amazonaws.com
验证是否已安装Node.js:
node --version
参考下列命令进行安装:
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 24
# Verify the Node.js version:
node -v # Should print "v24.13.0".
# Verify npm version:
npm -v # Should print "11.6.2".
安装OpenClaw (Clawdbot):
npm install -g openclaw@latest
重要提示: 截至2026年1月27日,npm包名仍为clawdbot,因此在npm包名更新为OpenClaw之前,请使用clawdbot执行所有命令。
验证安装:
openclaw --version
运行配置向导:
openclaw onboard --install-daemon
在配置向导中:
- 接受安全提示,选择Yes
- 选择Manual onboarding mode(手动配置模式)
- 选择Local gateway (this machine)(本地网关(本机))
- 设置您的工作区目录,您也可以保持默认的
/home/ubuntu/clawd直接到下一步 - Model/auth provider: Skip for now
- Filter models by provider:选择amazon-bedrock
- Default model:选择global.amazon.nova-2-lite-v1:0
- 接受Gateway port和Gateway bind的默认配置(端口18789,回环地址127.0.0.1)
- Gateway auth选择token,Gateway token记得输入你的自定义的token字符串(也就是密码),在webUI的URL上会需要用到
- 完成剩下的配置,其中记住chat channels、skills、hooks都选Skip或者No
- How do you want to hatch your bot? 选择Do this later
四、配置亚马逊云科技凭证
OpenClaw (Clawdbot) 从 ~/.openclaw/.env 读取环境变量。使用以下选项A或选项B创建此文件并配置亚马逊云科技凭证:
选项 A:使用IAM角色(推荐用于生产)
因为EC2已配置好了IAM Role,OpenClaw (Clawdbot) 会通过AWS SDK自动使用实例角色的临时凭证,所以你无需进行任何操作。
选项 B:使用亚马逊云科技访问密钥(仅推荐用于测试)
- 在IAM创建一个用户
- 在用户下面创建一个AK、SK
根据AKSK配置env文件:
cat > ~/.openclaw/.env << 'EOF'
AWS_ACCESS_KEY_ID=your-access-key-id-here
AWS_SECRET_ACCESS_KEY=your-secret-access-key-here
AWS_REGION=us-east-1
EOF
将 your-access-key-id-here 和 your-secret-access-key-here 替换为实际的亚马逊云科技凭证。
安全提示: 只供测试使用,非安全选项。
五、在clawdbot.json中添加Nova 2 Lite
执行 nano ~/.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": "Amazon Nova 2 Lite (US Inference Profile)",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 300000,
"maxTokens": 8192
}
]
}
}
}
}
重要提示: 请将此内容合并到现有的clawdbot.json中,不要替换整个文件。合并后的文件应类似于以下示例:
{
"messages": {
"ackReactionScope": "group-mentions"
},
"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": "Amazon Nova 2 Lite (US Inference Profile)",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 300000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"compaction": {
"mode": "safeguard"
},
"workspace": "/Users/yungjunyong/clawd",
"model": {
"primary": "amazon-bedrock/us.amazon.nova-2-lite-v1:0"
},
"models": {
"amazon-bedrock/us.amazon.nova-2-lite-v1:0": {}
}
}
},
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "undefined"
},
"port": 18789,
"bind": "loopback",
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"wizard": {
"lastRunAt": "2026-01-27T18:09:07.983Z",
"lastRunVersion": "2026.1.24-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"meta": {
"lastTouchedVersion": "2026.1.24-3",
"lastTouchedAt": "2026-01-27T18:09:07.992Z"
}
}
六、重启网关
执行以下命令重启网关:
openclaw daemon restart
七、验证设置
检查模型是否可用并已通过认证:
openclaw models list
应该看到类似以下的输出:
Model Input Ctx Local Auth Tags
amazon-bedrock/us.amazon.nova-2-lite-v1:0 text+image 31k no yes default,configured
Auth: yes 列确认您的亚马逊云科技凭证已正常工作。
查看所有可用的Bedrock模型:
openclaw models list --all
八、开始使用OpenClaw
启动终端用户界面:
openclaw tui
打开VS Code用SSH连接到亚马逊云服务器EC2实例,或者可以使用端口转发工具,将EC2上的端口18789转发到本地。
浏览器打开 http://localhost:18789/?token=<在前面设置好的gateway token>,即可开始交互和配置。
九、打通即时通讯软件(Slack示例)
1、Slack连接设置
重点来了。 做一个Slack机器人的连接需要两种不同的Token:
- Bot Token(xoxb-…)
- App Token(xapp-…)
在onboard设置时会依次询问,请务必记得保存这两个令牌。
(1)创建Slack App
- 访问
https://api.slack.com/apps - 选择「Create New App」→「From scratch」
- 输入App名称并选择你需要创建OpenClaw的Workspace,然后创建
(2)获取App Token(xapp-…)
- 进入「Basic Information」→「App-Level Tokens」部分
- 点击「Generate Token and Scopes」
- 输入Token名称(例如:Clawdbot_Token)
- 在Scope中添加connections:write
- 点击「Generate」
- 复制显示的
xapp-…令牌
(3)启用Socket Mode
- 从左侧菜单选择「Socket Mode」
- 将开关设为ON
(4)设置Bot Token Scopes
选择「OAuth & Permissions」,在「Bot Token Scopes」中添加以下权限:
chat:write
channels:history
channels:read
groups:history
groups:read
im:history
im:read
im:write
mpim:history
mpim:read
users:read
app_mentions:read
(5)安装到工作区
- 把Scope配置好后,在「OAuth & Permissions」页面顶部点击「Install to Workspace」
- 确认权限后点击「允许」
- 复制显示的「Bot User OAuth Token」(
xoxb-…)
完成以上步骤后,你就能获得appToken和botToken了。分别复制它们并粘贴到终端中。
(6)groupPolicy设置
如果只想在特定频道使用,可以将groupPolicy设为allowlist,然后复制粘贴要使用的Slack频道。如果没有特别限制,或者希望在任何地方都能使用,设为all即可。
Event Subscriptions设置:
- 选择「Event Subscriptions」
- 将开关设为ON
在「Subscribe to bot events」中添加以下事件:
message.channels
message.groups
message.im
message.mpim
app_mention
(7)App Home设置
如果不仅想在频道中使用,还想通过DM(1:1私信)与应用对话,也需要设置这一项。
- 选择「App Home」
- 将「Messages Tab」设为ON
- 勾选「Allow users to send Slash commands and messages from the messages tab」
注意:如果忘记这一步,会显示「向此应用发送消息的功能已关闭」,请务必注意。如果不需要DM功能,可以跳过。
(8)配置OpenClaw
浏览器打开 http://localhost:18789/?token=<在前面设置好的gateway token>,进入Settings > Config > Channel,选择Raw配置模式,在json配置文件里插入下列配置,点击Save,然后Reload。
"channels": {
"slack": {
"mode": "socket",
"webhookPath": "/slack/events",
"enabled": true,
"botToken": "xoxb-……",
"appToken": "xapp-……",
"userTokenReadOnly": true,
"groupPolicy": "allowlist",
"channels": {
"openclaw": {
"allow": true
}
}
}
}
用命令行检查status,若出现下列输出,则已成功:
openclaw status
Channels
┌──────────┬─────────┬────────┬─────────────────────────────────┐
│ Channel │ Enabled │ State │ Detail │
├──────────┼─────────┼────────┼─────────────────────────────────┤
│ Slack │ ON │ OK │ tokens ok (bot config, app … │
└──────────┴─────────┴────────┴─────────────────────────────────┘
(9)Slack配对
打开Slack,搜索你机器人的名字,进行Direct Message,第一次对话,Bot会要求用Pairing Code和OpenClaw进行配对,拿到code在OpenClaw的亚马逊云服务器EC2上运行命令进行配对。
看到下列输出证明你已配对成功:
ubuntu@ip-172-31-xx-xxx:~$ openclaw pairing approve slack xxxxx
? openclaw 2026.1.24-3 (885167d)
Hot reload for config, cold sweat for deploys.
Approved slack sender xxxxx.
打开手机Slack,就可以享受你的超级AI助理帮你7×24小时干活了。
2、灵活切换模型
Amazon Bedrock的核心优势之一是模型的灵活选择。您可以根据任务需求随时切换不同的模型:
切换到Minimax M2:
openclaw config set agents.defaults.model.primary "amazon-bedrock/global.minimax.minimax-m2"