Daten aus einer vom Kunden gehosteten Looker-Instanz exportieren

Administratoren von vom Kunden gehosteten Looker-Instanzen sollten eine Migration zu einer von Looker gehosteten Umgebung in Betracht ziehen, um den Aufwand für die Infrastrukturverwaltung gegen mehr Komfort, eine bessere Verfügbarkeit von Funktionen und eine verwaltete Zuverlässigkeit einzutauschen. Wenn Sie eine von Looker gehostete Instanz verwenden, wird der Aufwand für die Installation, Konfiguration und Wartung der Looker-Anwendung erheblich reduziert, da alle erforderlichen IT-Funktionen im Zusammenhang mit der Looker-Anwendung für Sie übernommen werden.

Die Migration einer vom Kunden gehosteten Instanz in eine von Looker gehostete 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. Exportieren: Sie beenden Ihre Looker-Instanz und exportieren ihre Daten (Datenbank, Dateisystem und vom Kunden verwalteter Schlüssel (Customer-Managed Key, CMK)).
  4. Datenübertragung und ‑import: Das Looker-Team importiert das Backup in die von Looker gehostete Instanz und überprüft es.

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

Hinweis

Bevor Sie die Skripts auf dieser Seite zum Sichern der Daten Ihrer Instanz verwenden können, müssen Sie dafür sorgen, 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 Scripts auszuführen:

  • Auf Ihrer Looker-Instanz muss eine unterstützte Looker-Releaseversion ausgeführt werden.
  • Für Ihre Instanz muss eine Datenbank verwendet werden, 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 zu AES‑256‑GCM-Verschlüsselung von Looker. Folgen Sie dazu der Anleitung auf der Dokumentationsseite Verschlüsselungsschlüssel von Looker ändern.

Damit Daten richtig gespeichert und Zeichen richtig dargestellt werden, muss die Sortierung Ihrer Datenbank auf utf8mb4 (empfohlen) oder utf8 festgelegt sein. Die Verwendung anderer Sortierungen kann zu Datenbeschädigung oder Fehlern beim Speichern von Sonderzeichen führen.

Instanz für die Migration bewerten

Um festzustellen, 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 Sicherung erfolgt. Diese Informationen helfen dem Looker-Team, genügend Ressourcen für die Zielinstanz bereitzustellen.

Für die Auswertung müssen Sie das GitHub-Repository klonen, das das Looker-Skript zum Bewerten der Rechenressourcennutzung und der Dateisystemleistung einer Looker-Instanz enthält. Dieses Skript basiert auf dem Go Looker SDK und ist im Repository Looker O2C Migration Evaluation 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 ausgewertet wird. Dazu gehören die folgenden Aufgaben:

  1. Klonen Sie das Repository, das das Skript enthält.
  2. API-Anmeldedaten generieren
  3. Führen Sie den Befehl aus, um die Compute-Nutzung zu prüfen.
  4. Führen Sie den Befehl aus, um die Dateisystemleistung zu prüfen.

Bewertungstools installieren

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

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

Looker O2C-Migrationsbewertungs-Repository klonen

Führen Sie den folgenden Befehl über das Home-Verzeichnis des Nutzers aus, der die Analyse und Sicherung ausführt, um das Repository mit dem Auswertungsscript zu klonen:

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

API-Anmeldedaten generieren

Das Auswertungsskript verwendet das Looker SDK, um Daten abzurufen. Es fungiert als API-Client, der Anfragen über das Netzwerk an Ihren Looker-Server sendet. Der Administratornutzer, 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 Verwaltung die Seite Nutzer auf.
  2. Wählen Sie für Ihr Konto Bearbeiten aus.
  3. Suchen Sie auf der Detailseite des Kontos nach dem Bereich API3-Schlüssel und wählen Sie Schlüssel bearbeiten aus.
  4. Wählen Sie Neuer API-Schlüssel aus.
  5. In Looker werden eine Client-ID und ein Clientschlüssel angezeigt. Kopieren Sie diese Werte und speichern Sie sie an einem sicheren Ort.

Informationen zur Compute-Nutzung generieren

Wenn Sie mit dem Migrationsbewertungsskript Informationen zur Compute-Nutzung 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.

Dateisystemleistungsinformationen generieren

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

Wenn Sie mit dem Migrationsbewertungsskript Informationen zur Dateisystemleistung Ihrer Instanz zurückgeben 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 das Sichern 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 bei der Installation der Abhängigkeiten, die für die Sicherung der Daten Ihrer Looker-Instanz erforderlich sind, den Paketmanager, der für Ihre Linux-Distribution Standard ist. Die folgenden Versionen entsprechen den in Debian 12 (Bookworm) bereitgestellten Paketen und stellen die Mindestversion jedes erforderlichen Pakets dar.

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

  1. bash 5.2.15

  2. gpg 2.2.40 (GnuPG): Beim Erstellen von Sicherungen wird gpg verwendet, um die Datenbank- und Dateisystem-Back-ups 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 Ihrem 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 gesamten Sicherungsvorgangs verwendet werden. Konfigurieren Sie sie in jedem 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 Sicherungsgenerierungsaufgaben 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 das Verzeichnis groß genug ist, um die Sicherung aufzunehmen. Geben Sie nicht das vorangestellte / des Pfads an.

Umgebungsvariable: Quellpfad für die Dateisystemsicherung festlegen

Die Variablendefinition für den Quellpfad der Dateisystem-Sicherung 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. Die Werte für diese Variablen werden vom Looker-Team bereitgestellt.

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

Ersetzen Sie Folgendes:

  • LOOKER_HOSTED_INSTANCE_ID: Die eindeutige Kennung 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 sie in einem beliebigen Terminal, in dem Sie die Sicherungsbefehle der Instanz ausführen. Der Wert für diese Variable wird von Looker bereitgestellt:

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 es auf jedem Terminal, auf 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 (Original)-Instanz übertragen und dort wiederhergestellt werden können. Das Skript führt die Sicherung aus und verwendet md5sum, um die Integrität der Sicherung zu prüfen und zu validieren. Schließlich wird das Backup mit GnuPG verschlüsselt, bevor die Ergebnisse im MD5-Dateiformat exportiert werden.

Dateisystemdaten Ihrer Instanz sichern

Führen Sie diese Befehle in dem Verzeichnis aus, in das Sie die Sicherungsdaten exportieren möchten, und im selben Terminal, in dem Sie Ihre 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.

Mit diesem Skript werden die folgenden Dateien für den Dateisystemteil der Migration erstellt:

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

Datenbankschema der Instanz sichern

Mit diesen Befehlen wird Ihre Umgebung für die Sicherung des Datenbankschemas Ihrer Looker-Instanz vorbereitet. Dazu wird eine temporäre Konfigurationsdatei erstellt, 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, schreibt dieses Skript sie in die Konfigurationsdatei, 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-Name oder die IP-Adresse der Looker-Datenbank.
  • DATABASE_PORT: Der Datenbankport.
  • DATABASE_USER: Der Datenbanknutzername, mit dem der Export ausgeführt werden soll.
  • PASSWORD: Der Klartextwert für das Passwort des Nutzers, der den Export ausführt. Looker prüft dieses Passwort nicht. Wenn Sie die Anforderung für das Klartextpasswort jedoch lieber weglassen möchten, können Sie diese Variable leer lassen. Das System fordert Sie dann beim Ausführen von Sicherungsbefehlen zur Eingabe Ihres Passworts auf.
  • 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 Zertifizierungsstelle (CA) fest:

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

Legen Sie den Pfad zum Client-SSL-Zertifikat 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 eine Sicherung Ihres Datenbankschemas zu erstellen, zu verschlüsseln und zu prüfen.

Wechseln Sie in das Verzeichnis, in dem Sie Ihre 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“ Ihrer Sicherung zu erstellen:

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

Führen Sie diesen Befehl aus, um Ihre 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"

Mit diesem Skript werden die folgenden Dateien für den Datenbankschemateil der Migration erstellt:

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

Verschlüsseln Sie Ihren kundenverwalteten Verschlüsselungsschlüssel (CMK).

Mit den folgenden Befehlen wird 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 sich Ihre interne Datenbank oder die Looker-Instanz befindet, 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"

Mit diesem Skript werden die folgenden Dateien für den CMK-Teil der Migration erstellt:

  • ${customer}_looker_cmk_key.enc: Die verschlüsselte CMK-Datei
  • ${BACKUP_DIRECTORY}/${customer}_cmk_key.md5: Die Datei, die die Prüfsummen zur Überprüfung enthält.

Migrationsdateien vorbereiten

Durch die Skripts, die Sie bis zu diesem Punkt ausgeführt haben, wurden die folgenden Dateien erstellt:

  • compute_usage_info.csv: Die CSV-Datei, die Informationen zur Compute-Nutzung Ihrer Instanz enthält
  • 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, die die Prüfsummen zur Überprüfung enthält.
  • ${customer}_looker_db_backup.sql.gz.enc: Die verschlüsselte, komprimierte Sicherung des Datenbankschemas
  • ${customer}_db_backup.md5: Die Datei, die die Prüfsummen zur Überprüfung enthält.
  • ${customer}_cmk_key.md5: Die Datei, die die Prüfsummen zur Überprüfung enthält.
  • ${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 zusammenzuführen:

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

Sicherungsartefakte validieren

Mit dem Looker On-Prem Data Verifier-Tool können Sie dafür sorgen, dass Ihre Sicherungsdateien vollständig, sicher und für die Migration bereit 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 für das Verzeichnis ausgeführt, 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 einreichen, 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

Stellen Sie diese Dateien Ihrem Looker-Team zum Import in eine von Looker gehostete Instanz zur Verfügung.