概览
在 AWS 上使用 Apache Druid 进行可扩展分析是一种 AWS 解决方案,让您可以快速高效地为 AWS 上的 Apache Druid 设置、运营和管理具有成本效益、高度可用、具有弹性和可容错的托管环境。借助此解决方案,您可以使用 Apache Druid 的全套特性和功能,同时优化 AWS 上的计算和存储产品的弹性、可扩展性和灵活定价。
优势
使用您从各种实例和无服务器选项中选择的 AWS 计算引擎和存储,灵活地自定义安装。
指定身份提供者通过 OpenID Connect 协议对用户进行身份验证,使用该解决方案对轻型目录访问协议(LDAP)的开箱即用支持,或配置用户名和密码等基本身份验证设置。
使用由 Druid 发出的日志条目发送到集中式 Amazon CloudWatch 日志组,以促进调试和故障排除活动,设置监控控制面板来跟踪 Druid 集群的
运行状况,并根据客户偏好配置警报。
安装和配置此解决方案,为加载 Druid 扩展(包括核心和社区扩展)提供本机支持。
技术详情
您可以使用实施指南自动部署此架构。
步骤 1
AWS WAF 可保护 Druid Web 控制台和 Druid API 端点免遭常见 Web 漏洞和机器人的攻击,这些漏洞和攻击可能会影响可用性、损害安全性或消耗过多的资源。AWS WAF 仅针对面向互联网的集群进行预调配和部署。
步骤 2
一款经过安全强化的 Linux 服务器(堡垒主机),用于管理对在独立于外部网络的私有网络中运行的 Druid 服务器的访问。它还可以用于通过部署私有应用程序负载均衡器(ALB)的 SSH 隧道访问 Druid Web 控制台。
步骤 3
ALB 充当客户的单一联系点。负载均衡器将传入的应用程序流量分配在多个可用区的多个查询服务器间。
步骤 4
私有子网由以下部分组成:
- Druid 主自动扩缩组:自动扩缩组包含 Druid 主服务器的集合。主服务器管理数据摄取和可用性,负责启动新的摄取任务并协调“数据服务器”上数据的可用性。在主服务器内,功能分为以下两个进程:协调器和 Overlord。
- Druid 数据自动扩缩组:自动扩缩组包含 Druid 数据服务器的集合。数据服务器运行摄取任务并存储可查询的数据。在数据服务器内,功能分为以下两个进程:历史和 MiddleManager。
- Druid 查询自动扩缩组:自动扩缩组包含 Druid 查询服务器的集合。查询服务器提供用户和客户端应用程序与之交互的端点,将查询路由到数据服务器或其他查询服务器。在查询服务器内,功能分为以下两个进程:代理和路由器。
- ZooKeeper 自动扩缩组:自动扩缩组包含 ZooKeeper 服务器的集合。Apache Druid 使用 Apache ZooKeeper(ZK)来管理当前集群状态。
步骤 5
Amazon Simple Storage Service(S3)存储桶为 Apache Druid 集群提供深度存储。深度存储是存储分段的位置。
步骤 6
AWS Secrets Manager 存储 Apache Druid 使用的密钥,包括 Amazon Relational Database Service(RDS)密钥和管理员用户密钥。它还存储 Druid 组件用来相互进行身份验证的系统帐户的凭证。
步骤 7
Amazon CloudWatch 支持日志、指标和控制面板。
步骤 8
Amazon Aurora PostgreSQL 数据库为 Apache Druid 集群提供元数据存储。Druid 使用元数据存储仅存储有关系统的元数据,不存储实际数据。
步骤 9
该通知系统由 Amazon Simple Notification Service(Amazon SNS)提供支持,可在系统事件发生时立即发出提醒或警报。这将确保在需要时立即意识到并采取行动。