创建 Google Cloud 项目
登录 Google Cloud Console。如果是第一次使用,请在提示时接受服务条款。 在顶部导航栏中,点击项目选择器(显示当前项目名称或”选择项目”)→ 新建项目。 填写项目详情:- 项目名称:选择一个描述性名称(例如
ironclaw) - 组织:除非您的账号属于 Google Workspace 组织,否则保持默认
- 位置:个人账号保持默认即可
创建虚拟机实例
导航到 Compute Engine → 虚拟机实例。如果是第一次使用 Compute Engine,系统会提示您启用 Compute Engine API——点击启用并稍等片刻。
- 名称:选择一个描述性名称(例如
ironclaw) - 区域 / 可用区:选择离您用户最近的区域
- 机器类型:
e2-micro(符合免费套餐资格)足以满足大多数使用场景,或选择e2-small以获得更多余量 - 启动磁盘:Ubuntu 24.04 LTS,至少 10 GB
- 防火墙:暂时不勾选”允许 HTTP 流量”和”允许 HTTPS 流量”

<类型> <base64编码密钥> [注释](例如 ssh-ed25519 AAAA... your-email@example.com)。GCE 支持多种密钥类型,并会自动将密钥添加到实例中。
您也可以使用密码登录,但使用 SSH 密钥会更安全,也更推荐。请妥善保管私钥,不要与他人共享。
访问您的实例
实例启动后,在虚拟机实例列表中找到其外部 IP。
配置防火墙规则
IronClaw 的 Web 网关默认绑定到127.0.0.1:3000,即默认仅限本地访问,无法直接从互联网访问。
推荐的暴露模型:
- 将 Web 网关保持绑定在
127.0.0.1:3000 - 通过反向代理在
80/443端口暴露公共流量,并转发到127.0.0.1:3000 - 或保持网关私有,通过 SSH 隧道/VPN 访问
| 规则名称 | 方向 | 目标 | 来源 IP 范围 | 协议 / 端口 |
|---|---|---|---|---|
allow-ssh-myip | 入站 | 所有实例 | 您的公网 IP(例如 203.0.113.10/32) | TCP 22 |
allow-webhook | 入站 | 所有实例 | 0.0.0.0/0 | TCP 8080 |
| 规则名称 | 方向 | 目标 | 来源 IP 范围 | 协议 / 端口 |
|---|---|---|---|---|
allow-http | 入站 | 所有实例 | 0.0.0.0/0 | TCP 80 |
allow-https | 入站 | 所有实例 | 0.0.0.0/0 | TCP 443 |
- 设置
GATEWAY_HOST=0.0.0.0(如果端口不是3000,可选设置GATEWAY_PORT=<端口>) - 设置
GATEWAY_AUTH_TOKEN=<强随机令牌> - 为该网关端口添加防火墙规则,最好限制为受信任的来源 IP
GATEWAY_HOST 为默认值(127.0.0.1),不要在 GCE 防火墙中开放网关端口。
将 SSH 限制为您的 IP 可以防止来自互联网的暴力破解攻击。如果您的 IP 发生变化,可以随时更新来源范围。Webhook(例如 Telegram)需要
8080 端口来向 IronClaw 发送事件。在 Linux 上,编排器内部 API 监听 50051 端口并绑定到 0.0.0.0;除非您为其添加防火墙规则,GCE 的默认拒绝所有入站流量策略仍会阻止外部访问。其他 IronClaw 监听器默认绑定到 127.0.0.1。加固您的实例
获得访问权限后,在安装 IronClaw 之前先对虚拟机进行安全加固。更新和升级
确保系统处于最新状态:创建新用户
良好的实践是创建一个具备 sudo 权限的专用用户,而不是依赖默认账号。您可以创建一个新用户(例如ironclaw),并将其加入 sudo 组: