亚马逊云服务器EC2安装配置OpenClaw完整教程 - 实现7×24 AI自动化

亚马逊云服务器(Amazon EC2)是全球领先的云计算平台之一,凭借弹性计算资源和按需付费的优势,成为部署AI应用的理想选择。本文详细介绍如何在亚马逊云服务器EC2上安装并配置OpenClaw,相比本地部署受限于单机性能,云端部署可随时调度计算资源,无需硬件投资和折旧成本,并支持打通即时通讯软件(如Slack),实现7×24小时AI自动化工作流程。

亚马逊云科技

一、前提条件

  1. 注册一个亚马逊云科技账户
  2. 安装Node.js v24或更高版本
  3. 已在Amazon Bedrock控制台中启用Nova模型访问权限

二、创建IAM角色

  1. 在亚马逊云科技控制台中导航至IAM
  2. 从左侧导航栏选择Roles(角色)
  3. 选择Create role(创建角色),Trusted entity type选择AWS service,Use case选择EC2(亚马逊云服务器),然后点击Next(下一步)
  4. 在Permissions policies(权限策略)下,选择AmazonBedrockFullAccess
  5. 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-hereyour-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-…

完成以上步骤后,你就能获得appTokenbotToken了。分别复制它们并粘贴到终端中。

(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"

你可能喜欢