CloudPrem
CloudPrem 是 Archbee 的单租户部署,完全运行在您拥有和控制的 AWS 账户中。您的文档、数据库、文件和备份都在您的云边界内。Archbee 为您运营应用程序,但您的数据始终保留在您的账户中。
这种模式有时被称为 Bring Your Own Cloud (BYOC):您可以将完整的 Archbee 产品作为托管服务使用,同时具有在您自身基础设施中运行所带来的数据驻留性、隔离性和合规特性。
CloudPrem 的定义
- 体系结构。单租户、专用部署,确保完整的环境隔离。
- 基础设施。托管在您自己的 AWS 账户中,并位于您选择的区域。
- 数据驻留。所有主要数据,包括文档、数据库和备份,都保留在您的云边界内。
- 运维。由 Archbee DevOps 全面管理,以确保系统健康、更新和恢复。
由于部署位于您的账户中,您可以完全查看和控制底层资源,而 Archbee 负责运行产品的运营负担。
我们的部署方式
Archbee CloudPrem 是使用 AWS Cloud Development Kit (CDK) 以代码方式配置的。所有内容——网络、数据库、内容交付、计算资源及应用程序本身——均在版本化的基础设施模板中定义并部署到您的 AWS 账户中,无需任何手动点击式设置。
部署组织为一组协调的堆栈:
- 网络。跨多达三个可用区的隔离 VPC、私有子网、安全组和负载均衡器。
- 数据库。Amazon Aurora Serverless v2(单写入配置)和 Amazon ElastiCache for Redis,位于私有子网中。
- CDN。Amazon S3 对象存储和 Amazon CloudFront 分发。
- 计算。运行应用程序的 Amazon ECS 集群(AWS Fargate)。
- 主服务。Archbee 应用服务、负载均衡器路由、密钥与日志。
发布新版本
Archbee 从外部私有 runner 推送应用更新(使用 pnpm run build 和 CDK deploy),并通过认证进入您的 AWS 子账户更新 ECR 和 CDK 目标。上线过程具备健康检查:新任务必须通过应用健康检查后,旧任务才会被回收,因此在正常运行中部署不会造成停机。
应用程序在 AWS Fargate 上以三种独立管理的服务类型运行:
- 应用 - Next.js 前端
- API - Express 后端
- 工人 - 后台作业(不对外暴露)
应用流量通过 HTTPS 到达这些服务,并在 Application Load Balancer 处终止,使用 ACM 管理的 TLS 证书,CloudFront 位于负载均衡器前进行内容分发。
发布节奏
Archbee 按每周固定节奏向您的 CloudPrem 部署提供更新,使应用保持最新特性、修复和依赖更新。Archbee 管理整个发布过程,因此您无需自己操作。
当需要关键修复或安全补丁时,Archbee 会在准备就绪后立即发布,而不受每周节奏限制。原则很简单:常规改进按周发布;紧急修复立即上线。
Archbee DevOps 的职责
Archbee DevOps 团队代表您管理应用生命周期:
- 生命周期管理。负责所有版本升级、依赖更新和安全补丁。
- SLA 承诺。根据您的服务协议提供保证的服务可用性。
- 事件响应。管理全面的备份、恢复和故障转移流程。
您拥有 AWS 账户及其安全边界;Archbee 拥有在其中运行的应用程序。
访问模型
Archbee 基于最小权限原则运作,并且没有常驻访问。
- Archbee DevOps 对您的应用数据、应用日志或数据库没有常驻访问权限。不存在始终在线的运营路径进入您的数据。
- 当调查需要访问时,Archbee 会提出请求。访问仅在您明确批准后才会授予。
- 授予的访问是有时间限制并且可审计的——它会自动过期,并且所有活动都会被记录。
任何数据库级工作的受控路径都是您 VPC 内的堡垒机。日志直接路由到 AWS CloudWatch;检查日志不通过 VPC 堡垒机,但需要获得对 AWS Console 或 CloudWatch APIs 的批准访问。因此,每一次数据库级访问都通过您控制的、单一的、可审计的、需要批准的渠道进行。
灾难恢复
Archbee CloudPrem 结合了 AWS 原生的弹性能力——其运行的托管服务(Aurora、S3、ElastiCache、ECS Fargate)所具备的固有数据持久性和故障切换特性——以及 Archbee 的运营级备份与恢复流程。以下部分保护机制由 AWS 服务本身提供;另外一些是 Archbee 为您的部署配置并运行的运营承诺。
以下是一些术语:
- 区域。AWS 的地理位置(例如,美国东部)。
- Availability Zone (AZ)。 区域内若干独立数据中心之一。
- 备份。可在之后恢复的数据副本。
您的数据如何受到保护
- 多可用区数据库存储持久性。 Amazon Aurora 会在三个 Availability Zones 中自动维护六份数据副本,与正在运行的数据库实例数量无关。这种存储层冗余意味着即使单个磁盘或 AZ 丢失,也不会丢失数据。
- 自动故障切换。 Archbee 依赖 Aurora 原生存储层冗余保证数据持久性。在计算可用性方面,Aurora 会在发生故障时重新创建写入实例;计算级故障切换的预期行为在您的服务协议中定义。
- 持续的时间点备份。 Aurora 会持续备份集群卷,并在其配置的保留窗口内支持时间点恢复,使我们能够撤销意外修改或删除。Archbee 会为您的生产部署配置保留窗口;请根据您的服务协议确认确切天数。
- 跨区域备份副本(运营承诺)。 这是一个可选的运营配置。如果合同规定,Archbee 会配置将备份复制到第二个地理位置分离的区域,以便在整个区域不可用时恢复您的数据。
- 长期归档(运营承诺)。 如果合同规定,Archbee 会执行定期的完整备份以进行长期归档。备份频率和保留期限由您的服务协议定义。
- 持久的文件存储。 上传的文件、图像、图表、文档修订版本和导出内容存储在 Amazon S3 中。S3 通过在多个 Availability Zones 之间自动保存多份冗余副本,为对象提供 99.999999999%(11 个 9)持久性保证。内容通过 Amazon CloudFront 在全球分发。
- 弹性缓存。 在生产环境中,Redis 缓存以 Multi-AZ 模式运行,具备副本和自动故障切换,因此单个节点故障不会中断服务。
- 自愈计算能力。 应用任务运行在 AWS Fargate 上,并跨多个 Availability Zones 部署并由负载均衡器健康检查管理。如果某个任务变得不健康或某个 AZ 出现问题,负载均衡器会将受影响任务移出轮换,ECS 会自动替换任务,无需人工干预。
- 文档版本历史记录。 每次保存文档时,早期版本都会保存在专用的持久存储中,因此可以通过 Archbee 的恢复流程找回文档的历史版本。
- 全程加密。 所有数据在传输过程中(TLS 1.2 或更高版本)及静态存储时均会被加密。S3 对象使用客户管理的 AWS KMS 密钥进行加密,并自动进行年度密钥轮换;缓存也在静态存储和传输中加密。
恢复场景
情况 | Archbee 如何恢复 | |
|---|---|---|
数据因错误被更改或删除 | 在配置的时间点保留窗口内,将数据库恢复到事件发生前的某一时刻。 | |
整个区域宕机 | 在配置了跨区域备份的情况下,从第二区域保存的副本重建数据库并使服务重新上线。 | |
文件版本丢失或被覆盖 | 通过 Archbee 的文档版本历史恢复流程恢复先前版本。 | |
应用实例或可用区故障 | 负载均衡器会绕过故障进行路由,且 ECS Fargate 会在跨可用区自动启动健康的替代实例。 | |
共享责任
CloudPrem 是一种合作关系。职责划分明确:
您负责 | Archbee 负责 |
|---|---|
AWS 账户及其防护措施 | Archbee 应用及其更新 |
批准和界定所有访问请求 | 部署以及每周 / 非周期发布流程 |
您的数据、数据驻留以及合规边界 | 运行时间 SLA(根据您的协议) |
| 灾难恢复(备份、恢复、故障切换) |
简而言之:您控制云和数据;Archbee 在其中运行产品,并负责保持其可用且可恢复。