概觀
使用 Apache Druid on AWS 進行可擴展分析是一項 AWS 解決方案,可讓您快速且有高效地設定、運作和管理 Apache Druid on AWS,這是一個經濟高效、高度可擴展、彈性且可容錯的託管環境。使用此解決方案,您可使用 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 伺服器。此外,它還可用於透過 SSH 通道存取部署有私有 Application Load Balancer (ALB) 的 Druid Web 主控台。
步驟 3
ALB 是客戶端的單一聯絡點。負載平衡器會把傳入的應用程式流量分配至多個分佈在不同可用區域的查詢伺服器。
步驟 4
私有子網路包含以下要素:
- Druid 主伺服器 Auto Scaling 群組:包含一系列 Druid 主伺服器的 Auto Scaling 群組。主伺服器要管理資料擷取和可用性,並負責啟動新的擷取任務以及協調「資料伺服器」上的資料可用性。在主伺服器中,功能被拆分為 Coordinator 和 Overlord 兩種程序。
- Druid 資料 Auto Scaling 群組:包含一系列 Druid 資料伺服器的 Auto Scaling 群組。資料伺服器要執行擷取任務並儲存可查詢的資料。在資料伺服器中,功能被拆分為 Historical 和 MiddleManager 兩種程序。
- Druid 查詢 Auto Scaling 群組:包含一系列 Druid 查詢伺服器的 Auto Scaling 群組。查詢伺服器提供與使用者及客戶端應用程式互動的端點,並將查詢路由至資料伺服器或其他查詢伺服器。在查詢伺服器中,功能被拆分為 Broker 和 Router 兩種程序。
- ZooKeeper Auto Scaling 群組:包含一系列 ZooKeeper 伺服器的 Auto Scaling 群組。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) 提供支援,能在發生系統事件時及時傳送提醒或警示。如此可確保有需要時,可立即得知並作出反應。