关键概念
- ClickHouse Cloud 组织: ClickHouse Cloud 中的顶层实体,用于管理用户、计费以及非 BYOC 的 ClickHouse 服务。组织中的用户既可以访问标准 Cloud 服务,也可以访问 BYOC 服务。
- ClickHouse BYOC 组织: 一个专门用于管理 BYOC 部署的独立组织。它与 Cloud 组织共享用户,但会关联到一个或多个部署了 BYOC 基础设施的云账户。
- 云账户 / 项目: 客户自有的 AWS 账户或 GCP 项目,BYOC 基础设施就在其中预配。每个账户或项目都可以在一个或多个区域中承载 BYOC 部署。为实现隔离,建议每个 BYOC 部署使用独立的账户或项目。
- BYOC 基础设施: 部署在云账户某个特定区域内的一组云资源,包括 VPC、Kubernetes 集群 (EKS/GKE) 、存储桶、IAM 角色以及相关支持服务。单个云账户可以在不同区域中包含多个 BYOC 基础设施。
- ClickHouse 服务: 在某个 BYOC 基础设施内运行的单个 ClickHouse 集群。同一个 BYOC 基础设施内可以运行多个服务。
只有未通过云服务提供商市场完成开通的客户,才能在同一组织下混合使用 AWS 账户和 GCP 项目。
术语表
- ClickHouse VPC: ClickHouse Cloud 拥有的 VPC。
- Customer BYOC VPC: 归客户云账户所有、由 ClickHouse Cloud 预配和管理,且专用于 ClickHouse Cloud BYOC 部署的 VPC。
- Customer VPC: 归客户云账户所有的其他 VPC,用于运行需要连接到 Customer BYOC VPC 的应用程序。
技术架构
ClickHouse Cloud 将在您的账户中部署的主要云资源包括:
- VPC: 专用于您的 ClickHouse 部署的虚拟私有云。它既可以由 ClickHouse 管理,也可以由您 (客户) 管理,并且通常会与您的应用 VPC 建立对等连接。
- IAM roles and policies: Kubernetes、ClickHouse 服务和监控栈所需的 IAM 角色和策略。这些可以由 ClickHouse 预配,也可以由客户提供。
- Storage buckets: 用于存储数据分区片段、备份,以及 (可选的) 长期指标和日志归档。
- Kubernetes cluster: 根据您的云提供商不同,它可以是 Amazon EKS、Google GKE 或 Azure AKS,并承载架构图中显示的 ClickHouse 服务器及配套服务。
数据存储
控制平面通信
BYOC 的关键要求
跨账户 IAM 权限
- 预配基础设施:创建并配置 VPC、子网、安全组及其他网络组件
- 管理 Kubernetes 集群:部署并维护 EKS/GKE 集群、节点组和集群组件
- 创建存储资源:预配 S3 存储桶或等效的对象存储,用于存放数据和备份
- 管理 IAM 角色:为 Kubernetes 服务账号及配套服务创建并配置 IAM 角色
- 运行配套服务:部署并管理监控栈、入口控制器及其他基础设施组件
Tailscale 私有网络连接
- 持续监控:ClickHouse 工程师可访问部署在您的 BYOC VPC 中的 Prometheus 监控栈,以监控服务健康状况和性能
- 主动维护:工程师可执行例行维护、升级和故障排查操作
- 紧急支持:发生服务问题时,工程师可快速访问您的环境以诊断并解决问题
- 基础设施管理:管理服务可与您的 BYOC 基础设施协同执行自动化操作
- 经批准且可审计:工程师必须通过内部审批系统申请访问权限
- 有时间限制:访问会在设定期限后自动失效
- 受限:工程师只能访问系统表和基础设施组件,绝不会访问客户数据
- 已加密:所有通信均采用端到端加密
为什么这些要求很重要
- 保障可靠性:主动监控并维护您的部署,防患于未然
- 确保安全:采用最小权限访问,并实现完整审计
- 简化运维:在您保持控制权的同时,实现基础设施管理自动化
- 提供支持:在问题发生时快速响应并解决
- 确保您的 BYOC VPC 的 CIDR 网段不会与任何计划建立对等连接的现有 VPC 重叠。
- 为资源添加清晰的标签,以简化管理和支持。
- 为实现高可用性,请合理规划子网规模,并将其分布在各个可用区。
- 查阅安全手册,了解当 ClickHouse Cloud 在您的环境中运行时的共享责任和最佳实践。
- 查阅完整的入门指南,获取有关初始账户设置、VPC 配置、网络连接 (例如 VPC peering) 以及 IAM 角色委派的分步说明。