Übersicht
Skalierbare Analytics mit Apache Druid in AWS ist eine AWS-Lösung, mit der Sie Apache Druid in AWS, einer kostengünstigen, hochverfügbaren, robusten und fehlertoleranten Hosting-Umgebung, schnell und effizient einrichten, betreiben und verwalten können. Mit dieser Lösung können Sie alle Features und Möglichkeiten von Apache Druid nutzen und dabei die Elastizität, Skalierbarkeit und flexible Preisgestaltung für Rechen- und Speicherangebote in AWS optimieren.
Vorteile
Verschaffen Sie sich die Flexibilität, Installationen mithilfe der Compute Engine von AWS und des Speichers Ihrer Wahl aus einer Vielzahl von Instance- und Serverless-Optionen anzupassen.
Geben Sie einen Identitätsanbieter an, um Benutzer über das OpenID Connect-Protokoll zu authentifizieren, nutzen Sie die sofort einsatzbereite Unterstützung der Lösung für das Lightweight Directory Access Protocol (LDAP) oder konfigurieren Sie grundlegende Authentifizierungseinstellungen wie Benutzername und Passwort.
Verwenden Sie von Druid ausgegebene Protokolleinträge an eine zentrale Amazon CloudWatch-Protokollgruppe, um Debugging- und Fehlerbehebungsaktivitäten zu erleichtern. Richten Sie ein Überwachungs-Dashboard ein, um den Zustand
des Druid-Clusters nachzuverfolgen, und konfigurieren Sie Alarme auf der Grundlage der Kundenpräferenzen.
Installieren und konfigurieren Sie diese Lösung mit nativer Unterstützung für das Laden von Druid-Erweiterungen, einschließlich Core- und Community-Erweiterungen.
Technische Details
Sie können diese Architektur mithilfe des Implementierungsleitfadens automatisch bereitstellen.
Schritt 1
AWS WAF zum Schutz der Druid-Webkonsole und der Druid-API-Endpunkte vor gängigen Web-Exploits und Bots, die die Verfügbarkeit beeinträchtigen, die Sicherheit gefährden oder übermäßige Ressourcen verbrauchen können. AWS WAF wird nur für Cluster mit Internetzugriff bereitgestellt.
Schritt 2
Ein sicherheitsverstärkter Linux-Server (Bastion-Host) zur Verwaltung des Zugriffs auf die Druid-Server, die in einem privaten Netzwerk laufen, das von einem externen Netzwerk getrennt ist. Dieser kann auch verwendet werden, um über SSH-Tunneling auf die Druid-Webkonsole zuzugreifen, wo ein privater Application Load Balancer (ALB) eingesetzt wird.
Schritt 3
Ein ALB dient als zentrale Anlaufstelle für Kunden. Der Load Balancer verteilt den eingehenden Anwendungsverkehr auf mehrere Abfrageserver in mehreren Availability Zones.
Schritt 4
Das private Subnetz besteht aus den folgenden Komponenten:
- Druid-Master-Auto-Scaling-Gruppe: Eine Auto-Scaling-Gruppe enthält eine Sammlung von Druid-Masterservern. Ein Masterserver verwaltet die Datenerfassung und Verfügbarkeit und ist dafür verantwortlich, neue Aufnahmeaufträge zu starten und die Verfügbarkeit der Daten auf den „Datenservern“ zu koordinieren. Innerhalb eines Masterservers ist die Funktionalität auf zwei Prozesse aufgeteilt: den Coordinator und den Overlord.
- Druid-Daten-Auto-Scaling-Gruppe: Eine Auto-Scaling-Gruppe enthält eine Sammlung von Druid-Datenservern. Ein Datenserver führt Aufnahmeaufträge aus und speichert abfragbare Daten. Innerhalb eines Datenservers ist die Funktionalität auf zwei Prozesse aufgeteilt: den Historical und den MiddleManager.
- Druid-Query-Auto-Scaling-Gruppe: Eine Auto-Scaling-Gruppe enthält eine Sammlung von Druid-Abfrageservern. Ein Abfrageserver stellt die Endpunkte bereit, mit denen Benutzer und Clientanwendungen interagieren, und leitet Abfragen an Datenserver oder andere Abfrageserver weiter. Innerhalb eines Abfrageservers ist die Funktionalität auf zwei Prozesse aufgeteilt: den Broker und den Router.
- ZooKeeper-Auto-Scaling-Gruppe: Eine Auto-Scaling-Gruppe enthält eine Sammlung von ZooKeeper-Servern. Apache Druid verwendet Apache ZooKeeper (ZK) für die Verwaltung des aktuellen Clusterstatus.
Schritt 5
Ein Amazon Simple Storage Service (S3)-Bucket bietet umfassenden Speicher für den Apache Druid-Cluster. Deep Storage ist der Ort, an dem die Segmente gespeichert werden.
Schritt 6
AWS Secrets Manager speichert die von Apache Druid verwendeten Geheimnisse, einschließlich des geheimen Amazon Relational Database Service (RDS)-Geheimnisses und des Administratorbenutzergeheimnisses. Er speichert auch die Anmeldeinformationen für das Systemkonto, mit dem sich die Druid-Komponenten gegenseitig authentifizieren.
Schritt 7
Amazon CloudWatch unterstützt Protokolle, Metriken und Dashboards.
Schritt 8
Eine Amazon Aurora PostgreSQL-Datenbank stellt den Metadatenspeicher für den Apache Druid-Cluster bereit. Druid verwendet den Metadatenspeicher, um nur Metadaten über das System zu speichern, und speichert nicht die tatsächlichen Daten.
Schritt 9
Das Benachrichtigungssystem, das vom Amazon Simple Notification Service (Amazon SNS) unterstützt wird, sendet Warnmeldungen oder Alarme umgehend, wenn Systemereignisse auftreten. Dies gewährleistet sofortige Sensibilisierung und Maßnahmen, wenn nötig.
- Datum der Veröffentlichung