Migrieren eines bereitgestellten Clusters zu Amazon Redshift Serverless - Amazon Redshift

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag.

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.

Migrieren eines bereitgestellten Clusters zu Amazon Redshift Serverless

Sie können Ihre vorhandenen bereitgestellten Cluster zu Amazon Redshift Serverless migrieren und so eine automatische Skalierung der Rechenressourcen auf Abruf ermöglichen. Durch die Migration eines bereitgestellten Clusters zu Amazon Redshift Serverless können Sie die Kosten optimieren, indem Sie nur für die von Ihnen genutzten Ressourcen zahlen und die Kapazität automatisch auf der Grundlage der Workload-Anforderungen skalieren. Zu den häufigsten Anwendungsfällen für die Migration gehören die Ausführung von Ad-hoc-Abfragen, regelmäßige Datenverarbeitungsaufträge oder die Bearbeitung unvorhersehbarer Workloads ohne übermäßige Bereitstellung von Ressourcen. Führen Sie die folgenden Aufgaben aus, um Ihren bereitgestellten Amazon Redshift Redshift-Cluster zur serverlosen Bereitstellungsoption zu migrieren.

Erstellen eines Snapshots Ihres bereitgestellten Clusters

Anmerkung

Amazon Redshift wandelt verschachtelte Schlüssel automatisch in zusammengesetzte Schlüssel um, wenn Sie einen Snapshot bereitgestellter Cluster in einem Serverless-Namespace wiederherstellen.

Um Daten von Ihrem bereitgestellten Cluster zu Amazon Redshift Serverless zu übertragen, erstellen Sie einen Snapshot Ihres bereitgestellten Clusters und stellen diesen dann in Amazon Redshift Serverless wieder her.

Anmerkung

Bevor Sie Ihre Daten zu einer Serverless-Arbeitsgruppe migrieren, stellen Sie sicher, dass die Anforderungen Ihres bereitgestellten Clusters mit der RPU-Menge kompatibel sind, die Sie in Amazon Redshift Serverless auswählen.

So erstellen Sie einen Snapshot Ihres bereitgestellten Clusters

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

  2. Wählen Sie im Navigationsmenü Clusters (Cluster), Snapshots und wählen Sie dann Create snapshot (Snapshot erstellen) aus.

  3. Geben Sie die Eigenschaften der Snapshot-Definition ein und wählen Sie dann Create snapshot (Snapshot erstellen) aus. Es kann einige Zeit dauern, bis der Snapshot verfügbar ist.

So stellen Sie einen Snapshot bereitgestellter Cluster in einem Serverless-Namespace wieder her:

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

  2. Navigieren Sie auf der Konsole für bereitgestellte Amazon Redshift-Cluster zur Seite Clusters (Cluster), Snapshots.

  3. Wählen Sie einen Snapshot zum Verwenden aus.

  4. Wählen Sie Restore snapshot (Snapshot wiederherstellen), Restore to serverless namespace (In Serverless-Namespace wiederherstellen).

  5. Wählen Sie einen Namespace, in dem Sie Ihren Snapshot wiederherstellen möchten.

  6. Bestätigen Sie, dass Sie von Ihrem Snapshot aus wiederherstellen möchten. Diese Aktion ersetzt alle Datenbanken auf Ihrem Serverless-Endpunkt durch die Daten aus Ihrem bereitgestellten Cluster. Wählen Sie Restore (Wiederherstellen) aus.

Weitere Informationen zu bereitgestellten Cluster-Snapshots finden Sie unter Amazon-Redshift-Snapshots.

Herstellen einer Verbindung mit Amazon Redshift Serverless über einen Treiber

Um mit Ihrem bevorzugten SQL-Client eine Verbindung zu Amazon Redshift Serverless herzustellen, können Sie den von Amazon Redshift bereitgestellten JDBC-Treiber Version 2.x verwenden. Wir empfehlen, mit der neuesten Version des Amazon Redshift JDBC-Treibers, Version 2.x, eine Verbindung zu Amazon Redshift herzustellen. Der Portnummer ist optional. Wenn Sie keine Angaben machen, verwendet Amazon Redshift Serverless standardmäßig die Portnummer 5439. Sie können zu einem anderen Port aus dem Portbereich 5431–5455 oder 8191–8215 wechseln. Um den Standardport für einen serverlosen Endpunkt zu ändern, verwenden Sie die AWS CLI Amazon Redshift Redshift-API.

Den genauen Endpunkt für den JDBC-, ODBC- oder Python-Treiber finden Sie unter Arbeitsgruppenkonfiguration in Amazon Redshift Serverless. Sie können auch den Amazon Redshift Serverless API-Vorgang GetWorkgroup oder den AWS CLI Vorgang verwenden, get-workgroups um Informationen über Ihre Arbeitsgruppe zurückzugeben und dann eine Verbindung herzustellen.

Verbinden mit passwortbasierter Authentifizierung

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift JDBC-Treibers Version 2.x mit kennwortbasierter Authentifizierung herzustellen:

jdbc:redshift://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/?username=username&password=password

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift Python-Connectors mit kennwortbasierter Authentifizierung herzustellen:

import redshift_connector with redshift_connector.connect( host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', user='username', password='password' # port value of 5439 is specified by default ) as conn: pass

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift ODBC-Treibers Version 2.x mit kennwortbasierter Authentifizierung herzustellen:

Driver={Amazon Redshift ODBC Driver (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; User=username; Password=password

Herstellen einer Verbindung über IAM

Wenn Sie sich lieber mit IAM anmelden möchten, verwenden Sie den Amazon Redshift Serverless GetCredentialsAPI-Vorgang.

Um die IAM-Authentifizierung iam: zu verwenden, fügen Sie der Amazon Redshift JDBC-URL Folgendes hinzujdbc:redshift:, wie im folgenden Beispiel gezeigt.

jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/<database-name>

Dieser Amazon Redshift Serverless-Endpunkt unterstützt keine Anpassung von DBUser, DBGroup oder Auto-Create. Standardmäßig erstellt der Treiber bei der Anmeldung automatisch Datenbankbenutzer. Anschließend werden die Benutzer Amazon Redshift Redshift-Datenbankrollen zugewiesen, basierend auf den in IAM angegebenen Tags oder auf der Grundlage der in Ihrem Identitätsanbieter (IdP) definierten Gruppen.

Stellen Sie sicher, dass Ihre AWS Identität über die richtige IAM-Richtlinie für die Aktion verfügt. redshift-serverless:GetCredentials Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die einer AWS Identität die richtigen Berechtigungen für die Verbindung mit Amazon Redshift Serverless gewährt. Weitere Informationen zu IAM-Berechtigungen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.

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

Um eine Verbindung mithilfe des Amazon Redshift Python-Konnektors mit IAM-basierter Authentifizierung herzustellen, verwenden Sie iam=true in Ihrem Code, wie in der folgenden Syntax gezeigt:

import redshift_connector with redshift_connector.connect( iam=True, host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>' <IAM credentials> ) as conn: pass

Für IAM credentials können Sie beliebige Anmeldeinformationen verwenden, einschließlich der folgenden:

  • AWS Profilkonfiguration.

  • IAM-Anmeldeinformationen (eine Zugriffsschlüssel-ID, ein geheimer Zugriffsschlüssel und optional ein Sitzungstoken).

  • Verbund von Identitätsanbietern.

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift ODBC-Treibers Version 2.x mit IAM-basierter Authentifizierung und einem Profil herzustellen:

Driver={Amazon Redshift ODBC Driver (x64)}; IAM=true; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; Profile=aws-profile-name;

Verbindung mithilfe von IAM mit der API herstellen GetClusterCredentials

Anmerkung

Wenn Sie eine Verbindung zu Amazon Redshift Serverless herstellen, empfehlen wir die Verwendung der GetCredentialsAPI. Diese API bietet umfassende Funktionen für die rollenbasierte Zugriffskontrolle (RBAC) sowie weitere neue Funktionen, die in nicht verfügbar sind. GetClusterCredentials Wir unterstützen die GetClusterCredentials API, um den Übergang von bereitgestellten Clustern zu serverlosen Arbeitsgruppen zu vereinfachen. Wir empfehlen jedoch dringend, so bald wie möglich zur Nutzung GetCredentials zu wechseln, um eine optimale Kompatibilität zu gewährleisten.

Sie können mithilfe der API eine Verbindung zu Amazon Redshift Serverless herstellen. GetClusterCredentials Um diese Authentifizierungsmethode zu implementieren, ändern Sie Ihren Client oder Ihre Anwendung, indem Sie die folgenden Parameter einbeziehen:

  • iam=true

  • clusterid/cluster_identifier=redshift-serverless-<workgroup-name>

  • region=<aws-region>

In den folgenden Beispielen wird das BrowserSAML-Plugin für alle drei Treiber veranschaulicht. Dies ist einer von mehreren verfügbaren Authentifizierungsansätzen. Die Beispiele können geändert werden, um je nach Ihren spezifischen Anforderungen alternative Authentifizierungsmethoden oder Plugins zu verwenden.

IAM-Richtlinienberechtigungen für GetClusterCredentials

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie mit den Berechtigungen, die für die Verwendung GetClusterCredentials mit Amazon Redshift Serverless erforderlich sind:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "redshift:CreateClusterUser", "redshift:JoinGroup", "redshift:GetClusterCredentials", "redshift:ExecuteQuery", "redshift:FetchResults", "redshift:DescribeClusters", "redshift:DescribeTable" ], "Resource": [ "arn:aws:redshift:us-east-1:<account-id>:cluster:redshift-serverless-<workgroup-name>", "arn:aws:redshift:us-east-1:<account-id>:dbgroup:redshift-serverless-<workgroup-name>", "arn:aws:redshift:us-east-1:<account-id>:dbname:redshift-serverless-<workgroup-name>/${redshift:DbName}", "arn:aws:redshift:us-east-1:<account-id>:dbuser:redshift-serverless-<workgroup-name>/${redshift:DbUser}" ] } ] }

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift JDBC-Treibers Version 2.x mit GetClusterCredentials herzustellen:

jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>?plugin_name=com.amazon.redshift.plugin.BrowserSamlCredentialsProvider&login_url=<single sign-on URL from IdP>"

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift Python-Connectors mit GetClusterCredentials herzustellen:

import redshift_connector with redshift_connector.connect( iam=True, cluster_identifier='redshift-serverless-<workgroup-name>', region='<aws-region>', database='<database-name>', credentials_provider='BrowserSamlCredentialsProvider' login_url='<single sign-on URL from IdP>' # port value of 5439 is specified by default ) as conn: pass

Verwenden Sie die folgende Syntax, um eine Verbindung mithilfe des Amazon Redshift ODBC-Treibers Version 2.x mit GetClusterCredentials herzustellen:

Driver= {Amazon Redshift ODBC Driver (x64)}; IAM=true; isServerless=true; ClusterId=redshift-serverless-<workgroup-name>; region=<aws-region>; plugin_name=BrowserSAML;login_url=<single sign-on URL from IdP>

Im Folgenden finden Sie ein Beispiel für eine ODBC-DSN-Konfiguration in Windows:

Die Registerkarte Verbindung im Amazon Redshift ODBC-Treiber für Windows. Felder, die der obigen Beispielsyntax entsprechen, sind ausgefüllt.

Verwenden des Amazon-Redshift-Serverless-SDK

Wenn Sie Verwaltungsskripte mit dem Amazon-Redshift-SDK geschrieben haben, müssen Sie das neue Amazon-Redshift-Serverless-SDK verwenden, um Amazon Redshift Serverless und zugehörige Ressourcen zu verwalten. Weitere Informationen zu verfügbaren API-Operationen finden Sie im API-Referenzhandbuch zu Amazon Redshift Serverless.