Verwenden einer Amazon-Redshift-Datenbank als Ziel für AWS Database Migration Service - AWS Database Migration Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden einer Amazon-Redshift-Datenbank als Ziel für AWS Database Migration Service

Sie können Daten mithilfe von AWS Database Migration Service in Amazon-Redshift-Datenbanken migrieren. Amazon Redshift ist ein vollständig verwalteter Data-Warehouse-Service in Petabytegröße in der Cloud. Mit einer Amazon-Redshift-Datenbank als Ziel können Sie Daten aus allen anderen unterstützten Quelldatenbanken migrieren.

Sie können Amazon Redshift Serverless als Ziel für AWS DMS verwenden. Weitere Informationen finden Sie unter Verwenden von AWS DMS mit Amazon Redshift Serverless als Ziel.

Der Amazon-Redshift-Cluster muss sich in demselben AWS-Konto und derselben AWS-Region wie die Replikations-Instance befinden.

Während einer Datenbankmigration zu Amazon Redshift verschiebt AWS DMS die Daten zunächst in einen Amazon-S3-Bucket. Wenn sich die Dateien in einem Amazon-S3-Bucket befinden, überträgt AWS DMS sie an die entsprechenden Tabellen im Amazon Redshift Data Warehouse. AWS DMS erstellt den S3-Bucket in derselben AWS-Region, in der sich auch die Amazon-Redshift-Datenbank befindet. Die AWS DMS-Replikations-Instance muss sich in derselben AWS-Region befinden.

Wenn Sie mithilfe der AWS CLI oder der DMS-API Daten zu Amazon Redshift migrieren, müssen Sie eine AWS Identity and Access Management-(IAM)-Rolle einrichten, die den S3-Zugriff zulässt. Weitere Informationen zum Erstellen dieser IAM-Rolle finden Sie unter Erstellen der IAM-Rollen zur Verwendung mit der AWS CLI und API AWS DMS.

Der Amazon-Redshift-Endpunkt bietet eine vollständige Automatisierung für die folgenden Aufgaben:

  • Schemagenerierung und Datentypzuweisung

  • Vollständiges Laden von Quelldatenbanktabellen

  • Inkrementelles Laden der an Quelltabellen vorgenommenen Änderungen

  • Anwendung von Schemaänderungen in DDL (Data Definition Language), die an Quelltabellen vorgenommen wurden

  • Synchronisierung zwischen vollständigen Ladevorgängen und CDC-Prozessen (Change Data Capture, Erfassung von Änderungsdaten)

AWS Database Migration Service unterstützt sowohl vollständige Ladevorgänge als auch Vorgänge zur Verarbeitung von Änderungen. AWS DMS liest die Daten aus der Quelldatenbank und erstellt eine Reihe von CSV-Dateien (Comma-Separated Value, durch Trennzeichen getrennt). Bei vollständigen Ladevorgängen erstellt AWS DMS Dateien für jede Tabelle. AWS DMS kopiert dann die Tabellendateien für jede Tabelle in einen separaten Ordner in Amazon S3. Wenn Dateien auf Amazon S3 hochgeladen werden, sendet AWS DMS einen Kopierbefehl und die in den Dateien enthaltenen Daten werden nach Amazon Redshift kopiert. Bei Vorgängen zur Verarbeitung von Änderungen kopiert AWS DMS die reinen Änderungen in die CSV-Dateien. Anschließend lädt AWS DMS die Dateien mit reinen Änderungen in Amazon S3 hoch und kopiert die Daten nach Amazon Redshift.

Weitere Informationen zum Arbeiten mit Amazon Redshift als Ziel für AWS DMS finden Sie in den folgenden Abschnitten:

Voraussetzungen für die Verwendung einer Amazon-Redshift-Datenbank als Ziel für AWS Database Migration Service

In der folgenden Liste werden die erforderlichen Voraussetzungen für die Arbeit mit Amazon Redshift als Ziel für die Datenmigration beschrieben:

  • Starten Sie einen Amazon-Redshift-Cluster über die AWS-Managementkonsole. Notieren Sie sich die grundlegenden Angaben zu Ihrem AWS-Konto und Ihrem Amazon-Redshift-Cluster, wie beispielsweise Ihr Passwort, Ihren Benutzernamen und den Datenbanknamen. Sie benötigen diese Werte beim Erstellen des Amazon-Redshift-Zielendpunkts.

  • Der Amazon-Redshift-Cluster muss sich in demselben AWS-Konto und derselben AWS-Region wie die Replikations-Instance befinden.

  • Die AWS DMS-Replikations-Instance benötigt Netzwerkkonnektivität zu dem Amazon-Redshift-Endpunkt (Hostname und Port), den Ihr Cluster verwendet.

  • AWS DMS überträgt die Daten über einen Amazon-S3-Bucket an die Amazon-Redshift-Datenbank. Damit AWS DMS den Bucket erstellen kann, verwendet die Konsole eine IAM-Rolle, dms-access-for-endpoint. Wenn Sie die AWS CLI oder die DMS-API zum Erstellen einer Datenbankmigration mit Amazon Redshift als Zieldatenbank verwenden, müssen Sie diese IAM-Rolle erstellen. Weitere Informationen zum Erstellen dieser Rolle finden Sie unter Erstellen der IAM-Rollen zur Verwendung mit der AWS CLI und API AWS DMS.

  • AWS DMS konvertiert BLOBs, CLOBs und NCLOBs in der Amazon-Redshift-Ziel-Instance in VARCHAR. Amazon Redshift interstützt keine VARCHAR-Datentypen über 64 KB. Daher können Sie traditionelle LOBs in Amazon Redshift nicht speichern.

  • Legen Sie die Ziel-Metadatenaufgabe BatchApplyEnabled auf true für AWS DMS fest, um Änderungen an Amazon Redshift-Zieltabellen während CDC zu verarbeiten. Ein Primärschlüssel für die Quell- und Zieltabelle ist erforderlich. Ohne Primärschlüssel werden Änderungen Anweisung für Anweisung angewendet. Dies kann sich negativ auf die Aufgabenleistung während der CDC auswirken, indem Ziellatenz verursacht wird und sich auf die Cluster-Commit-Warteschlange auswirkt.

Erforderliche Berechtigungen für die Verwendung von Redshift als Ziel

Verwenden Sie den Befehl GRANT, um Zugriffsberechtigungen für einen Benutzer oder eine Benutzergruppe zu definieren. Zu den Rechten gehören Zugriffsoptionen wie das Lesen von Daten in Tabellen und Ansichten, das Schreiben von Daten und das Erstellen von Tabellen. Weitere Informationen über die Verwendung von GRANT mit Amazon Redshift finden Sie unter GRANT im Datenbankentwicklerhandbuch zu Amazon Redshift.

Im Folgenden ist die Syntax zum Erteilen von bestimmten Berechtigungen für eine Tabelle, eine Datenbank, ein Schema, eine Funktion oder eine Prozedur oder von Berechtigungen auf Sprachebene für Amazon-Redshift-Tabellen und -Ansichten dargestellt.

GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL PROCEDURES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...] GRANT USAGE ON LANGUAGE language_name [, ...] TO { username [ WITH GRANT OPTION ] | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax für Berechtigungen auf Spaltenebene für Amazon-Redshift-Tabellen und -Ansichten.

GRANT { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } TO { username | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax für das ASSUMEROLE-Recht, das Benutzern und Gruppen mit einer spezifizierten Rolle gewährt wird.

GRANT ASSUMEROLE ON { 'iam_role' [, ...] | ALL } TO { username | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD } [, ...]

Einschränkungen bei der Verwendung von Amazon Redshift als Ziel für AWS Database Migration Service

Die folgenden Einschränkungen gelten, wenn Sie eine Amazon-Redshift-Datenbank als Ziel verwenden:

  • Aktivieren Sie nicht die Versionsverwaltung für den S3-Bucket, den Sie als Zwischenspeicher für Ihr Amazon-Redshift-Ziel verwenden. Wenn Sie eine S3-Versionsverwaltung benötigen, verwenden Sie Lebenszyklusrichtlinien, um alte Versionen aktiv zu löschen. Andernfalls kann es aufgrund eines Timeouts eines list-object-Aufrufs in S3 zu Verbindungsfehlern beim Endpunkttest kommen. Informationen zum Erstellen einer Lebenszyklusrichtlinie für einen S3-Bucket finden Sie unter Verwalten Ihres Speicher-Lebenszyklus. Informationen zum Löschen einer Version eines S3-Objekts finden Sie unter Löschen von Objekten aus einem versionsverwaltungsfähigen Bucket.

  • Die folgende DDL wird nicht unterstützt:

    ALTER TABLE table name MODIFY COLUMN column name data type;
  • AWS DMS kann keine Änderungen in ein Schema mit einem Namen migrieren oder replizieren, der mit einem Unterstrich (_) beginnt. Verwenden Sie für Schemata, deren Namen mit einem Unterstrich beginnen, Zuweisungstransformationen, um das Schema im Ziel umzubenennen.

  • Amazon Redshift unterstützt keine VARCHARs über 64 KB. Daher können LOBs aus traditionellen Datenbanken in Amazon Redshift nicht gespeichert werden.

  • Das Anwenden einer DELETE-Anweisung auf eine Tabelle mit einem mehrspaltigen Primärschlüssel wird nicht unterstützt, wenn einer der Primärschlüsselspaltennamen ein reserviertes Wort verwendet. Eine Liste der reservierten Wörter in Amazon Redshift finden Sie hier.

  • Es kann zu Leistungsproblemen kommen, wenn Ihr Quellsystem UPDATE-Operationen für den Primärschlüssel einer Quelltabelle ausführt. Diese Leistungsprobleme treten auf, wenn Änderungen auf das Ziel angewendet werden. Das liegt daran, dass UPDATE- (und DELETE-)Operationen auf den Primärschlüsselwert angewiesen sind, um die Zielzeile zu identifizieren. Wenn Sie den Primärschlüssel einer Quelltabelle aktualisieren, enthält Ihr Aufgabenprotokoll Meldungen wie die folgende:

    Update on table 1 changes PK to a PK that was previously updated in the same bulk update.
  • DMS unterstützt keine benutzerdefinierten DNS-Namen, wenn Sie einen Endpunkt für einen Redshift-Cluster konfigurieren. Sie müssen den von Amazon bereitgestellten DNS-Namen verwenden. Da sich der Amazon-Redshift-Cluster in demselben AWS-Konto und derselben Region wie die Replikations-Instance befinden muss, schlägt die Validierung fehl, wenn Sie einen benutzerdefinierten DNS-Endpunkt verwenden.

  • In Amazon Redshift gilt ein standardmäßiges Timeout für inaktive Sitzungen von 4 Stunden. Wenn im Rahmen der DMS-Replikationsaufgabe keine Aktivität stattfindet, unterbricht Redshift die Sitzung nach 4 Stunden. Fehler können darauf zurückzuführen sein, dass DMS keine Verbindung herstellen kann und möglicherweise neu gestartet werden muss. Um das Problem zu umgehen, legen Sie für den DMS-Replikationsbenutzer einen Grenzwert für SESSION TIMEOUT von mehr als 4 Stunden fest. Sie können sich auch die Beschreibung von ALTER USER im Datenbankentwicklerhandbuch für Amazon Redshift ansehen.

  • Wenn AWS DMS Quelltabellendaten ohne einen Primärschlüssel oder eindeutigen Schlüssel repliziert, kann die CDC-Latenz hoch und das Leistungsniveau damit inakzeptabel sein.

Konfigurieren einer Amazon-Redshift-Datenbank als Ziel für AWS Database Migration Service

AWS Database Migration Service muss für die Verwendung mit der Amazon-Redshift-Instance konfiguriert werden. Die folgende Tabelle beschreibt die verfügbaren Konfigurationseigenschaften für den Amazon-Redshift-Endpunkt.

Property (Eigenschaft)

Description (Beschreibung)

server

Der Name des verwendeten Amazon-Redshift-Clusters.

port

Die Portnummer für Amazon Redshift. Der Standardwert lautet 5439.

username

Ein Amazon-Redshift-Benutzername eines registrierten Benutzers.

password

Das Passwort für den Benutzer, der in der Eigenschaft "Benutzername" angegeben ist.

Datenbank

Der Name des Amazon Redshift Data Warehouse (Service), mit dem Sie arbeiten.

Wenn Sie zusätzliche Attribute für Verbindungszeichenfolgen zu Ihrem Amazon-Redshift-Endpunkt hinzufügen möchten, können Sie die Attribute maxFileSize und fileTransferUploadStreams festlegen. Weitere Informationen zu diesen Attributen finden Sie unter Endpunkteinstellungen bei Verwendung von Amazon Redshift als Ziel für AWS DMS.

Verwenden von Enhanced VPC Routing mit Amazon Redshift als Ziel für AWS Database Migration Service

Wenn Sie Enhanced VPC Routing mit Ihrem Amazon-Redshift-Ziel verwenden, wird der gesamte COPY-Datenverkehr zwischen Ihrem Amazon-Redshift-Cluster und Ihren Daten-Repositorys über Ihre VPC geleitet. Da Enhanced VPC Routing sich darauf auswirkt, wie Amazon Redshift auf andere Ressourcen zugreift, schlagen COPY-Befehle möglicherweise fehl, wenn die VPC nicht ordnungsgemäß konfiguriert wurde.

AWS DMS kann durch dieses Verhalten beeinflusst werden, da es mit dem COPY-Befehl Daten von S3 in einen Amazon-Redshift-Cluster verschiebt.

Im Folgenden sind die von AWS DMS ausgeführten Schritte zum Laden von Daten in ein Amazon Redshift-Ziel angegeben:

  1. AWS DMS kopiert Daten von der Quelle in CSV-Dateien auf dem Replikationsserver.

  2. AWS DMS kopiert die CSV-Dateien mithilfe des AWS-SDK in einen S3-Bucket auf Ihrem Konto.

  3. Anschließend verwendet AWS DMS den COPY-Befehl in Amazon Redshift zum Kopieren von Daten aus den CSV-Dateien in S3 in eine entsprechende Tabelle in Amazon Redshift.

Wenn Enhanced VPC Routing nicht aktiviert ist, leitet Amazon Redshift den Datenverkehr über das Internet weiter, einschließlich des Datenverkehrs an andere Services im AWS-Netzwerk. Bei deaktivierter Funktion müssen Sie den Netzwerkpfad nicht konfigurieren. Wenn die Funktion aktiviert ist, müssen Sie speziell einen Netzwerkpfad zwischen Ihrem VPC-Cluster und Ihren Datenressourcen erstellen. Weitere Informationen zu der erforderlichen Konfiguration finden Sie unter Enhanced VPC Routing in der Amazon-Redshift-Dokumentation.

Erstellen und Verwenden von AWS KMS-Schlüsseln für die Verschlüsselung von Amazon-Redshift-Zieldaten

Sie können Ihre an Amazon S3 übertragenen Zieldaten verschlüsseln, bevor Sie diese nach Amazon Redshift kopieren. Um dies zu tun, können Sie benutzerdefinierte AWS KMS-Schlüssel erstellen und verwenden. Sie können den Schlüssel verwenden, den Sie zur Verschlüsselung Ihrer Zieldaten erstellt haben. Verwenden Sie dazu beim Erstellen des Amazon-Redshift-Zielendpunkts einen der folgenden Mechanismen:

Um Amazon-Redshift-Zieldaten mithilfe eines KMS-Schlüssels zu verschlüsseln, benötigen Sie eine AWS Identity and Access Management (IAM)-Rolle mit Berechtigungen für den Zugriff auf Amazon-Redshift-Daten. Auf diese IAM-Rolle wird dann in einer Richtlinie (einer Schlüsselrichtlinie) zugegriffen, die dem von Ihnen erstellten Verschlüsselungsschlüssel angefügt ist. Sie können diesen Vorgang in Ihrer IAM-Konsole ausführen, indem Sie Folgendes erstellen:

  • Eine IAM-Rolle mit einer von AWS verwalteten Richtlinie.

  • Einen KMS-Schlüssel mit einer Schlüsselrichtlinie, die sich auf diese Rolle bezieht.

Die entsprechende Vorgehensweise wird nachfolgend beschrieben.

So erstellen Sie eine IAM-Rolle mit der erforderlichen von AWS verwalteten Richtlinie
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus. Die Seite Roles (Rollen) wird geöffnet.

  3. Wählen Sie Rolle erstellen aus. Die Seite Create role (Rolle erstellen) wird geöffnet.

  4. Wenn AWS-Service als vertrauenswürdige Entität ausgewählt ist, wählen Sie DMS als den Service aus, der die Rolle verwendet.

  5. Wählen Sie Weiter: Berechtigungen aus. Die Seite Attach permissions policies (Berechtigungsrichtlinien anfügen) wird angezeigt.

  6. Suchen und wählen Sie die AmazonDMSRedshiftS3Role-Richtlinie aus.

  7. Wählen Sie Next: Markierungen (Weiter: Markierungen). Die Seite Add tags (Tags hinzufügen) wird angezeigt. Hier können Sie alle gewünschten Tags hinzufügen.

  8. Wählen Sie Next: Review (Weiter: Prüfen) aus und überprüfen Sie Ihre Ergebnisse.

  9. Wenn die Einstellungen Ihren Vorstellungen entsprechen, geben Sie einen Namen für die Rolle (z. B. DMS-Redshift-endpoint-access-role) sowie eine zusätzliche Beschreibung ein und wählen Sie anschließend Create role (Rolle erstellen) aus. Die Seite Roles (Rollen) wird geöffnet und zeigt eine Mitteilung an, die darauf hinweist, dass Ihre Rolle erstellt wurde.

Sie haben jetzt die neue Rolle erstellt, über die Sie auf Amazon-Redshift-Ressourcen zugreifen können, um diese mit einem angegebenen Namen, z. B. DMS-Redshift-endpoint-access-role, zu verschlüsseln.

So erstellen Sie einen AWS KMS-Verschlüsselungsschlüssel mit einer Schlüsselrichtlinie, die sich auf Ihre IAM-Rolle bezieht
Anmerkung

Weitere Hinweise zur Funktionsweise von AWS DMS mit AWS KMS-Verschlüsselungsschlüsseln finden Sie unter Einrichten eines Verschlüsselungsschlüssels und Angeben von AWS KMS-Berechtigungen.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Key Management Service (AWS KMS)-Konsole unter https://console.aws.amazon.com/kms.

  2. Wenn Sie die AWS-Region ändern möchten, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

  3. Klicken Sie im Navigationsbereich auf Kundenverwaltete Schlüssel.

  4. Klicken Sie auf Create key. Die Seite Configure key (Schlüssel konfigurieren) wird geöffnet.

  5. Wählen Sie für Key type (Schlüsseltyp) Symmetric (Symmetrisch).

    Anmerkung

    Wenn Sie diesen Schlüssel erstellen, können Sie nur einen symmetrischen Schlüssel erstellen, da alle AWS-Services wie z. B. Amazon Redshift, nur mit symmetrischen Verschlüsselungsschlüsseln arbeiten.

  6. Wählen Sie Erweiterte Optionen aus. Stellen Sie für Key material origin (Schlüsselmaterialherkunft) sicher, dass KMS ausgewählt ist, und wählen Sie dann Next (Weiter). Die Seite Add Labels (Etiketten hinzufügen) wird geöffnet.

  7. Geben Sie unter Create alias and description (Alias und Beschreibung erstellen) einen Alias für den Schlüssel (z. B. DMS-Redshift-endpoint-encryption-key) und eventuell eine weitere Beschreibung ein.

  8. Fügen Sie unter Tags alle Tags hinzu, die Sie verwenden möchten, um den Schlüssel zu identifizieren und seine Nutzung zu verfolgen, und wählen Sie anschließend Next Step (Nächster Schritt) aus. Die Seite Define key administrative permissions (Schlüsselverwaltungsberechtigungen definieren) wird geöffnet und zeigt eine Liste der Benutzer und Rollen an, aus denen Sie auswählen können.

  9. Fügen Sie die Benutzer und Rollen hinzu, die den Schlüssel verwalten sollen. Stellen Sie sicher, dass diese Benutzer und Rollen über die erforderlichen Berechtigungen verfügen, um den Schlüssel zu verwalten.

  10. Wählen Sie unter Key deletion (Schlüssellöschung) aus, ob die Schlüsseladministratoren den Schlüssel löschen können, und klicken Sie anschließend auf Next Step (Nächster Schritt). Die Seite Define Key usage permissions (Schlüsselnutzungsberechtigungen definieren) wird geöffnet und zeigt eine weitere Liste mit Benutzern und Rollen an, aus denen Sie auswählen können.

  11. Wählen Sie unter Dieses Konto die verfügbaren Benutzer aus, die kryptografische Operationen für Amazon-Redshift-Ziele ausführen sollen. Wählen Sie zudem die Rolle aus, die Sie zuvor unter Rollen erstellt haben, um den Zugriff zur Verschlüsselung von Amazon-Redshift-Zielobjekten zu ermöglichen (z. B. DMS-Redshift-endpoint-access-role).

  12. Wenn Sie weitere Konten hinzufügen möchten, die nicht für denselben Zugriff aufgeführt sind, wählen Sie unter Other AWS accounts (Andere Konten) die Option Add another AWS account (Anderes Konto hinzufügen) und dann Next (Weiter). Die Seite Review and edit key policy (Schlüsselrichtlinie prüfen und bearbeiten) wird geöffnet. Hier wird das JSON für die Schlüsselrichtlinie angezeigt, die Sie überprüfen und bearbeiten können, indem Sie in den vorhandenen JSON-Inhalt schreiben. Hier können Sie sehen, wo die Schlüsselrichtlinie auf die Rolle und die Benutzer (z. B. Admin und User1) verweist, die Sie im vorherigen Schritt ausgewählt haben. Sie können auch die verschiedenen Schlüsselaktionen sehen, die für die verschiedenen Prinzipale (Benutzer und Rollen) zulässig sind, wie im folgenden Beispiel dargestellt.

    { "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/DMS-Redshift-endpoint-access-role", "arn:aws:iam::111122223333:role/Admin", "arn:aws:iam::111122223333:role/User1" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/DMS-Redshift-endpoint-access-role", "arn:aws:iam::111122223333:role/Admin", "arn:aws:iam::111122223333:role/User1" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ]
  13. Wählen Sie Finish (Abschließen). Die Seite Verschlüsselungsschlüssel wird geöffnet und zeigt eine Mitteilung an, die darauf hinweist, dass Ihr AWS KMS key erstellt wurde.

Damit haben Sie einen neuen KMS-Schlüssel mit einem angegebenen Alias (z. B. DMS-Redshift-endpoint-encryption-key) erstellt. Dieser Schlüssel ermöglicht es AWS DMS, Amazon-Redshift-Zieldaten zu verschlüsseln.

Endpunkteinstellungen bei Verwendung von Amazon Redshift als Ziel für AWS DMS

Sie können Endpunkteinstellungen zur Konfiguration Ihrer Amazon-Redshift-Zieldatenbank verwenden, ähnlich wie Sie zusätzliche Verbindungsattribute verwenden. Sie geben die Einstellungen beim Erstellen des Zielendpunkts über die AWS DMS-Konsole oder über den Befehl create-endpoint in der AWS CLI mit der JSON-Syntax --redshift-settings '{"EndpointSetting": "value", ...}' an.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Amazon Redshift als Ziel verwenden können.

Name Beschreibung

MaxFileSize

Gibt die maximale Größe (in KB) einer CSV-Datei zum Übertragen von Daten nach Amazon Redshift an.

Standardwert: 32768 KB (32 MB)

Gültige Werte: 1 bis 1 048 576

Beispiel: --redshift-settings '{"MaxFileSize": 512}'

FileTransferUploadStreams

Gibt die Anzahl von Threads an, die verwendet werden, um eine Datei hochzuladen.

Standardwert: 10

Gültige Werte: 1 bis 64

Beispiel: --redshift-settings '{"FileTransferUploadStreams": 20}'

Acceptanydate

Gibt an, ob ein beliebiges Datumsformat akzeptiert wird, einschließlich ungültiger Datumsformate wie 0000-00-00-00. Boolescher Wert:

Standardwert: false

Zulässige Werte: true | false

Beispiel: --redshift-settings '{"Acceptanydate": true}'

Dateformat

Gibt das Datumsformat an. Dies ist eine Zeichenfolge-Eingabe und standardmäßig leer. Das Standardformat ist JJJJ-MM-TT, aber Sie können es ändern, z. B. in TT-MM-JJJJ. Wenn Ihre Datums- oder Zeitwerte unterschiedliche Formate verwenden, verwenden Sie das auto-Argument mit dem Dateformat-Parameter. Das Argument auto erkennt verschiedene Formate, die bei der Verwendung einer Dateformat Zeichenfolge nicht unterstützt werden. Das Schlüsselwort auto unterscheidet zwischen Groß- und Kleinschreibung.

Standardwert: leer

Gültige Werte: "dateformat_string" oder auto

Beispiel: --redshift-settings '{"Dateformat": "auto"}'

Timeformat

Gibt das Zeitformat an. Dies ist eine Zeichenfolge-Eingabe und standardmäßig leer. Das Argument auto erkennt verschiedene Formate, die bei der Verwendung einer Timeformat-Zeichenfolge nicht unterstützt werden. Wenn Ihre Datums- und Zeitwerte unterschiedliche Formate verwenden, verwenden Sie das Argument auto mit dem Timeformat-Parameter.

Standardwert: 10

Gültige Werte: "Timeformat_string" | "auto" | "epochsecs" | "epochmillisecs"

Beispiel: --redshift-settings '{"Timeformat": "auto"}'

Emptyasnull

Gibt an, ob AWS DMS leere CHAR- und VARCHAR-Felder als Null migrieren soll. Ein Wert von true stellt leere CHAR- und VARCHAR-Felder auf Null ein.

Standardwert: false

Zulässige Werte: true | false

Beispiel: --redshift-settings '{"Emptyasnull": true}'

TruncateColumns

Schneidet Daten in Spalten auf die entsprechende Zahl von Zeichen ab, sodass sie der Spaltenspezifikation entsprechen. Gilt nur für Spalten mit dem Datentyp VARCHAR und CHAR und Zeilen mit einer Größe von 4 MB oder weniger.

Standardwert: false

Zulässige Werte: true | false

Beispiel: --redshift-settings '{"TruncateColumns": true}'

RemoveQuotes

Entfernt in den eingehenden Daten Anführungszeichen, die Zeichenfolgen umschließen. Alle Zeichen innerhalb der Anführungszeichen einschließlich Trennzeichen bleiben bewahrt. Weitere Informationen über das Entfernen von Anführungszeichen für ein Amazon-Redshift-Ziel finden Sie im Datenbankentwicklerhandbuch zu Amazon Redshift.

Standardwert: false

Zulässige Werte: true | false

Beispiel: --redshift-settings '{"RemoveQuotes": true}'

TrimBlanks

Entfernt Leerzeichen am Ende von VARCHAR-Zeichenfolgen. Dieser Parameter gilt nur für die Spalten mit dem Datentyp VARCHAR.

Standardwert: false

Zulässige Werte: true | false

Beispiel: --redshift-settings '{"TrimBlanks": true}'

EncryptionMode Gibt den serverseitigen Verschlüsselungsmodus an, den Sie verwenden möchten, um Ihre Daten per Push nach S3 zu übertragen, bevor sie nach Amazon Redshift kopiert werden. Die gültigen Werte sind SSE_S3 (S3-serverseitige Verschlüsselung) oder SSE_KMS (KMS-Verschlüsselung). Wenn Sie SSE_KMS auswählen, legen Sie den ServerSideEncryptionKmsKeyId-Parameter auf den Amazon-Ressourcennamen (ARN) fest, so dass der KMS-Schlüssel für die Verschlüsselung verwendet wird.
Anmerkung

Sie können auch den CLI-Befehl modify-endpoint verwenden, um den Wert der Einstellung EncryptionMode für einen vorhandenen Endpunkt von SSE_KMS in SSE_S3 zu ändern. Sie können jedoch nicht den Wert für EncryptionMode von SSE_S3 in SSE_KMS ändern.

Standardwert: SSE_S3

Gültige Werte: SSE_S3 oder SSE_KMS.

Beispiel: --redshift-settings '{"EncryptionMode": "SSE_S3"}'

ServerSideEncryptionKmsKeyId Wenn Sie für EncryptionMode SSE_KMS festlegen, setzen Sie diesen Parameter auf den ARN für den KMS-Schlüssel. Sie finden diesen ARN, indem Sie den Schlüssel-Alias in der Liste der AWS KMS-Schlüssel, die für Ihr Konto erstellt wurden, auswählen. Wenn Sie den Schlüssel erstellen, müssen Sie ihm auch bestimmte Richtlinien und Rollen zuweisen. Weitere Informationen finden Sie unter Erstellen und Verwenden von AWS KMS-Schlüsseln für die Verschlüsselung von Amazon-Redshift-Zieldaten.

Beispiel: --redshift-settings '{"ServerSideEncryptionKmsKeyId":"arn:aws:kms:us-east-1:111122223333:key/11a1a1a1-aaaa-9999-abab-2bbbbbb222a2"}'

EnableParallelBatchInMemoryCSVFiles Die Einstellung EnableParallelBatchInMemoryCSVFiles verbessert die Leistung umfangreicherer Aufgaben für vollständige Multithread-Ladevorgänge, da DMS auf die Festplatte und nicht in den Arbeitsspeicher schreibt. Der Standardwert ist false.
CompressCsvFiles Verwenden Sie dieses Attribut zum Komprimieren von Daten, die während der Migration an ein Amazon-Redshift-Ziel gesendet werden. Der Standardwert ist true und die Komprimierung ist standardmäßig aktiviert.

Verwenden eines Datenverschlüsselungsschlüssels und eines Amazon-S3-Buckets als Zwischenspeicher

Sie können die Einstellungen für den Amazon-Redshift-Zielendpunkt verwenden, um Folgendes zu konfigurieren:

  • Ein benutzerdefinierter AWS KMS-Datenverschlüsselungsschlüssel. Sie können dann diesen Schlüssel verwenden, um Ihre an Amazon S3 übertragenen Daten zu verschlüsseln, bevor sie nach Amazon Redshift kopiert werden.

  • Einen benutzerdefinierten S3-Bucket als Zwischenspeicher für die zu Amazon Redshift migrierten Daten.

  • Mapping von BOOLEAN als BOOLEAN aus einer PostgreSQL-Quelle. Standardmäßig wird ein BOOLEAN-Typ als varchar(1) migriert. Sie können MapBooleanAsBoolean angeben, damit das Redshift-Ziel den BOOLEAN-Typ als BOOLEAN migriert, wie im folgenden Beispiel gezeigt.

    --redshift-settings '{"MapBooleanAsBoolean": true}'

    Beachten Sie, dass Sie diese Einstellung sowohl am Quell- als auch am Zielendpunkt festlegen müssen, damit sie wirksam wird.

KMS-Schlüsseleinstellungen für die Datenverschlüsselung

Die folgenden Beispiele veranschaulichen die Konfiguration eines benutzerdefinierten KMS-Schlüssels, um Ihre per Push an S3 übertragenen Daten zu verschlüsseln. Um zu beginnen, können Sie den folgenden create-endpoint-Aufruf in der AWS CLI ausführen.

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"EncryptionMode": "SSE_KMS", "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/24c3c5a1-f34a-4519-a85b-2debbef226d1"}'

Das durch die --redshift-settings-Option angegebene JSON-Objekt definiert zwei Parameter. Der eine ist ein EncryptionMode-Parameter mit dem Wert SSE_KMS. Der andere ist ein ServerSideEncryptionKmsKeyId-Parameter mit dem Wert arn:aws:kms:us-east-1:111122223333:key/24c3c5a1-f34a-4519-a85b-2debbef226d1. Bei diesem Wert handelt es sich um einen Amazon-Ressourcenname (ARN) für Ihren benutzerdefinierten KMS-Schlüssel.

Standardmäßig erfolgt S3-Datenverschlüsselung mithilfe von serverseitiger S3-Verschlüsselung. Für das Amazon-Redshift-Ziel im vorherigen Beispiel ist dies gleichbedeutend mit der Angabe der Endpunkteinstellungen, wie im folgenden Beispiel dargestellt.

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"EncryptionMode": "SSE_S3"}'

Weitere Informationen zur Verwendung der serverseitigen S3-Verschlüsselung finden Sie unter Schutz von Daten mittels serverseitiger Verschlüsselung im Amazon-Simple-Storage-Service-Benutzerhandbuch.

Anmerkung

Sie können auch den CLI-Befehl modify-endpoint verwenden, um den Wert des Parameters EncryptionMode für einen vorhandenen Endpunkt von SSE_KMS in SSE_S3 zu ändern. Sie können jedoch nicht den Wert für EncryptionMode von SSE_S3 in SSE_KMS ändern.

Einstellungen von Amazon-S3-Buckets

Wenn Sie Daten zu einem Amazon-Redshift-Zielendpunkt migrieren, verwendet AWS DMS einen standardmäßigen Amazon-S3-Bucket als Zwischenspeicher für Aufgaben, bevor die migrierten Daten nach Amazon Redshift kopiert werden. Beispielsweise wird in den dargelegten Beispielen für das Erstellen eines Amazon-Redshift-Zielendpunkts mit einem AWS KMS-Datenverschlüsselungsschlüssel dieser Standard-S3-Bucket verwendet (siehe KMS-Schlüsseleinstellungen für die Datenverschlüsselung).

Sie können stattdessen einen benutzerdefinierten S3-Bucket für diese Zwischenspeicherung angeben, indem Sie die folgenden Parameter in den Wert Ihrer --redshift-settings-Option des AWS CLI-Befehls „create-endpoint“ einschließen:

  • BucketName – Eine Zeichenfolge, die Sie als Namen des S3-Bucket-Speichers angeben. Wenn Ihre Servicezugriffsrolle auf der Richtlinie AmazonDMSRedshiftS3Role basiert, muss dieser Wert das Präfix dms- haben, also beispielsweise dms-my-bucket-name lauten.

  • BucketFolder – (Optional) Eine Zeichenfolge die Sie als Namen des Speicherordners im angegebenen S3-Bucket angeben können.

  • ServiceAccessRoleArn – Der ARN einer IAM-Rolle, die administrativen Zugriff auf den S3-Bucket erlaubt. In der Regel erstellen Sie diese Rolle auf Grundlage der AmazonDMSRedshiftS3Role-Richtlinie. Ein Beispiel finden Sie unter dem Vorgehen zum Erstellen einer IAM-Rolle mit der erforderlichen von AWS verwalteten Richtlinie in Erstellen und Verwenden von AWS KMS-Schlüsseln für die Verschlüsselung von Amazon-Redshift-Zieldaten.

    Anmerkung

    Wenn Sie mithilfe der --service-access-role-arn Option des create-endpoint-Befehls den ARN einer anderen IAM-Rolle angeben, hat diese IAM-Rollenoption Priorität.

Das folgende Beispiel gezeigt, wie Sie diese Parameter verwenden können, um einen benutzerdefinierten Amazon-S3-Bucket im folgenden Aufruf create-endpoint über die AWS CLI anzugeben.

aws dms create-endpoint --endpoint-identifier redshift-target-endpoint --endpoint-type target --engine-name redshift --username your-username --password your-password --server-name your-server-name --port 5439 --database-name your-db-name --redshift-settings '{"ServiceAccessRoleArn": "your-service-access-ARN", "BucketName": "your-bucket-name", "BucketFolder": "your-bucket-folder-name"}'

Multithread-Aufgabeneinstellungen für Amazon Redshift

Sie können die Leistung von Aufgaben zum vollständigen Laden und CDC-Aufgaben (CDC = Change Data Capture) für einen Amazon-Redshift-Zielendpunkt verbessern, indem Sie Multithread-Aufgabeneinstellungen verwenden. Auf diese Weise können Sie die Anzahl der gleichzeitigen Threads und die Anzahl der Datensätze angeben, die in einem Puffer gespeichert werden sollen.

Aufgabeneinstellungen für vollständige Multithread-Ladevorgänge für Amazon Redshift

Zur Förderung der Leistung beim vollständigen Laden können Sie die folgenden ParallelLoad*-Aufgabeneinstellungen verwenden:

  • ParallelLoadThreads – Gibt die Anzahl der gleichzeitigen Threads an, die DMS während eines vollständigen Ladevorgangs verwendet, um Datensätze an einen Amazon-Redshift-Zielendpunkt zu übertragen. Der Standardwert ist Null (0) und der maximale Wert ist 32. Weitere Informationen finden Sie unter Aufgabeneinstellungen für vollständiges Laden.

    Das Attribut enableParallelBatchInMemoryCSVFiles kann auf false gesetzt sein, wenn Sie die ParallelLoadThreads-Aufgabeneinstellung verwenden. Das Attribut verbessert die Leistung umfangreicherer Aufgaben für vollständige Multithread-Ladevorgänge, da DMS auf die Festplatte und nicht in den Arbeitsspeicher schreibt. Der Standardwert ist true.

  • ParallelLoadBufferSize – Gibt die maximale Anzahl von Datensatzanforderungen bei Verwendung von Threads für paralleles Laden mit dem Redshift-Ziel an. Der Standardwert ist 100 und der maximale Wert 1 000. Wir empfehlen, diese Option zu verwenden, wenn ParallelLoadThreads > 1 (größer als eins) ist.

Anmerkung

Unterstützung für die Verwendung von ParallelLoad*-Aufgabeneinstellungen während FULL-LOAD-Vorgängen zu Amazon-Redshift-Zielendpunkten ist in AWS DMS Version 3.4.5 und höher verfügbar.

Die Redshift-Endpunkteinstellung ReplaceInvalidChars wird nicht für die Verwendung während eines CDC-Vorgangs (Change Data Capture) oder während einer FULL-LOAD-Migrationsaufgabe mit aktiviertem parallelem Laden unterstützt. Sie wird für die FULL-LOAD-Migration unterstützt, wenn paralleles Laden nicht aktiviert ist. Weitere Informationen finden Sie unter RedShiftSettings in der API-Referenz zu AWS Database Migration Service

Multithread-CDC-Aufgabeneinstellungen für Amazon Redshift

Zur Förderung der CDC-Leistung können Sie die folgenden ParallelApply*-Aufgabeneinstellungen verwenden:

  • ParallelApplyThreads – Gibt die Anzahl der gleichzeitigen Threads an, die AWS DMS während eines CDC-Ladevorgangs verwendet, um Datensätze an einen Amazon-Redshift-Zielendpunkt zu übertragen. Der Standardwert ist Null (0) und der maximale Wert ist 32. Der empfohlene Mindestwert entspricht der Anzahl der Slices in Ihrem Cluster.

  • ParallelApplyBufferSize – Gibt die maximale Anzahl von Datensatzanforderungen bei Verwendung von Threads für parallele Anwendung mit dem Redshift-Ziel an. Der Standardwert ist 100 und der maximale Wert 1 000. Wir empfehlen, diese Option zu verwenden, wenn ParallelApplyThreads > 1 (größer als eins) ist.

    Um Redshift als Ziel optimal zu nutzen, sollte der Wert von ParallelApplyBufferSize mindestens dem Zweifachen der Anzahl von ParallelApplyThreads entsprechen (also mindestens doppelt so groß sein).

Anmerkung

Unterstützung für die Verwendung von ParallelApply*-Aufgabeneinstellungen während CDC-Vorgängen zu Amazon-Redshift-Zielendpunkten ist in AWS DMS Version 3.4.3 und höher verfügbar.

Der Grad der angewandten Parallelität hängt von der Korrelation zwischen der gesamten Stapelgröße und der maximalen Dateigröße ab, die für die Übertragung von Daten verwendet wird. Wenn Sie Multithread-CDC-Aufgabeneinstellungen mit einem Redshift-Ziel verwenden, erzielen Sie Vorteile, wenn die Stapelgröße im Verhältnis zur maximalen Dateigröße groß ist. Sie können beispielsweise die folgende Kombination aus Endpunkt- und Aufgabeneinstellungen verwenden, um eine optimale Leistung zu erzielen.

// Redshift endpoint setting MaxFileSize=250000; // Task settings BatchApplyEnabled=true; BatchSplitSize =8000; BatchApplyTimeoutMax =1800; BatchApplyTimeoutMin =1800; ParallelApplyThreads=32; ParallelApplyBufferSize=100;

Bei Verwendung der Einstellungen im vorherigen Beispiel profitiert ein Kunde mit einer hohen Transaktions-Workload von der Tatsache, dass sein Stapelpuffer, der 8 000 Datensätze enthält, innerhalb von 1 800 Sekunden gefüllt wird und 32 parallele Threads mit einer maximalen Dateigröße von 250 MB verwendet werden.

Weitere Informationen finden Sie unter Einstellungen für die Optimierung der Verarbeitung von Änderungen.

Anmerkung

DMS-Abfragen, die während der laufenden Replikation auf einen Redshift-Cluster ausgeführt werden, können dieselbe WLM-Warteschlange (WLM = Workload Management) gemeinsam mit anderen laufenden Anwendungsabfragen nutzen. Daher sollten Sie die WLM-Eigenschaften ordnungsgemäß konfigurieren, um die Leistung während der laufenden Replikation auf ein Redshift-Ziel zu beeinflussen. Wenn beispielsweise andere parallele ETL-Abfragen ausgeführt werden, läuft DMS langsamer und die Leistungsverbesserungen gehen verloren.

Zieldatentypen für Amazon Redshift

Der Amazon-Redshift-Endpunkt für AWS DMS unterstützt die meisten Amazon-Redshift-Datentypen. In der folgenden Tabelle sind die Amazon Redshift-Zieldatentypen, die bei Verwendung von AWS DMS unterstützt werden, sowie deren Standardzuordnung von AWS DMS-Datentypen aufgeführt.

Weitere Informationen zu AWS DMS-Datentypen finden Sie unter Datentypen für den AWS Database Migration Service.

AWS DMS-Datentypen

Amazon-Redshift-Datentypen

BOOLEAN

BOOL

BYTES

VARCHAR (Länge)

DATUM

DATUM

TIME

VARCHAR(20)

DATETIME

Wenn die Skala => 0 und =< 6 ist, je nach Redshift-Zielspaltentyp einer der folgenden:

TIMESTAMP (s)

TIMESTAMPTZ (s) – Wenn der Quell-Zeitstempel einen Zonen-Offset enthält (wie in SQL Server oder Oracle), wird er beim Einfügen/Aktualisieren in UTC konvertiert. Wenn er keinen Offset enthält, wird die Zeit bereits in UTC berücksichtigt.

Ist die Skalierung => 7 und =< 9, dann:

VARCHAR (37)

INT1

INT2

INT2

INT2

INT4

INT4

INT8

INT8

NUMERIC

Ist die Skalierung => 0 und =< 37, dann:

NUMERIC (p,s)

Ist die Skalierung => 38 und =< 127, dann:

VARCHAR (Länge)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Bei einer Länge von 1 bis 65 535 Verwendung von VARCHAR (Länge in Byte)

Bei einer Länge von 65 536 bis 2 147 483 647 Verwendung von VARCHAR (65535)

UINT1

INT2

UINT2

INT2

UINT4

INT4

UINT8

NUMERIC (20,0)

WSTRING

Bei einer Länge von 1 bis 65 535 Verwendung von NVARCHAR (Länge in Byte)

Bei einer Länge von 65 536 bis 2 147 483 647 Verwendung von NVARCHAR (65535)

BLOB

VARCHAR (maximale LOB-Größe * 2)

Die maximale LOB-Größe darf 31 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB.

NCLOB

NVARCHAR (maximale LOB-Größe)

Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB.

CLOB

VARCHAR (maximale LOB-Größe)

Die maximale LOB-Größe darf 63 KB nicht überschreiten. Amazon Redshift unterstützt keine VARCHARs über 64 KB.

Verwenden von AWS DMS mit Amazon Redshift Serverless als Ziel

AWS DMS unterstützt Amazon Redshift Serverless als Zielendpunkt. Informationen zur Verwendung von Amazon Redshift Serverless finden Sie unter Amazon Redshift Serverless im Amazon-Redshift-Verwaltungshandbuch.

In diesem Thema wird die Verwendung eines Amazon-Redshift-Serverless-Endpunkts mit AWS DMS beschrieben.

Anmerkung

Wenn Sie einen Amazon-Redshift-Serverless-Endpunkt erstellen, verwenden Sie für das Feld DatabaseName Ihrer RedshiftSettings-Endpunktkonfiguration entweder den Namen des Amazon Redshift Data Warehouse oder den Namen des Arbeitsgruppenendpunkts. Verwenden Sie für das Feld Servername den Wert für den Endpunkt, der auf der Seite Arbeitsgruppe für den Serverless-Cluster angezeigt wird (z. B. default-workgroup.093291321484.us-east-1.redshift-serverless.amazonaws.com). Weitere Informationen zum Erstellen eines Endpunkts finden Sie unter Erstellen der Quell- und Zielendpunkte. Informationen zum Arbeitsgruppenendpunkt finden Sie unter Verbinden mit Amazon Redshift Serverless.

Vertrauensrichtlinie mit Amazon Redshift Serverless als Ziel

Wenn Sie Amazon Redshift Serverless als Zielendpunkt verwenden, müssen Sie Ihrer Vertrauensrichtlinie den folgenden hervorgehobenen Abschnitt hinzufügen. Diese Vertrauensrichtlinie wird der Rolle dms-access-for-endpoint angefügt.

{ "PolicyVersion": { "CreateDate": "2016-05-23T16:29:57Z", "VersionId": "v3", "Document": { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:service:region:account:resourcetype/id", "Effect": "Allow" }, { "Sid": "", "Effect": "Allow", "Principal": { "Service": "redshift-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }, "IsDefaultVersion": true } }

Weitere Informationen zur Verwendung eine Vertrauensrichtlinie mit AWS DMS finden Sie unter Erstellen der IAM-Rollen zur Verwendung mit der AWS CLI und API AWS DMS.

Einschränkungen bei Verwendung von Amazon Redshift Serverless als Ziel

Bei Verwendung von Redshift Serverless als Ziel gelten folgende Einschränkungen: