Erstellen von Null-ETL-Integrationen von Amazon RDS mit Amazon Redshift - Amazon Relational Database 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.

Erstellen von Null-ETL-Integrationen von Amazon RDS mit Amazon Redshift

Wenn Sie eine Amazon RDS Zero-ETL-Integration erstellen, geben Sie den der Quell-RDS-Datenbank und das Amazon Redshift Redshift-Ziel-Data Warehouse an. Sie können auch die Verschlüsselungseinstellungen anpassen und Tags hinzufügen. Amazon RDS erstellt eine Integration zwischen dem und seinem Ziel. Sobald die Integration aktiv ist, werden alle Daten, die Sie in den einfügen, in das konfigurierte Amazon Redshift Redshift-Ziel repliziert.

Voraussetzungen

Bevor Sie eine Zero-ETL-Integration erstellen, müssen Sie einen und ein Amazon Redshift Redshift-Ziel-Data Warehouse erstellen. Sie müssen auch die Replikation in das Data Warehouse zulassen, indem Sie den als autorisierte Integrationsquelle hinzufügen.

Anweisungen zum Ausführen der einzelnen Schritte finden Sie unter Erste Schritte mit Amazon RDS Zero-ETL-Integrationen.

Erforderliche Berechtigungen

Bestimmte IAM-Berechtigungen sind erforderlich, um eine Null-ETL-Integration zu erstellen. Sie benötigen mindestens die Berechtigungen, um die folgenden Aktionen durchführen zu können:

  • Erstellen Sie Zero-ETL-Integrationen für den DB-Cluster der Quell-RDS-Datenbank.

  • Anzeigen und Löschen aller Null-ETL-Integrationen.

  • Erstellen eingehender Integrationen in das Ziel-Data-Warehouse.

Die folgenden Beispielrichtlinien zeigen die Berechtigungen mit den geringsten Rechten, die für die Erstellung und Verwaltung von Integrationen erforderlich sind. Möglicherweise benötigen Sie genau diese Berechtigungen nicht, wenn Ihr Benutzer oder Ihre Rolle über umfassendere Berechtigungen verfügt, z. B. über eine AdministratorAccess verwaltete Richtlinie.

Anmerkung

Redshift Amazon Resource Names (ARNs) haben das folgende Format. Beachten Sie die Verwendung eines Schrägstrichs (/) anstelle eines Doppelpunkts (:) vor der Serverless-Namespace-UUID.

  • Bereitgestellter Cluster – arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

  • Serverless – arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

JSON
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:db:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

Auswählen eines Ziel-Data-Warehouse in einem anderen Konto

Wenn Sie ein Amazon Redshift Redshift-Ziel-Data Warehouse angeben möchten, das sich in einem anderen befindet AWS-Konto, müssen Sie eine Rolle erstellen, die es Benutzern des aktuellen Kontos ermöglicht, auf Ressourcen im Zielkonto zuzugreifen. Weitere Informationen finden Sie unter Gewähren des Zugriffs für einen IAM-Benutzer in einem anderen AWS-Konto , dem Sie gehören.

Die Rolle muss über die folgenden Berechtigungen verfügen, die es dem Benutzer ermöglichen, verfügbare von Amazon Redshift bereitgestellte Cluster und Redshift-Serverless-Namespaces im Zielkonto einzusehen.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

Die Rolle muss über die folgende Vertrauensrichtlinie verfügen, die die Zielkonto-ID angibt.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action":"sts:AssumeRole" } ] }

Anweisungen zum Erstellen der Rolle finden Sie unter Erstellen einer Rolle mit benutzerdefinierten Vertrauensrichtlinien.

Erstellen von Null-ETL-Integrationen

Sie können eine Zero-ETL-Integration mithilfe der AWS Management Console, der oder der AWS CLI RDS-API erstellen.

Wichtig

Zero-ETL-Integrationen unterstützen keine Aktualisierungs- oder Resynchronisierungsvorgänge. Wenn nach der Erstellung Probleme mit einer Integration auftreten, müssen Sie die Integration löschen und eine neue erstellen.

Standardmäßig löscht RDS für MySQL binäre Protokolldateien sofort. Da Zero-ETL-Integrationen auf Binärlogs angewiesen sind, um Daten von der Quelle zum Ziel zu replizieren, muss der Aufbewahrungszeitraum für die Quelldatenbank mindestens eine Stunde betragen. Sobald Sie eine Integration erstellen, überprüft Amazon RDS den Aufbewahrungszeitraum für binäre Protokolldateien für die ausgewählte Quelldatenbank. Wenn der aktuelle Wert 0 Stunden ist, ändert Amazon RDS ihn automatisch auf 1 Stunde. Andernfalls bleibt der Wert gleich.

So erstellen Sie eine Null-ETL-Integration
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im linken Navigationsbereich Zero-ETL-Integrationen aus.

  3. Wählen Sie Zero-ETL-Integration erstellen aus.

  4. Geben Sie für Integrationskennung einen Namen für die Integration ein. Der Name kann bis zu 63 alphanumerische Zeichen umfassen und Bindestriche enthalten.

    Wichtig

    Katalognamen sind auf eine Länge von 19 Zeichen begrenzt. Stellen Sie sicher, dass Ihre Integrations-ID diese Anforderung erfüllt, wenn sie als Katalogname verwendet wird.

  5. Wählen Sie Weiter aus.

  6. Wählen Sie als Quelle den der RDS-Datenbank aus, aus dem die Daten stammen sollen.

    Anmerkung

    RDS benachrichtigt Sie, wenn die DB--Parameter nicht korrekt konfiguriert sind. Wenn Sie diese Nachricht erhalten, können Sie entweder Reparieren wählen oder eine manuelle Konfiguration vornehmen. Anweisungen zur manuellen Behebung finden Sie unter Schritt 1: Erstellen einer benutzerdefinierten DB--Parametergruppe.

    Das Ändern der DB--Parameter erfordert einen Neustart. Bevor Sie die Integration erstellen können, muss der Neustart abgeschlossen sein und die neuen Parameterwerte müssen erfolgreich auf den angewendet werden.

  7. Sobald Ihr erfolgreich konfiguriert wurde, wählen Sie Weiter.

  8. Gehen Sie bei Ziel wie folgt vor:

    1. (Optional) Um ein anderes AWS-Konto für das Amazon Redshift Redshift-Ziel zu verwenden, wählen Sie Anderes Konto angeben aus. Geben Sie dann den Namen einer IAM-Rolle mit Berechtigungen zur Anzeige Ihrer Data Warehouses ein. Anweisungen zum Erstellen der IAM-Rolle finden Sie unter Auswählen eines Ziel-Data-Warehouse in einem anderen Konto.

    2. Wählen Sie für Amazon Redshift Data Warehouse das Ziel für replizierte Daten aus dem aus. Sie können einen bereitgestellten Amazon-Redshift-Cluster oder einen Redshift-Serverless-Namespace als Ziel auswählen.

    Anmerkung

    RDS benachrichtigt Sie, wenn die Ressourcenrichtlinie oder die Einstellungen zur Berücksichtigung der Groß- und Kleinschreibung für das angegebene Data Warehouse nicht korrekt konfiguriert sind. Wenn Sie diese Nachricht erhalten, können Sie entweder Reparieren wählen oder eine manuelle Konfiguration vornehmen. Anweisungen zur manuellen Behebung finden Sie unter Aktivieren der Groß- und Kleinschreibung für Ihr Data Warehouse und Konfigurieren der Autorisierung für Ihr Data Warehouse im Amazon Redshift Management Guide.

    Das Ändern der Groß- und Kleinschreibung für einen bereitgestellten Redshift-Cluster erfordert einen Neustart. Bevor Sie die Integration erstellen können, muss der Neustart abgeschlossen und der neue Parameterwert erfolgreich auf den Cluster angewendet werden.

    Wenn sich Ihre gewählte Quelle und Ihr Ziel in verschiedenen AWS-Konten befinden, kann Amazon RDS diese Einstellungen nicht für Sie korrigieren. Sie müssen zu dem anderen Konto navigieren und diese manuell in Amazon Redshift korrigieren.

  9. Sobald Ihr Ziel-Data Warehouse korrekt konfiguriert ist, wählen Sie Weiter.

  10. (Optional) Fügen Sie unter Tags ein oder mehrere Tags zu der Integration hinzu. Weitere Informationen finden Sie unter Verschlagwortung von Amazon-Ressourcen RDS.

  11. Geben Sie für Verschlüsselung an, wie Ihre Integration verschlüsselt werden soll. Standardmäßig verschlüsselt RDS alle Integrationen mit einem. AWS-eigener Schlüssel Um stattdessen einen vom Kunden verwalteten Schlüssel auszuwählen, aktivieren Sie die Option Verschlüsselungseinstellungen anpassen und wählen Sie einen KMS-Schlüssel aus, der für die Verschlüsselung verwendet werden soll. Weitere Informationen finden Sie unter Verschlüsseln von Amazon RDS-Ressourcen.

    Fügen Sie optional einen Verschlüsselungskontext hinzu. Weitere Informationen finden Sie unter Verschlüsselungskontext im AWS Key Management Service -Entwicklerhandbuch.

    Anmerkung

    Amazon RDS fügt zusätzlich zu den von Ihnen hinzugefügten Verschlüsselungskontextpaaren die folgenden Verschlüsselungskontextpaare hinzu:

    • aws:redshift:integration:arn - IntegrationArn

    • aws:servicename:id - Redshift

    Dies reduziert die Gesamtzahl der Paare, die Sie hinzufügen können, von 8 auf 6 und trägt zur allgemeinen Zeichenbeschränkung der Grant-Beschränkung bei. Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter Using Grant Constraints.

  12. Wählen Sie Weiter aus.

  13. Überprüfen Sie Ihre Integrationseinstellungen und wählen Sie Null-ETL-Integration erstellen aus.

    Wenn die Erstellung fehlschlägt, finden Sie Informationen zur Fehlerbehebung unter Ich kann keine Null-ETL-Integration erstellen.

Der Status der Integration lautet während der Erstellung Creating. Das Ziel-Data-Warehouse von Amazon Redshift hat den Status Modifying. Während dieser Zeit können Sie das Data Warehouse nicht abfragen und keine Konfigurationsänderungen daran vornehmen.

Wenn die Integration erfolgreich erstellt wurde, ändern sich sowohl der Status der Integration als auch der Status des Ziel-Data-Warehouse von Amazon Redshift in Active.

Um eine Zero-ETL-Integration mit dem zu erstellen AWS CLI, verwenden Sie den Befehl create-integration mit den folgenden Optionen:

Anmerkung

Denken Sie daran, dass Katalognamen auf 19 Zeichen begrenzt sind. Wählen Sie Ihren Integrationsnamen entsprechend aus, wenn er als Katalogname verwendet werden soll.

  • --integration-name – Geben Sie einen Namen für die Integration an.

  • --source-arn— Geben Sie den ARN des der RDS-Datenbank an, der die Quelle für die Integration sein wird.

  • --target-arn – Geben Sie den ARN des Amazon Redshift Data Warehouse an, das das Ziel für die Integration sein soll.

Für LinuxmacOS, oderUnix:

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-db \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Windows:

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-db ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Verwenden Sie die CreateIntegration-Operation mit den folgenden Parametern, um mithilfe der Amazon-RDS-API eine Null-ETL-Integration zu erstellen:

Anmerkung

Katalognamen sind auf 19 Zeichen begrenzt. Stellen Sie sicher, dass Ihr IntegrationName Parameter diese Anforderung erfüllt, wenn er als Katalogname verwendet werden soll.

  • IntegrationName – Geben Sie einen Namen für die Integration an.

  • SourceArn— Geben Sie den ARN des der RDS-Datenbank an, der die Quelle für die Integration sein wird.

  • TargetArn – Geben Sie den ARN des Amazon Redshift Data Warehouse an, das das Ziel für die Integration sein soll.

Verschlüsselung von Integrationen mit einem vom Kunden verwalteten Schlüssel

Wenn Sie AWS-eigener Schlüssel beim Erstellen einer Integration einen benutzerdefinierten KMS-Schlüssel anstelle eines angeben, muss die Schlüsselrichtlinie dem Amazon Redshift Redshift-Serviceprinzipal Zugriff auf die CreateGrant Aktion gewähren. Darüber hinaus muss es dem aktuellen Benutzer ermöglicht werden, die CreateGrant Aktionen DescribeKey und auszuführen.

Die folgende Beispielrichtlinie zeigt, wie die erforderlichen Berechtigungen in der Schlüsselrichtlinie bereitgestellt werden. Sie enthält Kontextschlüssel, um den Umfang der Berechtigungen weiter zu reduzieren.

JSON
{ "Version": "2012-10-17", "Id": "Key policy", "Statement": [ { "Sid": "Enables IAM user permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allows the Redshift service principal to add a grant to a KMS key", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current user or role to add a grant to a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService": "rds.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current uer or role to retrieve information about a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Weitere Informationen finden Sie unter Erstellen einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.

Nächste Schritte

Nachdem Sie erfolgreich eine Null-ETL-Integration erstellt haben, müssen Sie eine Zieldatenbank in Ihrem Amazon-Redshift-Zielcluster oder Ihrer Zielarbeitsgruppe erstellen. Anschließend können Sie damit beginnen, Daten zum der Quell-RDS-Datenbank hinzuzufügen und sie in Amazon Redshift abzufragen. Anweisungen finden Sie unter Erstellen von Zieldatenbanken in Amazon Redshift.