Netzwerk-Datenverkehr verschlüsseln
Looker empfiehlt dringend, den Netzwerk-Datenverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Ziehen Sie eine der Optionen auf der Seite Zugriff auf sichere Datenbanken aktivieren in Betracht.
Weitere Informationen zur SSL-Verschlüsselung finden Sie in der MySQL RDS-Dokumentation.
Optionen
Aus Leistungsgründen ist es üblich, schreibgeschützte Replikatdatenbanken – auch Lesereplikate genannt – mit Looker zu verwenden. Dadurch wird die Produktionsdatenbank für die Ausführung ihrer primären Funktion freigegeben, ohne dass Abfragen sie verlangsamen können.
In diesem Dokument wird Folgendes beschrieben:
- Vorhandene Replikatdatenbank für Looker ändern
- Neue Lesereplikatdatenbank erstellen und für Looker konfigurieren
Vorhandenes Replikat ändern
Benutzer und Sicherheit
Ändern Sie <some_password_here>
zu einem eindeutigen, sicheren Passwort:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS und temporäre Tabellen
Bei RDS-Lesereplikaten ist standardmäßig ein schreibgeschütztes Flag aktiviert, das verhindert, dass Looker in temporäre Tabellen schreibt. Looker ändert keine vorhandenen Daten, aber MySQL benötigt trotzdem Schreibzugriff, um temporäre Tabellen zu verwenden. Dieses Problem lässt sich beheben, indem Sie das Flag in RDS ändern. In den RDS-FAQs:
Wenn Sie die DB-Parametergruppe ändern, müssen Sie das Lesereplikat neu starten, damit die Änderungen wirksam werden.
Datenbank erstellen und Berechtigungen erteilen
Erstellen Sie eine temporäre Datenbank und erteilen Sie dem looker
-Nutzer die Berechtigung, darauf zu schreiben. Die CREATE TEMPORARY
-Anweisung in MySQL muss aus Berechtigungsgründen mit einer Datenbank verknüpft werden.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Neues Replikat erstellen
Beachten Sie, dass AWS RDS Lesereplikate nur mit Datenbankinstanzen erstellen kann, für die die Sicherungsaufbewahrung aktiviert ist.
Schritte vor AWS
Schritt 1
mysql
in die Datenbank, die die primäre Datenbankinstanz sein soll:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Schritt 2
Erstellen Sie einen Nutzer mit dem Namen looker
(ersetzen Sie <some_password_here>
durch ein eindeutiges, sicheres Passwort):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Schritt 3
Erstellen Sie eine temporäre Datenbank und erteilen Sie Looker Leseberechtigungen für andere Datenbanken und Tabellen. Looker schreibt normalerweise nicht in die looker_tmp
-Datenbank, sondern verwendet sie, um CREATE TEMPORARY TABLE
-Befehle auszuführen.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
Schritt 4
Berechtigungen löschen:
FLUSH PRIVILEGES;
AWS-Schritte
Schritt 1
Melden Sie sich an und rufen Sie das AWS-Dashboard auf. Wählen Sie unter Datenbank die Option RDS aus:
Schritt 2
Wählen Sie im RDS-Dashboard die Datenbankinstanz aus, die Sie als primäre Datenbank angeben möchten. Klicken Sie auf Instanzaktionen und wählen Sie Lesereplikat erstellen aus:
Schritt 3
Konfigurieren Sie im Pop-up Lesereplikat-Datenbankinstanz erstellen die Lesereplikatdatenbank und klicken Sie auf Ja, Lesereplikat erstellen:
Schritt 4
Während Sie auf das Erstellen der Lesereplikatdatenbank warten, können Sie die DB-Parametergruppe einrichten. Diese enthält die Suchmaschinenkonfigurationswerte, die auf die Lesereplikatdatenbankdatenbank angewendet werden. Klicken Sie in der Seitenleiste auf die Seite DB-Parametergruppen und dann auf DB-Parametergruppe erstellen:
Schritt 5
Wählen Sie die DB-Parametergruppenfamilie und den DB-Parametergruppennamen aus und geben Sie eine DB-Parametergruppenbeschreibung ein. Klicken Sie dann auf Ja, erstellen.
Schritt 6
Klicken Sie in der Zeile mit der Lesereplikatdatenbank-Datenbankgruppe auf das Lupensymbol oder wählen Sie diese Zeile aus und klicken Sie auf Parameter bearbeiten.
Schritt 7
Geben Sie im Feld Filter unter Parameter den Text „"read_only"“ ein. Ändern Sie den Parameterwert in 0
. Klicken Sie dann auf Änderungen speichern.
Schritt 8
Nachdem das Lesereplikat erstellt wurde, wählen Sie es aus der Liste der Datenbankinstanzen aus, klicken auf die Schaltfläche Instanzaktion und wählen in der Instanzaktion Ändern aus.
Schritt 9
Ändern Sie im Pop-up-Fenster DB-Instanz ändern die Parametergruppe der DB-Instanz in die neue Lesereplikatparametergruppe. Klicken Sie dann auf das Kästchen Sofort anwenden, dann auf Weiter und anschließend auf DB-Instanz ändern.
Schritt 10
Stellen Sie mit dem MySQL-Client eine Verbindung zur Lesereplikatdatenbankdatenbank als looker
her und testen Sie, ob auf Daten zugegriffen werden kann.
Unterstützte Funktionen
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
In der neuesten Version von Looker unterstützt MySQL die folgenden Looker-Features:
Nächste Schritte
Nachdem Sie die Datenbankkonfiguration abgeschlossen haben, können Sie mithilfe dieser Anleitung eine Verbindung zur Datenbank herstellen.