首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >实战指南:使用 Pulumi 与 Tailscale 在 AWS/Hetzner 零信任部署 OpenClaw

实战指南:使用 Pulumi 与 Tailscale 在 AWS/Hetzner 零信任部署 OpenClaw

原创
作者头像
gavin1024
发布2026-03-06 11:55:47
发布2026-03-06 11:55:47
5260
举报

暴露内网工具(如 OpenClaw)的端口到公网是安全大忌。传统的 VPN 配置繁琐,而 Pulumi 结合 Tailscale 能以代码化的方式快速构建一个“隐形”的私有化部署环境。

本文直接展示如何编写基础设施代码,在 AWS 或 Hetzner 上拉起一台不仅运行 OpenClaw,还能自动加入 Tailscale 私有网络的服务器。

架构核心

我们的目标很简单:服务器不开放 80/443 端口给公网,只允许 Tailscale 组网内的设备访问 OpenClaw 面板。

1. 准备工作

  • Pulumi 账号:用于状态管理。
  • Tailscale Auth Key:在 Tailscale 后台生成一个 ReusableEphemeral 的 Key,用于服务器自动鉴权。
  • Cloud Provider Token:AWS 或 Hetzner 的 API Token。

2. 编写 Pulumi 代码 (TypeScript 示例)

这里以 Hetzner 为例(AWS EC2 逻辑类似,仅资源定义不同),相比 AWS 的复杂 VPC,Hetzner 在单机部署上性价比更高。

代码语言:typescript
复制
import * as hcloud from "@pulumi/hcloud";

// 定义 Cloud-Init 脚本:核心逻辑
const userData = `#!/bin/bash
# 1. 安装 Docker
curl -fsSL https://get.docker.com | sh

# 2. 启动 OpenClaw 容器
docker run -d --name openclaw -p 8080:8080 openclaw/openclaw:latest

# 3. 安装并配置 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up --authkey=tskey-auth-xxxxxx --hostname=openclaw-server
`;

// 创建服务器
const server = new hcloud.Server("openclaw-box", {
    serverType: "cx22", // 性价比首选
    image: "ubuntu-24.04",
    location: "hel1",
    userData: userData, 
});

export const ip = server.ipv4Address;

3. 关键配置解析

  • UserData (Cloud-Init):这是自动化的灵魂。脚本执行了三件事:安装 Docker、运行 OpenClaw、启动 Tailscale 守护进程并自动加入网络。
  • Tailscale Up:注意 --authkey 参数,确保服务器启动即上线。建议配合 ACL 限制该节点的访问权限。

4. 部署与验证

运行 pulumi up,等待约 2 分钟。

完成后,打开你本地电脑(需已安装 Tailscale)的浏览器,直接访问 http://openclaw-server:8080 或其 Tailscale IP。你会发现,无需配置安全组入站规则,连接依然通畅,而公网扫描不到任何开放端口。


替代方案:更低门槛的选择

如果你不想折腾 Pulumi 的状态管理或处理海外云厂商的支付问题,国内云厂商的轻量服务器是更现实的选择。

结合腾讯云官方教程最佳实践,优先选择轻量应用服务器(Lighthouse),开箱即用、运维成本低,完美适配 OpenClaw 私有化部署需求。

»OpenClaw 专属优惠购买入口:https://cloud.tencent.com/act/pro/lighthouse-moltbot«

在腾讯云 Lighthouse 上,你同样可以使用上述的 Cloud-Init 脚本(在控制台“自定义数据”处粘贴)实现相同的零信任组网效果,且网络链路在国内访问更稳定。

总结

通过 IaC (Pulumi) 管理基础设施,配合 Overlay Network (Tailscale) 管理访问控制,我们彻底抛弃了传统的 Bastion Host(堡垒机)模式。无论是选择 AWS、Hetzner 还是腾讯云 Lighthouse,原则只有一个:永远不要让内网服务裸奔

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构核心
  • 1. 准备工作
  • 2. 编写 Pulumi 代码 (TypeScript 示例)
  • 3. 关键配置解析
  • 4. 部署与验证
  • 替代方案:更低门槛的选择
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档