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 Amazon RDS ETL mit Amazon Redshift
Wenn Sie eine Amazon RDS ETL erstellen, geben Sie den der RDSQuelldatenbank 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.
Themen
Voraussetzungen
Bevor Sie eine ETL Zero-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 — ETL Zero-Integrationen mit Amazon Redshift.
Erforderliche Berechtigungen
Bestimmte IAM Berechtigungen sind erforderlich, um eine ETL Nullintegration zu erstellen. Sie benötigen mindestens die Berechtigungen, um die folgenden Aktionen durchführen zu können:
Erstellen Sie ETL Zero-Integrationen für den der RDSQuelldatenbank.
Alle ETL Null-Integrationen anzeigen und löschen.
Erstellen eingehender Integrationen in das Ziel-Data-Warehouse. Sie können diese Berechtigung entfernen, wenn dasselbe Konto das Amazon Redshift Data Warehouse besitzt und dieses Konto ein autorisierter Prinzipal für dieses Data Warehouse ist. Informationen zum Hinzufügen von autorisierten Prinzipalen finden Sie unter Konfigurieren der Autorisierung für Ihr Amazon Redshift Data Warehouse.
Die folgende Beispielrichtlinie zeigt die Berechtigungen mit den geringsten Berechtigungen, die zum Erstellen und Verwalten 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 dem serverlosen Namespace. UUID
-
Bereitgestellter Cluster –
arn:aws:redshift:{region}:{account-id}:namespace:
namespace-uuid
-
Serverless –
arn:aws:redshift-serverless:{region}:{account-id}:namespace/
namespace-uuid
{ "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}
::integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:
{account-id}
{region}
::namespace:
{account-id}
namespace-uuid
" ] }] }
Auswählen eines Ziel-Data-Warehouse in einem anderen Konto
Wenn Sie vorhaben, ein Amazon Redshift Redshift-Ziel-Data Warehouse anzugeben, 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 das Ihnen gehört.
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.
{ "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.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::
:root" }, "Action":"sts:AssumeRole" } ] }
{external-account-id}
Anweisungen zum Erstellen der Rolle finden Sie unter Erstellen einer Rolle mit benutzerdefinierten Vertrauensrichtlinien.
Schaffung von ETL Null-Integrationen
Sie können eine ETL Zero-Integration und , indem Sie AWS Management Console, der AWS CLI, oder der RDSAPI.
Standardmäßig löscht RDS for My SQL sofort binäre Protokolldateien. Da ETL Zero-Integrations 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, RDS überprüft Amazon den Aufbewahrungszeitraum für binäre Protokolldateien für die ausgewählte Quelldatenbank. Wenn der aktuelle Wert 0 Stunden ist, ändert Amazon ihn RDS automatisch auf 1 Stunde. Andernfalls bleibt der Wert gleich.
Um eine ETL Null-Integration zu erstellen
Loggen Sie sich ein bei AWS Management Console und öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im linken Navigationsbereich Zero- Integrations aus. ETL
-
Wählen Sie Create Zero- ETL Integration aus.
-
Geben Sie für Integrationskennung einen Namen für die Integration ein. Der Name kann bis zu 63 alphanumerische Zeichen umfassen und Bindestriche enthalten.
-
Wählen Sie Weiter.
Wählen Sie als Quelle den der RDSDatenbank aus, aus dem die Daten stammen sollen.
Anmerkung
wenn die 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.
-
Sobald Ihr erfolgreich konfiguriert wurde, wählen Sie Weiter.
Gehen Sie bei Ziel wie folgt vor:
(Optional) Um ein anderes zu verwenden AWS-Konto wählen Sie für das Amazon Redshift Redshift-Ziel die Option Spezifizieren Sie ein anderes Konto aus. Geben Sie dann die IAM Rolle ARN einer Rolle ein, die berechtigt ist, Ihre Data Warehouses anzuzeigen. Anweisungen zum Erstellen der IAM Rolle finden Sie unterAuswählen eines Ziel-Data-Warehouse in einem anderen Konto.
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
RDSbenachrichtigt 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 Ihre gewählte Quelle und Ihr Ziel unterschiedlich sind AWS-Konten, dann RDS kann Amazon diese Einstellungen nicht für Sie korrigieren. Sie müssen zu dem anderen Konto navigieren und diese manuell in Amazon Redshift korrigieren.
-
Sobald Ihr Ziel-Data Warehouse korrekt konfiguriert ist, wählen Sie Weiter.
-
(Optional) Fügen Sie unter Tags ein oder mehrere Tags zu der Integration hinzu. Weitere Informationen finden Sie unter Verschlagwortung von Amazon-Ressourcen RDS.
-
Geben Sie für Verschlüsselung an, wie Ihre Integration verschlüsselt werden soll. RDSVerschlüsselt standardmäßig 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 Amazon.
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 Zuschussbeschränkung bei. Weitere Informationen finden Sie unter Verwenden von Zuschussbeschränkungen im AWS Key Management Service Entwicklerhandbuch.
-
-
Wählen Sie Weiter.
Überprüfen Sie Ihre Integrationseinstellungen und wählen Sie Create Zero- ETL Integration aus.
Wenn die Erstellung fehlschlägt, finden Sie Informationen zur Fehlerbehebung unter Ich kann keine Null-Integration erstellen ETL.
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 ETL Null-Integration mit dem zu erstellen AWS CLI, verwenden Sie den Befehl create-integration mit den folgenden Optionen:
-
--integration-name
– Geben Sie einen Namen für die Integration an. -
--source-arn
— Geben Sie den ARN der RDSDatenbank an, der die Quelle für die Integration sein soll. -
--target-arn
— Geben Sie das ARN Amazon Redshift Data Warehouse an, das das Ziel für die Integration sein soll.
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
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
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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 den CreateIntegration
Vorgang mit den folgenden Parametern RDSAPI, um mithilfe von Amazon eine ETL Null-Integration zu erstellen:
-
IntegrationName
– Geben Sie einen Namen für die Integration an. -
SourceArn
— Geben Sie den ARN der RDSDatenbank an, der die Quelle für die Integration sein soll. -
TargetArn
— Geben Sie das ARN 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 einen benutzerdefinierten KMS Schlüssel anstelle eines angeben AWS-eigener Schlüssel Wenn Sie eine Integration erstellen, muss die Schlüsselrichtlinie dem Amazon Redshift Service Principal Zugriff auf die CreateGrant
Aktion gewähren. Darüber hinaus muss es dem Konto oder der Rolle des Anforderers ermöglicht werden, die DescribeKey
Aktionen auszuführen. CreateGrant
Das folgende Beispiel für wichtige Richtlinienerklärungen zeigt, welche Berechtigungen in Ihrem Richtliniendokument erforderlich sind. Einige Beispiele enthalten Kontextschlüssel, um den Umfang der Berechtigungen weiter zu reduzieren.
Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Anforderers, Informationen zu einem KMS Schlüssel abzurufen.
{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
{account-ID}
:role/{role-name}
" }, "Action":"kms:DescribeKey", "Resource":"*" }
Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Antragstellers, einem Schlüssel einen Zuschuss hinzuzufügen. KMS Der kms:ViaService
Bedingungsschlüssel beschränkt die Verwendung des KMS Schlüssels auf Anfragen von AmazonRDS.
{ "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.{region}
.amazonaws.com" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }
Die folgende Richtlinienerklärung ermöglicht es dem Amazon Redshift Service Principal, einem KMS Schlüssel einen Grant hinzuzufügen.
{ "Effect":"Allow", "Principal":{ "Service":"redshift.amazonaws.com" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:
{context-key}
":"{context-value}
", "aws:SourceAccount":"{account-ID}
" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] }, "ArnLike":{ "aws:SourceArn":"arn:aws:*:{region}
:{account-ID}
:integration:*" } } }
Weitere Informationen finden Sie unter Erstellen einer wichtigen Richtlinie im AWS Key Management Service Leitfaden für Entwickler.
Nächste Schritte
Nachdem Sie erfolgreich eine ETL Zero-Integration erstellt haben, müssen Sie eine Zieldatenbank in Ihrem Amazon Redshift Redshift-Zielcluster oder Ihrer Arbeitsgruppe erstellen. Anschließend können Sie damit beginnen, Daten zum der RDSQuelldatenbank hinzuzufügen und sie in Amazon Redshift abzufragen. Anweisungen finden Sie unter Erstellen von Zieldatenbanken in Amazon Redshift.