Amazon Redshift
Clusterverwaltungshandbuch

Ändern der Verschlüsselung von Clustern

Sie können einen unverschlüsselten so anpassen, dass er AWS Key Management Service- (AWS KMS-)Verschlüsselung verwendet, deren Schlüssel von AWS verwaltet werden kann oder vom Kunden selbst (Customer-Managed Key, CMK). Wenn Sie einen Cluster ändern, um die KMS-Verschlüsselung zu aktivieren, migriert Amazon Redshift den Cluster automatisch in einen neuen, verschlüsselten Cluster. Sie können auch einen unverschlüsselten Cluster in einem verschlüsselten Cluster migrieren, indem Sie den Cluster anpassen.

Während des Migrationsprozesses ist der Cluster im schreibgeschützten Modus verfügbar, und der Clusterstatus wird als Größenanpassung angezeigt.

Wenn Ihr Cluster für AWS-regionsübergreifende Snapshotkopien konfiguriert ist, müssen Sie diese Funktion deaktivieren, um die Verschlüsselung ändern zu können. Weitere Informationen finden Sie unter Kopieren von Snapshots in eine andere Region und Konfigurieren von regionenübergreifende Snapshot-Kopien für AWS KMS-verschlüsselte Cluster. Wenn Sie eine Verschlüsselung per Hardwaresicherheitsmodul (HSM) aktivieren möchten, können Sie dies nicht erreichen, indem Sie das Cluster ändern. Sie müssen stattdessen ein neues, HSM-verschlüsseltes Cluster erstellen und die Daten in das neue Cluster migrieren. Weitere Informationen finden Sie unter Migrieren zu einem HSM-verschlüsselten Cluster.

So ändern Sie die Verschlüsselung von Clustern mithilfe der Konsole

  1. Melden Sie sich in der AWS Management Console an und öffnen Sie die Amazon Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsbereich Clusters (Cluster) und anschließend den Cluster aus, den Sie modifizieren möchten.

  3. Wählen Sie Cluster und dann Modify aus.

  4. Wählen Sie unter Encrypt database (Datenbank verschlüsseln) die Option KMS, um die Verschlüsslung zu aktivieren, oder wählen Sie None (Keine), um die Verschlüsselung zu deaktivieren.

  5. Wenn Sie einen vom Kunden verwalteten Schlüssel (CMK) verwenden möchten, wählen Sie unter Master Key die Option Enter a key ARN (Schlüssel-ARN eingeben) und geben Sie den ARN in das Feld ARN ein.

  6. Wählen Sie Modify aus.

So ändern Sie die Verschlüsselung von Clustern mithilfe der CLI

Um einen unverschlüsselten Cluster für KMS zu konfigurieren, führen Sie den CLI-Befehl modify-cluster aus und geben Sie –-encrypted ein, wie nachfolgend dargestellt. Standardmäßig wird Ihr Standard-KMS-Schlüssel verwendet. Um einen kundenverwalteten Schlüssel (CMK) anzugeben, rufen Sie den Befehl mit der Option --kms-key-id auf.

aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>

Führen Sie zum Entfernen der Verschlüsselung von einem Cluster den folgenden CLI-Befehl aus.

aws redshift modify-cluster --cluster-identifier <value> --no-encrypted

Migrieren zu einem HSM-verschlüsselten Cluster

Um von einem unverschlüsselten Cluster zu einem mit einem Hardwaresicherheitsmodul (HSM) verschlüsselten Cluster zu migrieren, müssen Sie ein neues verschlüsseltes Cluster erstellen und anschließend Ihre Daten in das neue Cluster migrieren. Sie können zu keinen HSM-verschlüsselten Cluster migrieren, indem Sie den Cluster anpassen.

Um von einem unverschlüsselten Cluster zu einem HSM-verschlüsselten Cluster zu migrieren, müssen Sie zuerst Ihre Daten aus dem vorhandenen Quellcluster entladen. Anschließend laden Sie die Daten in einen neuen Ziel-Cluster mit der gewünschten Verschlüsselungseinstellung. Weitere Informationen zum Starten eines verschlüsselten Clusters finden Sie unter Amazon Redshift-Datenbankverschlüsselung.

Während des Migrationsprozesses steht Ihr Quell-Cluster bis zum letzten Schritt für schreibgeschützte Abfragen zur Verfügung. Im letzten Schritt werden der Ziel- und der Quell-Cluster umbenannt. Damit werden die Endpunkte vertauscht, sodass Datenverkehr an den neuen Ziel-Cluster weitergeleitet wird. Der Ziel-Cluster steht erst zur Verfügung, wenn Sie nach der Umbenennung einen Neustart durchgeführt haben. Unterbrechen Sie das Laden von Daten und andere Schreiboperationen für den Quell-Cluster, während Daten übertragen werden.

Vorbereitung der Migration

  1. Identifizieren Sie alle abhängigen Systeme, die mit Amazon Redshift zusammenarbeiten, z. B. Business Intelligence (BI)-Tools oder ETL-Systeme (Extraktion, Transformation, Laden).

  2. Identifizieren Sie Prüfabfragen, um die Migration zu testen.

    Beispielsweise können Sie die folgende Abfrage verwenden, um die Anzahl der benutzerdefinieren Tabellen zu ermitteln.

    select count(*) from pg_table_def where schemaname != 'pg_catalog';

    Die folgende Abfrage gibt eine Liste aller benutzerdefinierten Tabellen und die Anzahl der Zeilen für jede Tabelle zurück.

    select "table", tbl_rows from svv_table_info;
  3. Wählen Sie einen sinnvollen Zeitpunkt für Ihre Migration aus. Um einen Zeitpunkt zu finden, zu dem der Cluster möglichst wenig genutzt wird, überwachen Sie Cluster-Metriken, wie beispielsweise die CPU-Nutzung oder die Anzahl der Datenbankverbindungen. Weitere Informationen finden Sie unter Anzeige von Cluster-Leistungsdaten.

  4. Verwerfen Sie nicht genutzte Tabellen.

    Um eine Liste der Tabellen zu erstellen, die angibt, wie oft jede Tabelle abgefragt wurde, führen Sie die folgende Anfrage aus.

    select database, schema, table_id, "table", round(size::float/(1024*1024)::float,2) as size, sortkey1, nvl(s.num_qs,0) num_qs from svv_table_info t left join (select tbl, perm_table_name, count(distinct query) num_qs from stl_scan s where s.userid > 1 and s.perm_table_name not in ('internal worktable','s3') group by tbl, perm_table_name) s on s.tbl = t.table_id where t."schema" not in ('pg_internal');
  5. Starte Sie einen neuen, verschlüsselten Cluster.

    Verwenden Sie dieselbe Port-Nummer für den Ziel-Cluster wie für den Quell-Cluster. Weitere Informationen zum Starten eines verschlüsselten Clusters finden Sie unter Amazon Redshift-Datenbankverschlüsselung.

  6. Richten Sie den Prozess zum Entladen und Laden ein.

    Das Dienstprogramm Amazon Redshift Unload/Copy unterstützt Sie bei der Migration von Daten zwischen Clustern. Das Dienstprogramm exportiert Daten aus dem Quell-Cluster an einen Speicherort auf Amazon S3. Die Daten werden mit AWS KMS verschlüsselt. Anschließend importiert das Dienstprogramm die Daten automatisch in das Ziel. Optional können Sie das Dienstprogramm verwenden, um Amazon S3 zu bereinigen, nachdem die Migration abgeschlossen ist.

  7. Führen Sie einen Test aus, um Ihren Prozess zu überprüfen und zu schätzen, wie lange Schreiboperationen ausgesetzt werden müssen.

    Während der Entlade- und Ladeoperationen bewahren Sie die Datenkonsistenz, indem Sie das Laden von Daten und andere Schreiboperationen aussetzen. Führen Sie unter Verwendung einer Ihrer größten Tabellen den Entlade- und Ladeprozess aus, um die Zeit abschätzen zu können.

  8. Erstellen Sie Datenbankenobjekte, wie Schemas, Tabellen und Ansichten. Die Skripts in AdminViews im AWS GitHub-Repository unterstützen Sie beim Generieren der notwendigen Data Definition Language (DDL)-Anweisungen.

So migrieren Sie Ihren Cluster

  1. Halten Sie alle ETL-Prozesse auf dem Quellcluster an.

    Um sicherzustellen, dass keine Schreiboperationen ausgeführt werden, überwachen Sie Schreib-IOPS mit Hilfe der Amazon Redshift-Managementkonsole. Weitere Informationen finden Sie unter Anzeige von Cluster-Leistungsdaten.

  2. Führen sie die Prüfabfragen aus, die Sie zuvor identifiziert haben, um Informationen über den unverschlüsselten Quellcluster vor der Migration zu erfassen.

  3. (Optional) Erstellen Sie eine WLM-Warteschlange (Workload Management), um im Quell- und im Zielcluster die maximal verfügbaren Ressourcen zu nutzen. Erstellen Sie beispielsweise eine Warteschlange namens data_migrate und konfigurieren Sie diese mit einem Speicher von 95 Prozent und einer Nebenläufigkeit von 4. Weitere Informationen finden Sie unter Leiten von Abfragen zu Warteschlangen auf der Grundlage von Benutzergruppen und Abfragegruppen im Amazon Redshift Database Developer Guide.

  4. Führen Sie unter Verwendung der data_migrate-Warteschlange die UnloadCopyUtility aus.

    Überwachen Sie den UNLOAD- und COPY-Prozess unter Verwendung der Amazon Redshift-Konsole.

  5. Führen Sie die Prüfabfragen erneut aus und stellen Sie sicher, dass die Ergebnisse mit den Ergebnissen des Quellclusters übereinstimmen.

  6. Benennen Sie Ihre Quell- und Zielcluster um, um die Endpunkte zu vertauschen. Um Störungen zu vermeiden, führen Sie diese Operation außerhalb der Geschäftszeiten aus.

  7. Stellen Sie sicher, dass Sie mit allen Ihren SQL-Clients eine Verbindung zum Zielcluster herstellen können, z. B. für ETL und Berichtswerkzeuge.

  8. Schließen Sie den unverschlüsselten Quellcluster.