从个人服务到可部署演示:发布完整性、Terraform 与 AWS
语言: English | 简体中文
发布日期:2026-10-20
我把 FLH 的个人工作台与精选只读演示分开,完成服务边界、预计算模型 artifact、Linux 打包、浏览器验收、Terraform 基础设施与 EC2 安装验证。
我的工程贡献:定义运行时和数据边界,把源码来源连接到发布身份,并推进 SSM 管理的 AWS 部署、升级与回滚流程。
隔离个人数据与付费调用
完整服务存储个人学习记录并提供写操作。作品演示需要不同合同:合成数据、可检查的少量工作流和有界运行时。
演示模式用包裹整个服务器的边界,仅允许少数路由上的 GET / HEAD;其他路径或写方法在业务 handler 执行前拒绝。SQLite 以 immutable artifact 打开,live provider 禁用。
语义与 Hybrid preset 使用预计算 E5 文档和查询向量。演示运行的是进程内 artifact index,个人服务才使用 Qdrant。关键词可自由输入,语义/混合查询限定 preset,访客不能触发新 embedding 请求。
把 artifact 作为发布的一部分
Linux amd64 / arm64 包包含 Go binary、React、合成数据库、向量、元数据和验证工具,并记录源码身份、artifact 身份与 SHA-256 manifest。
启动检查 migration ledger 及版本化 domain fingerprint,覆盖 admission、extraction selection 等影响可见知识的事实。语义不兼容时拒绝启动,不静默展示不一致数据。
验收还发现静态文件 symlink 逃逸。我用 Go os.Root 限制文件打开范围,并用原有 harness 复验,连接具体故障与发布边界。
围绕用户路径检查
Public-demo CI 覆盖 HTTP、浏览器、受控失败探针及清理。打包阶段同时检查 startup ownership、readiness、端口占用和临时目录清理,让演示包具有可操作性,而非只在开发机启动。
小而清楚的 AWS 运维模型
Terraform 管理单台 EC2、私有 S3 release storage、范围受限 IAM 示例和 Session Manager。管理不需要入站 SSH,应用保持 loopback listener。
安装器下载具名发布包,验证 checksum / artifact identity,切换 active release,再检查 readiness 与 live identity。发布后验证失败时回滚至前一版本。
项目记录了由操作者执行的 verified-source arm64 部署与升级:service active / ready、身份匹配,并通过 SSM port forward 打开演示。关闭 tunnel 不会停止 EC2。
下一阶段:公开 HTTPS
我还准备了显式启用的 Elastic IP、nginx、DNS preflight 和证书续期检查。Terraform 改动有开关,host tool 拒绝 listener 冲突和不满足要求的 DNS。
部署记录确认 EC2 与私有 SSM 访问;公开 HTTPS cutover 仍待执行。 构建功能、打包、部署和公开访问是不同里程碑,各自有对应检查。
实现结合 AI 编码工具,由我负责方向与审查。云运行结果来自链接报告中的操作者记录。
- 标题: 从个人服务到可部署演示:发布完整性、Terraform 与 AWS
- 作者: Sirui Liu
- 创建于 : 2026-10-20 12:00:00
- 更新于 : 2026-10-25 12:00:00
- 链接: https://vanquisher.world/zh-CN/2026/10/20/flh-readonly-demo-aws/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。