Daten aus einer vom Kunden gehosteten Looker-Instanz exportieren

Administratoren von vom Kunden gehosteten Looker-Instanzen ziehen möglicherweise eine Migration zu einer von Looker gehosteten Umgebung in Betracht, um den Aufwand für die Infrastrukturverwaltung gegen mehr Komfort, eine größere Verfügbarkeit von Funktionen und eine verwaltete Zuverlässigkeit einzutauschen. Bei einer von Looker gehosteten Instanz ist der Aufwand für die Installation, Konfiguration und Wartung der Looker-Anwendung erheblich geringer, da alle erforderlichen IT-Funktionen im Zusammenhang mit der Looker-Anwendung für Sie übernommen werden.

Die Migration einer vom Kunden gehosteten Instanz zu einer von Looker gehosteten Umgebung umfasst die folgenden Hauptschritte:

  1. Aufnahme und Einrichtung: Sie erstellen ein Ticket beim Looker-Team und füllen den Fragebogen zur Looker On-Prem-Migration aus. Das Looker-Team erstellt anhand Ihrer Antworten im Fragebogen eine neue gehostete Instanz.
  2. Verschlüsselung: Looker-SREs generieren ein GnuPG-Schlüsselpaar (GPG) und geben den öffentlichen Schlüssel an Sie weiter.
  3. Export: Sie beenden Ihre Looker-Instanz und exportieren ihre Daten (Datenbank, Dateisystem und vom Kunden verwalteter Schlüssel (CMK)).
  4. Datenübertragung und -import: Das Looker-Team importiert die Sicherung in die von Looker gehostete Instanz und überprüft sie.

Auf dieser Seite wird beschrieben, wie Sie die für Schritt 3: Export erforderlichen Aufgaben ausführen:

Hinweis

Bevor Sie die Skripts auf dieser Seite verwenden können, um die Daten Ihrer Instanz zu sichern, müssen Sie sicherstellen, dass Ihre Looker-Instanz, Datenbank und Verschlüsselungskonfiguration die Migrationsanforderungen erfüllen.

Erforderliche Konfigurationen

Die folgenden Looker- und Datenbankversionen sind erforderlich, um die auf dieser Seite beschriebenen Skripts auszuführen:

  • Auf Ihrer Looker-Instanz muss eine unterstützte Looker-Releaseversion ausgeführt werden.
  • Ihre Instanz muss eine Datenbank verwenden, die mit MySQL Version 8.0.0 oder höher kompatibel ist, damit die exportierte Datenbankschemadatei von Looker verwendet werden kann.

Wenn Sie AWS KMS verwenden, migrieren Sie zur AES-256-GCM-Verschlüsselung von Looker. Folgen Sie dazu der Anleitung auf der Dokumentationsseite Verschlüsselungsschlüssel von Looker ändern.

Für eine ordnungsgemäße Datenspeicherung und Zeichenanzeige muss die Sortierung Ihrer Datenbank auf utf8mb4 (empfohlen) oder utf8 festgelegt sein. Bei anderen Sortierungen kann es zu Datenbeschädigungen oder Fehlern beim Speichern von Sonderzeichen kommen.

Instanz für die Migration bewerten

Um zu ermitteln, ob Ihre vom Kunden gehostete Looker-Instanz zu einer von Looker gehosteten Looker-Instanz (Original) migriert werden kann, müssen Sie die Größe und Leistung der Datenbank und des Dateisystems Ihrer Instanz bewerten. Bei dieser Bewertung wird auch geprüft, ob Ihre Quellumgebung die Datenextraktion bewältigen kann, die während der Sicherungserstellung erfolgt. Anhand dieser Informationen kann das Looker-Team genügend Ressourcen für die von Looker gehostete Zielinstanz zuweisen.

Für die Bewertung müssen Sie das GitHub-Repository klonen, das das Skript von Looker zur Bewertung der Computernutzung und der Dateisystemleistung einer Looker-Instanz enthält. Dieses Skript basiert auf dem Go Looker SDK und ist im Looker O2C Migration Evaluation-Repository auf GitHub verfügbar.

In den folgenden Abschnitten wird beschrieben, welche Schritte Sie ausführen müssen, um das Skript auszuführen, mit dem Ihre Instanz bewertet wird. Dazu gehören die folgenden Aufgaben:

  1. Das Repository mit dem Skript klonen.
  2. API-Anmeldedaten generieren.
  3. Den Befehl zur Überprüfung der Computernutzung ausführen.
  4. Den Befehl zur Überprüfung der Dateisystemleistung ausführen.

Bewertungstools installieren

Installieren Sie die folgenden Tools, Sprachen und SDKs auf dem Computer, auf dem Sie die Daten Ihrer Looker-Instanz sichern:

  1. Git
  2. Go (Programmiersprache)
  3. Go Looker SDK

Looker O2C Migration Evaluation-Repository klonen

Führen Sie den folgenden Befehl im Basisverzeichnis des Nutzers aus, der die Analyse und Sicherung ausführt, um das Repository mit dem Bewertungsskript zu klonen:

git clone https://github.com/looker-open-source/looker-o2c-migration-tool.git

API-Anmeldedaten generieren

Das Bewertungsskript verwendet das Looker SDK, um Daten abzurufen. Es fungiert als API-Client, der Anfragen über das Netzwerk an Ihren Looker-Server sendet. Der Administrator, der das Skript ausführt, muss eine Looker-API-Client-ID und einen Clientschlüssel haben. So generieren Sie API-Anmeldedaten für Ihr Looker-Administratorkonto:

  1. Rufen Sie im Bereich Admin die Seite Nutzer auf.
  2. Wählen Sie für Ihr Konto Bearbeiten aus.
  3. Suchen Sie auf der Detailseite des Kontos den Abschnitt API3-Schlüssel und wählen Sie Schlüssel bearbeiten aus.
  4. Wählen Sie Neuer API-Schlüssel aus.
  5. Looker zeigt eine Client-ID und einen Clientschlüssel an. Kopieren Sie diese Werte und speichern Sie sie an einem sicheren Ort.

Informationen zur Computernutzung generieren

Wenn Sie mit dem Skript zur Migrationsbewertung Informationen zur Computernutzung Ihrer Instanz abrufen möchten, führen Sie den folgenden Befehl auf einem Computer aus, der eine direkte Netzwerkverbindung zum API-Endpunkt der Looker-Anwendung hat:

cd looker-o2c-migration-tool
go run main.go --client-id API_CLIENT_ID --client-secret API_CLIENT_SECRET --looker-instance-address LOOKER_INSTANCE_ADDRESS --output-csv-path OUTPUT_CSV_PATH --ssl=SSL

Ersetzen Sie Folgendes:

  • API_CLIENT_ID: Ihre Client-ID aus dem vorherigen Schritt.
  • API_CLIENT_SECRET: Ihr Clientschlüssel aus dem vorherigen Schritt.
  • LOOKER_INSTANCE_ADDRESS: Die Adresse Ihrer Looker-Instanz, einschließlich des Protokolls.
  • OUTPUT_CSV_PATH: Der Pfad für die CSV-Ausgabe, z. B. /content/compute_usage_info.csv.
  • SSL: Gibt an, ob für die Verbindung zwischen Ihrem Computer und der Looker-Instanz ein SSL-Zertifikat verwendet werden soll. Der Standardwert ist true.

Mit diesem Befehl wird eine CSV-Datei mit den Nutzungsdetails der Looker-Instanz ausgegeben.

Informationen zur Dateisystemleistung generieren

Dieses Skript zeigt die Größe und Anzahl der Dateien in den einzelnen modellbezogenen Verzeichnissen sowie einen Test der Schreibgeschwindigkeit des Laufwerks. Es wird davon ausgegangen, dass Looker im Basisverzeichnis eines Nutzers mit dem Nutzernamen looker installiert ist, wie auf der Dokumentationsseite Looker-Anwendung installieren beschrieben.

Wenn Sie mit dem Skript zur Migrationsbewertung Informationen zur Dateisystemleistung Ihrer Instanz abrufen möchten, führen Sie den folgenden Befehl auf dem Computer aus, auf dem Ihre Looker-Instanz gehostet wird:

cd looker-o2c-migration-tool
go run main.go --file-system-evaluation --output-csv-path OUTPUT_CSV_PATH

Ersetzen Sie Folgendes:

  • OUTPUT_CSV_PATH: Der Pfad für die CSV-Ausgabe, z. B. /content/fs_perf_info.csv

Mit diesem Befehl wird eine CSV-Datei mit der Dateisystemleistung der Looker-Instanz ausgegeben.

Instanz für die Sicherung vorbereiten

Bereiten Sie die Sicherung Ihrer Instanzdaten vor, indem Sie die Pakete und Abhängigkeiten installieren, die zum Ausführen der auf dieser Seite beschriebenen Skripts erforderlich sind. Sie können auch einige Umgebungsvariablen festlegen, um das Schreiben von Befehlen zu vereinfachen.

Abhängigkeiten installieren und prüfen

Verwenden Sie beim Installieren der Abhängigkeiten, die zum Sichern der Daten Ihrer Looker-Instanz erforderlich sind, den Paketmanager, der für Ihre Linux-Distribution Standard ist. Die folgenden Versionen entsprechen den Paketen in Debian 12 (Bookworm) und stellen die Mindestversion der einzelnen erforderlichen Pakete dar.

Installieren Sie die folgenden Pakete auf dem Computer, auf dem Sie die Daten Ihrer Looker-Instanz sichern:

  1. bash 5.2.15

  2. gpg 2.2.40 (GnuPG) – Beim Erstellen der Sicherung wird gpg verwendet, um die Datenbank- und Dateisystemsicherungen zu verschlüsseln, bevor sie für das Looker-Team freigegeben werden.

  3. libgcrypt 1.10.2

  4. Gpg-agent 2.2.40 (GnuPG)

  5. GNU tar 1.34

  6. gzip 1.12

  7. md5sum 9.1 (GNU coreutils)

  8. GNU grep 3.11 (mit Unterstützung für PCRE2 10.42 2022-12-11 oder höher)

  9. GNU sed 4.9

  10. mariadb-client-core (muss mit MySQL 8.X verbunden sein)

Führen Sie beispielsweise die folgenden Befehle aus, um die erforderlichen Pakete auf einem Debian-basierten Linux-System zu installieren:

sudo apt-get update
sudo apt-get install -y \
    bash \
    gnupg \
    libgcrypt20 \
    gnupg-agent \
    tar \
    gzip \
    coreutils \
    grep \
    sed \
    mariadb-client-core

Variablen definieren

Mit den folgenden Befehlen werden einige Variablen definiert, die während des Sicherungsvorgangs verwendet werden. Konfigurieren Sie sie in einem beliebigen Terminal, in dem Sie weitere Befehle ausführen möchten.

Umgebungsvariable: Pfad des Sicherungsverzeichnisses festlegen

Mit dem folgenden Befehl wird der Pfad für das Sicherungsverzeichnis festgelegt, in dem die Dateien erstellt werden. Führen Sie diese Befehle in einem beliebigen Terminal aus, in dem Sie die verzeichnisspezifischen Sicherungsaufgaben ausführen möchten:

BACKUP_DIRECTORY="DIRECTORY_PATH"
BACKUP_DIRECTORY="${BACKUP_DIRECTORY%/}"

Ersetzen Sie Folgendes:

  • DIRECTORY_PATH: Der Pfad, in dem die Sicherungsdateien erstellt werden. Achten Sie darauf, dass dieses Verzeichnis groß genug ist, um die Sicherung aufzunehmen. Lassen Sie das führende / des Pfads weg.

Umgebungsvariable: Quellpfad für die Dateisystemsicherung festlegen

Die Variablendefinition für den Quellpfad der Dateisystemsicherung geht davon aus, dass looker der Nutzername des Nutzers ist, der die Looker-Anwendung installiert hat, und dass die Installation im Basisverzeichnis des Nutzers erfolgt ist, wie auf der Dokumentationsseite Looker-Anwendung installieren beschrieben. Sie müssen die Variable ändern, wenn Sie Looker in einem anderen Verzeichnis installiert haben. Legen Sie diese Variable im Terminal fest, in dem Sie die Looker-Dateisystemsicherung ausführen:

  LOOKER_USER="looker"
  ROOT_LOOKER_FS_DIRECTORY="$(getent passwd "$LOOKER_USER" | cut -d: -f 6)"

Umgebungsvariable: Neue Looker-Instanz definieren

Definieren Sie Variablen für den Namen und die eindeutige ID der Instanz, in die Sie importieren möchten. Das Looker-Team stellt Ihnen die Werte für diese Variablen zur Verfügung.

export luid='LOOKER_HOSTED_INSTANCE_ID'
export customer='LOOKER_HOSTED_INSTANCE_NAME'

Ersetzen Sie Folgendes:

  • LOOKER_HOSTED_INSTANCE_ID: Die eindeutige ID der Looker-Instanz, zu der Sie migrieren
  • LOOKER_HOSTED_INSTANCE_NAME: Der Name der neuen Looker-Instanz, zu der Sie migrieren

Umgebungsvariable: Verschlüsselungsschlüssel

Mit dem folgenden Befehl wird ein öffentlicher GPG-Schlüssel auf Ihrer Instanz installiert. Konfigurieren Sie ihn in einem beliebigen Terminal, in dem Sie die Sicherungsbefehle Ihrer Instanz ausführen (das Looker-Team stellt Ihnen den Wert für diese Variable zur Verfügung):

base64_encryption_key="BASE64_ENCRYPTION_KEY"

Ersetzen Sie Folgendes:

  • BASE64_ENCRYPTION_KEY: Der Verschlüsselungsschlüssel, mit dem das Sicherungsskript Ihre Sicherungen verschlüsselt. Das Looker-Team stellt Ihnen den Wert für diese Variable zur Verfügung.

Öffentlichen Verschlüsselungsschlüssel generieren

Mit dem folgenden Befehl wird ein öffentlicher pgp-Schlüssel auf Ihrer Instanz installiert. Die Sicherungsskripts verwenden diesen Schlüssel, um Ihre Sicherung zu verschlüsseln. Konfigurieren Sie ihn in einem beliebigen Terminal, in dem Sie die Befehle zum Sichern Ihrer Instanz ausführen.

echo -n "${base64_encryption_key}" | base64 -d | gpg --import

Instanzdaten sichern

Führen Sie die folgenden Befehle aus, um die kritischen Komponenten des Dateisystems und des Datenbankschemas Ihrer Instanz sicher zu verpacken, damit sie auf eine neue von Looker gehostete Looker-Instanz (Original) übertragen und wiederhergestellt werden können. Das Skript führt die Sicherung aus und verwendet md5sum, um die Integrität der Sicherung zu überprüfen und zu validieren. Schließlich wird die Sicherung mit GnuPG verschlüsselt, bevor die Ergebnisse im MD5-Dateiformat exportiert werden.

Dateisystemdaten der Instanz sichern

Führen Sie diese Befehle im Verzeichnis aus, in das Sie die Sicherungsdaten exportieren möchten, und im selben Terminal, in dem Sie die Umgebungsvariablen festgelegt haben. Wählen Sie den Tab für den Typ der von Looker gehosteten Instanz aus, zu der Sie migrieren möchten.

Looker (Original)

Führen Sie diesen Befehl aus, um sicherzustellen, dass alle benutzerdefinierten serverseitigen Git-Hooks, die für die Datenvalidierung oder Workflowautomatisierung verwendet werden, in der Sicherung enthalten sind:

cd "${BACKUP_DIRECTORY}"

function findHookPath() {
rootPath=$1

find \
    ${rootPath}/models{-user-*,}/*/.git/config \
    -maxdepth 0 \
    -type f \
    -xtype f \
  | xargs -I {} grep hooksPath {} \
  | sort \
  | uniq \
  | sed -r -e 's/^.+hooksPath = //g' \
  | xargs -I {} dirname {} \
  | sort \
  | uniq \
  | sed -r -e "s#\.\.\/\.\.\/#${rootPath}/#g"

}

hooksPath=$(findHookPath "${ROOT_LOOKER_FS_DIRECTORY}" | sort | uniq | head -1)

Führen Sie diesen Befehl aus, um alle erforderlichen Verzeichnisse aufzulisten und zu sichern:

time find "${ROOT_LOOKER_FS_DIRECTORY}" \
  -maxdepth 1 \
  -type d \
  \( \
         -name marketplace \
      -o -name bare_models \
      -o -name deploy_keys \
      -o -name models \
      -o -name remote_dependencies \
      -o -name models-self-service \
      -o -name "models-user-*" \
      -o -wholename "${hooksPath}" \
  \) | tar \
  --gzip \
  --create \
  --file="${customer}_looker_fs_backup.tar.gz" \
  --files-from=-

Führen Sie diesen Befehl aus, um vor der Verschlüsselung einen „Fingerabdruck“ der Sicherung zu erstellen:

time md5sum "${customer}_looker_fs_backup.tar.gz" > "${customer}_fs_backup.md5"

Führen Sie diesen Befehl aus, um die Sicherung zu verschlüsseln:

time gpg --encrypt --yes \
  --output "${customer}_looker_fs_backup.tar.gz.enc" \
  --recipient "looker-devops+migration-${luid}@google.com" \
  "${customer}_looker_fs_backup.tar.gz"

Führen Sie diesen Befehl aus, um nach der Verschlüsselung einen weiteren „Fingerabdruck“ zu erstellen:

time md5sum "${customer}_looker_fs_backup.tar.gz.enc" >> "${customer}_fs_backup.md5"

Mit der Prüfsumme kann Looker die Integrität Ihrer Datensicherung überprüfen.

Looker (Google Cloud Core)

Führen Sie diesen Befehl aus, um sicherzustellen, dass alle benutzerdefinierten serverseitigen Git-Hooks, die für die Datenvalidierung oder Workflowautomatisierung verwendet werden, in der Sicherung enthalten sind:

cd "${BACKUP_DIRECTORY}"

function findHookPath() {
rootPath=$1

find \
    ${rootPath}/models{-user-*,}/*/.git/config \
    -maxdepth 0 \
    -type f \
    -xtype f \
  | xargs -I {} grep hooksPath {} \
  | sort \
  | uniq \
  | sed -r -e 's/^.+hooksPath = //g' \
  | xargs -I {} dirname {} \
  | sort \
  | uniq \
  | sed -r -e "s#\.\.\/\.\.\/#${rootPath}/#g"

}

hooksPath=$(findHookPath "${ROOT_LOOKER_FS_DIRECTORY}" | sort | uniq | head -1)

Führen Sie diesen Befehl aus, um alle erforderlichen Verzeichnisse aufzulisten und zu sichern:

time find "${ROOT_LOOKER_FS_DIRECTORY}" \
  -maxdepth 1 \
  -type d \
  \( \
         -name marketplace \
      -o -name bare_models \
      -o -name deploy_keys \
      -o -name models \
      -o -name remote_dependencies \
      -o -name models-self-service \
      -o -name "models-user-looker" \
      -o -wholename "${hooksPath}" \
  \) | tar \
  --gzip \
  --create \
  --file="${customer}_looker_fs_backup.tar.gz" \
  --files-from=-

Führen Sie diesen Befehl aus, um vor der Verschlüsselung einen „Fingerabdruck“ der Sicherung zu erstellen:

time md5sum "${customer}_looker_fs_backup.tar.gz" > "${customer}_fs_backup.md5"

Führen Sie diesen Befehl aus, um die Sicherung zu verschlüsseln:

time gpg --encrypt --yes \
  --output "${customer}_looker_fs_backup.tar.gz.enc" \
  --recipient "looker-devops+migration-${luid}@google.com" \
  "${customer}_looker_fs_backup.tar.gz"

Führen Sie diesen Befehl aus, um nach der Verschlüsselung einen weiteren „Fingerabdruck“ zu erstellen:

time md5sum "${customer}_looker_fs_backup.tar.gz.enc" >> "${customer}_fs_backup.md5"

Mit der Prüfsumme kann Looker die Integrität Ihrer Datensicherung überprüfen.

Dieses Skript erstellt die folgenden Dateien für den Dateisystemteil der Migration:

  1. ${customer}_looker_fs_backup.tar.gz.enc: Die verschlüsselte, komprimierte Dateisystemsicherung.
  2. ${customer}_fs_backup.md5: Die Datei mit den Prüfsummen zur Überprüfung.

Datenbankschema der Instanz sichern

Mit diesen Befehlen wird Ihre Umgebung für die Sicherung des Datenbankschemas Ihrer Looker-Instanz vorbereitet, indem eine temporäre Konfigurationsdatei erstellt wird, mit der Migrationstools eine Verbindung zur internen Datenbank Ihrer Looker-Instanz herstellen können. Anstatt vertrauliche Daten wie Nutzernamen und Hostnamen direkt an die Befehle zu übergeben, werden sie in diese Konfigurationsdatei geschrieben, die von Tools wie mysqldump und mysql gelesen werden kann.

Führen Sie den folgenden Befehl aus, um die temporäre Konfigurationsdatei zu erstellen und verschiedene Einstellungen festzulegen:

export database_name="DATABASE_SCHEMA_NAME"
temporary_cnf_file="$(mktemp --tmpdir=. --suffix .cnf)"
echo "[client]
host=DATABASE_HOST
port=DATABASE_PORT
user=DATABASE_USER
password=PASSWORD

[mariadb-dump]
no-sandbox

[mysql]
no-auto-rehash

[mysqldump]
no-tablespaces
loose_set-gtid-purged=OFF
single-transaction
quick
max_allowed_packet=1G
ignore-table=${database_name}.LookerQ_LookerBQ_ACTIVEMQ_ACKS
ignore-table=${database_name}.LookerQ_LookerBQ_ACTIVEMQ_LOCK
ignore-table=${database_name}.LookerQ_LookerBQ_ACTIVEMQ_MSGS

[Server-specific settings - mostly for mysqld/mariadbd processes]
max_allowed_packet = 1024M
" > ${temporary_cnf_file}

Ersetzen Sie Folgendes:

  • DATABASE_HOST: Der DNS oder die IP-Adresse der Looker-Datenbank.
  • DATABASE_PORT: Der Datenbankport.
  • DATABASE_USER: Der Datenbanknutzername zum Ausführen des Exports.
  • PASSWORD: Der Klartextwert für das Passwort des Nutzers, der den Export ausführt. Looker überprüft dieses Passwort nicht. Wenn Sie jedoch die Anforderung für das Klartextpasswort weglassen möchten, können Sie diese Variable leer lassen. Das System fordert Sie dann auf, Ihr Passwort einzugeben, wenn Sie Sicherungsbefehle ausführen.
  • DATABASE_SCHEMA_NAME: Der Name Ihrer Datenbank oder Ihres Schemas.

Wenn für die Verbindung zu Ihrer Datenbank ein SSL-Zertifikat erforderlich ist, fügen Sie der temporären Konfigurationsdatei die folgenden Pfade hinzu:

Legen Sie den Pfad zur Zertifizierungsstellendatei (CA) fest:

ssl-ca=/etc/mysql/certs/ca.pem

Legen Sie den Pfad zum SSL-Clientzertifikat fest:

ssl-cert=/etc/mysql/certs/client-cert.pem

Legen Sie den Pfad zum privaten SSL-Clientschlüssel fest:

ssl-key=/etc/mysql/certs/client-key.pem

Für MySQL-Datenbanken ist ein SSL-Zertifikat erforderlich und das Serverzertifikat muss überprüft werden:

loose-ssl-mode=VERIFY_CA

Für MariaDB-Datenbanken ist ein SSL-Zertifikat erforderlich und das Serverzertifikat muss überprüft werden:

loose-ssl-verify-server-cert=ON

Führen Sie die folgenden Befehle aus, um die Sicherung des Datenbankschemas auszuführen, zu verschlüsseln und zu überprüfen.

Wechseln Sie zu dem Verzeichnis, in dem Sie die Sicherung speichern möchten:

cd "${BACKUP_DIRECTORY}"

Führen Sie diesen Befehl aus, um Ihre Datenbank zu sichern:

time mysqldump \
    --defaults-file="${temporary_cnf_file}" \
    "${database_name}" \
  | gzip > "${customer}_looker_db_backup.sql.gz"

Führen Sie diesen Befehl aus, um vor der Verschlüsselung einen „Fingerabdruck“ der Sicherung zu erstellen:

time md5sum "${customer}_looker_db_backup.sql.gz" >> "${customer}_db_backup.md5"

Führen Sie diesen Befehl aus, um die Sicherung zu verschlüsseln:

time gpg --encrypt --yes \
    --output "${customer}_looker_db_backup.sql.gz.enc" \
    --recipient "looker-devops+migration-${luid}@google.com" \
    "${customer}_looker_db_backup.sql.gz"

Führen Sie diesen Befehl aus, um nach der Verschlüsselung einen weiteren „Fingerabdruck“ zu erstellen:

time md5sum "${customer}_looker_db_backup.sql.gz.enc" >> "${customer}_db_backup.md5"

Dieses Skript erstellt die folgenden Dateien für den Datenbankschemateil der Migration:

  1. ${customer}_looker_db_backup.sql.gz.enc: Die verschlüsselte, komprimierte Sicherung des Datenbankschemas.
  2. ${customer}_db_backup.md5: Die Datei mit den Prüfsummen zur Überprüfung.

Kundenverwalteten Verschlüsselungsschlüssel (CMK) verschlüsseln

Mit den folgenden Befehlen werden der CMK validiert, formatiert und verschlüsselt. Ohne diese Verschlüsselung kann eine migrierte Datenbank in der neuen Looker-Umgebung nicht entschlüsselt werden.

Achtung:Der nächste CMK-Befehl muss nur einmal auf dem Computer ausgeführt werden, auf dem Ihre interne Datenbank gehostet wird, oder auf dem Computer, auf dem die Looker-Instanz gehostet wird, aber nicht auf beiden.

Legen Sie zuerst eine Variable mit Ihrem aktuellen CMK fest, der im Base64-Format vorliegen sollte:

CMK="CUSTOMER_CMK_KEY"

Ersetzen Sie Folgendes:

  • CUSTOMER_CMK_KEY: Der Wert Ihres CMK

Führen Sie dann die folgenden Befehle aus, um eine CMK-Schlüsseldatei zu generieren, die Prüfsumme des entschlüsselten CMK zu generieren, die CMK-Datei zu verschlüsseln und die Prüfsumme des verschlüsselten CMK zu generieren:

echo -n "${CMK}" > "${customer}_looker_cmk_key"

time md5sum "${customer}_looker_cmk_key" >> "${customer}_cmk_key.md5"

time gpg --encrypt --yes \
  --output "${customer}_looker_cmk_key.enc" \
  --recipient "looker-devops+migration-${luid}@google.com" \
  "${customer}_looker_cmk_key"

time md5sum "${customer}_looker_cmk_key.enc" >> "${customer}_cmk_key.md5"

Dieses Skript erstellt die folgenden Dateien für den CMK-Teil der Migration:

  • ${customer}_looker_cmk_key.enc: Die verschlüsselte CMK-Datei
  • ${BACKUP_DIRECTORY}/${customer}_cmk_key.md5: Die Datei mit den Prüfsummen zur Überprüfung

Migrationsdateien vorbereiten

Die Skripts, die Sie bis zu diesem Zeitpunkt ausgeführt haben, haben die folgenden Dateien erstellt:

  • compute_usage_info.csv: Die CSV-Datei mit Informationen zur Computernutzung Ihrer Instanz
  • fs_perf_info.csv: Die CSV-Datei mit Informationen zur Dateisystemleistung Ihrer Instanz
  • ${customer}_looker_fs_backup.tar.gz.enc: Die verschlüsselte, komprimierte Dateisystemsicherung
  • ${customer}_fs_backup.md5: Die Datei mit den Prüfsummen zur Überprüfung
  • ${customer}_looker_db_backup.sql.gz.enc: Die verschlüsselte, komprimierte Sicherung des Datenbankschemas
  • ${customer}_db_backup.md5: Die Datei mit den Prüfsummen zur Überprüfung
  • ${customer}_cmk_key.md5: Die Datei mit den Prüfsummen zur Überprüfung
  • ${customer}_looker_cmk_key.enc: Die verschlüsselte CMK-Datei

Führen Sie den folgenden Befehl in Ihrem Sicherungsverzeichnis aus, um die MD5-Dateien in einer einzigen Datei mit dem Namen ${customer}_backup.md5 zu kombinieren:

cat \
    "${customer}_db_backup.md5" \
    "${customer}_fs_backup.md5" \
    "${customer}_cmk_key.md5" \
  | sort | uniq \
  > "${customer}_backup.md5"

Sicherungsartefakte validieren

Verwenden Sie das Looker On-Prem Data Verifier-Tool, um sicherzustellen, dass Ihre Sicherungsdateien vollständig, sicher und bereit für die Migration sind. Dieses Tool führt eine umfassende Validierung durch, einschließlich der Überprüfung von MD5-Prüfsummen, GPG-Verschlüsselungsschlüsseln, der Datenbankstruktur und der CMK-Gültigkeit.

Validierungstool installieren

Zum Ausführen des Validierungstools müssen Go und GnuPG auf Ihrem Computer installiert sein.

Führen Sie die folgenden Befehle aus, um das Repository zu klonen und das Tool zu erstellen:

git clone https://github.com/looker-open-source/customer-scripts.git
cd customer-scripts/onprem-data-verifier
go build -o onprem-verifier main.go

Validierungstool ausführen

Das Tool wird auf das Verzeichnis angewendet, das Ihre Sicherungsdateien enthält. Achten Sie darauf, dass sich alle erforderlichen Dateien (vier verschlüsselte und drei entschlüsselte Artefakte) in Ihrem ${BACKUP_DIRECTORY} befinden, bevor Sie das Tool ausführen.

Führen Sie den folgenden Befehl aus, um Ihre Artefakte zu validieren:

./onprem-verifier \
  --backupDir "${BACKUP_DIRECTORY}" \
  --customerName "${customer}" \
  --luid "${luid}"

Bei Erfolg generiert das Tool eine metadata.json-Datei. Sie müssen diese Datei einfügen, wenn Sie Ihre Sicherungsartefakte an das Looker-Team übergeben.

Dateien übergeben

Am Ende des Sicherungs- und Verschlüsselungsvorgangs sollten Sie die folgenden Dateien haben:

  • ${customer}_looker_db_backup.sql.gz.enc
  • ${customer}_looker_fs_backup.tar.gz.enc
  • ${customer}_looker_cmk_key.enc
  • ${customer}_backup.md5
  • metadata.json
  • compute_usage_info.csv
  • fs_perf_info.csv

Übergeben Sie diese Dateien an Ihr Looker-Team, damit sie in eine von Looker gehostete Instanz importiert werden können.