Migration à partir d’un cluster provisionné vers Amazon Redshift sans serveur - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migration à partir d’un cluster provisionné vers Amazon Redshift sans serveur

Vous pouvez migrer vos clusters provisionnés existants vers Amazon Redshift Serverless, ce qui permet une mise à l'échelle automatique et à la demande des ressources de calcul. La migration d'un cluster provisionné vers Amazon Redshift Serverless vous permet d'optimiser les coûts en ne payant que pour les ressources que vous utilisez et en dimensionnant automatiquement la capacité en fonction des demandes de charge de travail. Les cas d'utilisation courants de la migration incluent l'exécution de requêtes ad hoc, de tâches de traitement de données périodiques ou la gestion de charges de travail imprévisibles sans surprovisionner les ressources. Effectuez les tâches suivantes pour migrer votre cluster Amazon Redshift provisionné vers l'option de déploiement sans serveur.

Création d’un instantané de votre cluster provisionné

Pour transférer des données de votre cluster provisionné vers Amazon Redshift sans serveur, créez un instantané de votre cluster provisionné, puis restaurez l’instantané dans Amazon Redshift sans serveur. Amazon Redshift convertit automatiquement les clés entrelacées en clés composées lorsque vous restaurez un instantané de cluster provisionné dans un espace de noms sans serveur.

Note

Avant de migrer vos données vers un groupe de travail sans serveur, assurez-vous que les besoins de votre cluster provisionné sont compatibles avec la quantité que RPU vous choisissez dans Amazon Redshift Serverless.

Pour créer un instantané de votre cluster provisionné

  1. Connectez-vous au AWS Management Console et ouvrez la console Amazon Redshift à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters, Snapshots (Instantanés), puis choisissez l’onglet Create snapshot (Créer un instantané).

  3. Entrez les propriétés de la définition de l’instantané, puis choisissez Create snapshot (Créer un instantané). L’instantané n’est pas toujours disponible immédiatement.

Pour restaurer un instantané de cluster provisionné dans un espace de noms sans serveur :

  1. Connectez-vous au AWS Management Console et ouvrez la console Amazon Redshift à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Démarrez la console de cluster provisionné Amazon Redshift et accédez à Clusters, sur la page Snapshots (Instantanés).

  3. Choisissez un instantané à utiliser.

  4. Choisissez Restore snapshot (Restaurer un instantané), Restore to serverless namespace (Restaurer vers un espace de noms sans serveur).

  5. Choisissez un espace de noms dans lequel restaurer votre instantané.

  6. Confirmez que vous souhaitez effectuer une restauration à partir de votre instantané. Cette action remplace toutes les bases de données de votre point de terminaison sans serveur par les données de votre cluster alloué. Choisissez Restore (Restaurer).

Pour plus d’informations sur les instantanés de cluster provisionnés, consultez Instantanées Amazon Redshift.

Connexion à Amazon Redshift sans serveur à l’aide d’un pilote

Pour vous connecter à Amazon Redshift Serverless avec votre SQL client préféré, vous pouvez utiliser le pilote version 2 fourni par JDBC Amazon Redshift. Nous vous recommandons de vous connecter à l'aide de la version 2.1.x ou ultérieure du JDBC pilote. Le numéro de port est facultatif. Si vous ne l’incluez pas, Amazon Redshift sans serveur utilise par défaut le numéro de port 5439. Vous pouvez passer à un autre port dans la plage de ports 5431-5455 ou 8191-8215. Pour modifier le port par défaut d'un point de terminaison sans serveur, utilisez AWS CLI et Amazon RedshiftAPI.

Pour trouver le point de terminaison exact à utiliser pour le piloteJDBC, ou PythonODBC, consultez la section Configuration du groupe de travail dans Amazon Redshift Serverless. Vous pouvez également utiliser l'opération Amazon Redshift Serverless ou API GetWorkgroup AWS CLI opération get-workgroups pour renvoyer des informations sur votre groupe de travail, puis vous connecter.

Connexion à l’aide d’une authentification par mot de passe

Pour se connecter en utilisant une authentification par mot de passe, utilisez la syntaxe suivante.

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

Pour vous connecter à l’aide du pilote Amazon Redshift Python, utilisez la syntaxe suivante.

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

Connexion à l'aide IAM

Si vous préférez vous connecter avecIAM, utilisez le point de terminaison du pilote suivant. Ce point de terminaison du pilote vous permet de vous connecter à une base de données spécifique et utilise l'opération Amazon Redshift Serverless GetCredentialsAPI.

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

Ce point de terminaison de pilote ne prend pas en charge la personnalisation de dbUser, dbGroup et auto-create. Par défaut, le pilote crée automatiquement les utilisateurs de la base de données lors de la connexion et les affecte à des groupes en fonction des groupes que vous avez définis dansIAM. Remarque : Les noms de groupe que vous spécifiez ne IAM doivent contenir que des lettres minuscules, des chiffres, un trait de soulignement (« _ »), un signe plus (« + »), un point (point), un symbole (@) ou un trait d'union (« - »). Sinon, le pilote risque de ne pas se connecter à dbGroup.

Assurez-vous que votre AWS l'identité dispose de la IAM politique appropriée pour l'RedshiftServerlessGetCredentialsaction. Voici un exemple de IAM politique qui accorde les autorisations appropriées à un AWS identité pour se connecter à Amazon Redshift Serverless. Pour plus d'informations sur IAM les autorisations, voir Ajouter des autorisations IAM d'identité.

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

Connexion à l'IAMaide de dbUser et dbGroups

Si vous souhaitez utiliser des options personnalisées dbUser et de dbGroups connexion, utilisez le point de terminaison du pilote suivant. Comme pour l’autre point de terminaison de pilote Amazon Redshift sans serveur, cette syntaxe crée automatiquement des utilisateurs de base de données lors de la connexion. Ce point de terminaison du pilote utilise l'opération Amazon Redshift Serverless GetCredentialsAPI. dbUser doit commencer par une lettre, ne doit contenir que des caractères alphanumériques, un trait de soulignement (« _ »), un signe plus (« + »), un point («. »), un point (« @ ») ou un trait d'union (« - »), et doit comporter moins de 128 caractères. dbGroups ne doit contenir que des lettres minuscules, des chiffres, un trait de soulignement (« _ »), un signe plus (« + »), un point (point), un symbole (@) ou un trait d'union.

jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>

Pour vous connecter à l’aide du pilote Amazon Redshift Python, utilisez la syntaxe suivante.

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

Connexion à l'aide ODBC

Pour vous connecter en utilisantODBC, utilisez la syntaxe suivante.

Driver={Amazon Redshift (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=dev

Utilisation d'Amazon Redshift Serverless SDK

Si vous avez écrit des scripts de gestion à l'aide d'Amazon RedshiftSDK, vous devez utiliser le nouvel Amazon Redshift Serverless pour SDK gérer Amazon Redshift Serverless et les ressources associées. Pour plus d'informations sur les API opérations disponibles, consultez le guide de référence Amazon Redshift Serverless API.