Connexion à Amazon Redshift sans serveur - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

Connexion à Amazon Redshift sans serveur

Une fois que vous avez configuré votre instance Amazon Redshift sans serveur, vous pouvez vous y connecter selon différentes méthodes, décrites ci-dessous. Si vous avez plusieurs équipes ou projets et que vous souhaitez gérer les coûts séparément, vous pouvez utiliser des distincts Comptes AWS.

Pour obtenir une liste des Régions AWS où l’API Amazon Redshift sans serveur est disponible, consultez les points de terminaison répertoriés pour l’API Redshift sans serveur dans Référence générale d'Amazon Web Services.

Amazon Redshift sans serveur se connecte à l’environnement sans serveur de votre Compte AWS dans la Région AWS actuelle. Amazon Redshift sans serveur s’exécute dans un VPC au sein des plages de ports 5431-5455 et 8191-8215. La valeur par défaut est 5439. Actuellement, vous ne pouvez changer de port qu’avec l’opération d’API UpdateWorkgroup et l’opération AWS CLI update-workgroup.

Connexion à Amazon Redshift sans serveur

Vous pouvez vous connecter à une base de données (nommée dev) dans Amazon Redshift sans serveur avec la syntaxe suivante.

workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:port/dev

Par exemple, la chaîne de connexion suivante spécifie la région us-east-1.

default.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439/dev

Connexion à Amazon Redshift sans serveur via des pilotes JDBC

Vous pouvez utiliser l’une des méthodes suivantes pour vous connecter à Amazon Redshift sans serveur avec votre client SQL préféré en utilisant le pilote JDBC version 2.x fourni par Amazon Redshift.

Pour se connecter avec des informations d’identification pour l’authentification de la base de données en utilisant le pilote JDBC version 2.x, utilisez la syntaxe suivante. Le numéro de port est facultatif. S’il n’est pas inclus, 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 l’AWS CLI et l’API Amazon Redshift.

jdbc:redshift://workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:5439/dev

Par exemple, la chaîne de connexion suivante spécifie l’ID de compte 123456789012 dans la région us-east-2.

jdbc:redshift://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev

Pour vous connecter à IAM à l’aide du pilote JDBC version 2.x, utilisez la syntaxe suivante. Le numéro de port est facultatif. S’il n’est pas inclus, 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 l’AWS CLI et l’API Amazon Redshift.

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

Par exemple, la chaîne de connexion suivante spécifie l’ID de compte 123456789012 dans la région us-east-2.

jdbc:redshift:iam://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev

Pour ODBC, utilisez la syntaxe suivante.

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

Si vous utilisez une version du pilote JDBC antérieure à 2.1.0.9 et que vous vous connectez avec IAM, vous devrez utiliser la syntaxe suivante.

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

Par exemple, la chaîne de connexion suivante spécifie le groupe de travail par défaut et la Région AWS us-east-1.

jdbc:redshift:iam://redshift-serverless-default:us-east-1/dev

Pour plus d’informations sur les pilotes, consultez Configuration des connexions dans Amazon Redshift.

Trouver votre chaîne de connexion JDBC et ODBC

Pour vous connecter à votre groupe de travail avec votre outil client SQL, vous devez disposer de la chaîne de connexion JDBC ou ODBC. Vous pouvez trouver la chaîne de connexion dans la console Amazon Redshift sans serveur, sur la page des détails d’un groupe de travail.

Pour trouver la chaîne de connexion d’un groupe de travail
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon Redshift à l’adresse https://console.aws.amazon.com/redshiftv2/.

  2. Dans le menu de navigation, choisissez Redshift sans serveur.

  3. Dans le menu de navigation, choisissez Configuration du groupe de travail, puis sélectionnez le nom du groupe de travail dans la liste pour ouvrir ses détails.

  4. Les chaînes de connexion JDBC URL et ODBC URL sont disponibles, ainsi que des détails supplémentaires dans la section Informations générales. Chaque chaîne est basée sur la région AWS où le groupe de travail fonctionne. Cliquez sur l’icône en regard de la chaîne de connexion appropriée pour la copier.

Connexion à Amazon Redshift sans serveur avec l’API de données

Vous pouvez également utiliser l’API de données Amazon Redshift pour vous connecter à Amazon Redshift sans serveur. Utilisez le paramètre workgroup-name à la place du paramètre cluster-identifier dans vos appels AWS CLI.

Pour plus d’informations sur l’API de données, consultez Utilisation de l’API de données Amazon Redshift. Pour des exemples de code appelant l’API de données en Python et d’autres exemples, consultez Démarrer avec l’API de données Redshift et consultez les dossiers quick-start et use-cases dans GitHub.

Se connecter avec SSL à Amazon Redshift sans serveur

Configuration d’une connexion sécurisée à Amazon Redshift sans serveur

Pour prendre en charge les connexions SSL, Redshift sans serveur crée et installe un certificat SSL émis par AWS Certificate Manager (ACM) sur chaque groupe de travail. Les certificats ACM sont publiquement approuvés par la plupart des systèmes d’exploitation, des navigateurs web et des clients. Vous pourriez devoir télécharger une solution groupée de certificats si vos clients ou applications SQL se connectent à Redshift sans serveur en utilisant SSL avec l’option de connexion sslmode définie sur require, verify-ca ou verify-full. Si votre client a besoin d’un certificat, Redshift sans serveur fournit un certificat de solution groupée comme suit :

  • Téléchargez la solution groupée depuis https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt.

    • Le numéro de total de contrôle MD5 prévu est 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • Le numéro de total de contrôle sha256 est 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    N’utilisez pas la solution groupée de certificats précédente qui se trouvait à l’adresse https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt.

  • Dans la Région AWS de Chine, téléchargez la solution groupée depuis https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt.

    • Le numéro de total de contrôle MD5 prévu est 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • Le numéro de total de contrôle sha256 est 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    N’utilisez pas les solutions groupées de certificats antérieures qui se trouvait à l’adresse https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ca-bundle.crt et https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem.

Important

Redshift sans serveur a changé la méthode de gestion des certificats SSL. Il se peut que vous ayez besoin de mettre à jour vos certificats CA actuels racine approuvés pour pouvoir continuer à vous connecter à vos groupes de travail à l’aide du protocole SSL. Pour de plus amples informations sur les certificats ACM pour les connexions SSL, consultez Transition vers les certificats ACM pour les connexions SSL.

Par défaut, les bases de données du groupe de travail acceptent une connexion qu’elle s’appuie sur le protocole SSL ou non.

Pour créer un nouveau groupe de travail qui accepte uniquement les connexions SSL, utilisez la commande create-workgroup et définissez le paramètre require_ssl sur true. Pour utiliser l’exemple suivant, remplacez yourNamespaceName par le nom de votre espace de noms et remplacez yourWorkgroupName par le nom de votre groupe de travail.

aws redshift-serverless create-workgroup \ --namespace-name yourNamespaceName \ --workgroup-name yourWorkgroupName \ --config-parameters parameterKey=require_ssl,parameterValue=true

Pour mettre à jour un groupe de travail existant afin qu’il n’accepte que les connexions SSL, utilisez la commande update-workgroup et définissez le paramètre require_ssl sur true. Notez que Redshift sans serveur redémarrera votre groupe de travail lorsque vous mettrez à jour le paramètre require_ssl. Pour utiliser l’exemple suivant, remplacez yourWorkgroupName par le nom de votre groupe de travail.

aws redshift-serverless update-workgroup \ --workgroup-name yourWorkgroupName \ --config-parameters parameterKey=require_ssl,parameterValue=true

Amazon Redshift prend en charge le protocole d’accord de clé Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). Avec le protocole ECDHE, le client et le serveur disposent chacun d’une paire de clés publiques-privées à courbes elliptiques qui permettent d’établir un secret partagé via un canal non sécurisé. Vous n’avez pas besoin de configurer quoi que ce soit dans Amazon Redshift pour activer ECDHE. Si vous vous connectez à partir d’un outil client SQL qui utilise le protocole ECDHE pour chiffrer les communications entre le client et le serveur, Amazon Redshift utilise la liste de chiffrement fournie pour établir les connexions appropriées. Pour plus d’informations, consultez Elliptic curve diffie—hellman sur Wikipedia et Ciphers sur le site d’OpenSSL.

Configuration d’une connexion SSL conforme à FIPS à Amazon Redshift sans serveur

Pour créer un nouveau groupe de travail utilisant une connexion SSL conforme à FIPS, utilisez la commande create-workgroup et définissez les paramètres use_fips_ssl et require_ssl sur true. Pour utiliser l’exemple suivant, remplacez yourNamespaceName par le nom de votre espace de noms et remplacez yourWorkgroupName par le nom de votre groupe de travail.

aws redshift-serverless create-workgroup \ --namespace-name yourNamespaceName \ --workgroup-name yourWorkgroupName \ --config-parameters '[{"parameterKey": "require_ssl", "parameterValue": "true"}, {"parameterKey": "use_fips_ssl", "parameterValue": "true"}]'

Pour mettre à jour un groupe de travail pour utiliser une connexion SSL conforme à FIPS, utilisez la commande update-workgroup et définissez les paramètres use_fips_ssl et require_ssl sur true. Notez que Redshift sans serveur redémarrera votre groupe de travail lorsque vous mettrez à jour le paramètre use_fips_ssl. Pour utiliser l’exemple suivant, remplacez yourWorkgroupName par le nom de votre groupe de travail.

aws redshift-serverless update-workgroup \ --workgroup-name yourWorkgroupName \ --config-parameters '[{"parameterKey": "require_ssl", "parameterValue": "true"}, {"parameterKey": "use_fips_ssl", "parameterValue": "true"}]'

Pour plus d’informations sur la configuration de Redshift sans serveur pour utiliser des connexions conformes à FIPS, consultez use_fips_ssl dans le Guide du développeur de base de données Amazon Redshift.

Connexion à Amazon Redshift sans serveur à partir d’un point de terminaison de VPC géré par Amazon Redshift

Connexion à Amazon Redshift sans serveur depuis d’autres points de terminaison d’un VPC

Pour plus d’informations sur l’installation ou la configuration d’un point de terminaison VPC géré pour un groupe de travail Amazon Redshift sans serveur, consultez Utilisation des points de terminaison VPC gérés par Redshift.

Pour en savoir plus la connexion à Amazon Redshift sans serveur à partir d’un point de terminaison d’un VPC d’interface (AWS PrivateLink), consultez Points de terminaison de VPC d’Interface.

Connexion à Amazon Redshift sans serveur à partir d’un point de terminaison d’un VPC Redshift dans un autre compte

Connexion à Amazon Redshift sans serveur à partir d’un point de terminaison entre VPC

Amazon Redshift sans serveur est mis en service dans un VPC. Vous pouvez accorder l’accès à un VPC dans un autre compte pour accéder à Amazon Redshift sans serveur sur votre compte. Cela ressemble à une connexion depuis un point de terminaison de VPC géré, mais dans ce cas, la connexion provient, par exemple, d’un client de base de données dans un autre compte. Vous pouvez effectuer quelques opérations :

  • Le propriétaire d’une base de données peut accorder l’accès à un VPC contenant Amazon Redshift sans serveur à un autre compte dans la même région.

  • Le propriétaire d’une base de données peut révoquer l’accès à Amazon Redshift sans serveur.

Le principal avantage de l’accès intercompte est de faciliter la collaboration avec les bases de données. Les utilisateurs n’ont pas besoin d’être provisionnés dans le compte contenant la base de données pour y accéder, ce qui réduit les étapes de configuration et fait gagner du temps.

Autorisations requises pour accorder l’accès à un VPC dans un autre compte

Pour accorder l’accès ou modifier l’accès autorisé, le concédant a besoin d’une politique d’autorisations assignée avec les autorisations suivantes :

  • redshift-serverless:PutResourcePolicy

  • redshift-serverless:GetResourcePolicy

  • redshift-serverless:DeleteResourcePolicy

  • ec2:CreateVpcEndpoint

  • ec2:ModifyVpcEndpoint

Vous aurez peut-être besoin d’autres autorisations spécifiées dans la politique gérée par AWS AmazonRedshiftFullAccess. Pour plus d’informations, consultez Octroi d’autorisations à Amazon Redshift sans serveur.

Le bénéficiaire a besoin d’une politique d’autorisations assignée avec les autorisations suivantes :

  • redshift-serverless:ListWorkgroups

  • redshift-serverless:CreateEndpointAccess

  • redshift-serverless:UpdateEndpointAccess

  • redshift-serverless:GetEndpointAccess

  • redshift-serverless:ListEndpointAccess

  • redshift-serverless:DeleteEndpointAccess

Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez Identity and Access Management dans Amazon Redshift.

Voici un exemple de politique de ressources utilisé pour configurer l’accès entre VPC :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "CrossAccountCrossVPCAccess", "Effect": "Allow", "Principal": { "AWS": [ "123456789012", "234567890123" ] }, "Action": [ "redshift-serverless:CreateEndpointAccess", "redshift-serverless:UpdateEndpointAccess", "redshift-serverless:DeleteEndpointAccess", "redshift-serverless:GetEndpointAccess" ], "Resource": "arn:aws:redshift-serverless:*:*:*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" }, "StringLike": { "aws:SourceVpc": [ "vpc-11223344556677889", "vpc-12345678" ] } } } ] }

Les procédures décrites dans cette section supposent que l’utilisateur qui les exécute dispose des autorisations appropriées, par exemple au moyen d’un rôle IAM attribué dont les autorisations sont répertoriées. Les procédures supposent également que le groupe de travail possède un rôle IAM attaché avec les autorisations de ressources appropriées.

Octroi d’un accès VPC à d’autres comptes, à l’aide de la console

Cette procédure indique les étapes à suivre pour configurer l’accès à la base de données lorsque vous êtes le propriétaire de la base de données et que vous souhaitez autoriser l’accès à celle-ci.

Octroi d’accès depuis le compte du propriétaire
  1. Dans les propriétés du groupe de travail Amazon Redshift sans serveur, dans l’onglet Accès aux données, figure une liste appelée Comptes accordés. Elle indique les comptes et les VPC autorisés à accéder au groupe de travail. Recherchez la liste et choisissez Accorder l’accès pour ajouter un compte à la liste.

  2. Une fenêtre apparaît dans laquelle vous pouvez ajouter les informations du bénéficiaire. Entrez l’ID du compte AWS, qui représente l’ID à 12 chiffres du compte auquel vous souhaitez accorder l’accès.

  3. Accordez au bénéficiaire l’accès à tous les VPC ou à des VPC spécifiques. Si vous accordez l’accès uniquement à des VPC spécifiques, vous pouvez ajouter les identifiants correspondants en entrant chacun d’eux et en choisissant Ajouter un VPC.

  4. Enregistrez les modifications lorsque vous avez terminé.

Lorsque vous enregistrez les modifications, le compte apparaît dans la liste Comptes accordés. L’entrée indique l’ID du compte et la liste des VPC autorisés à y accéder.

Le propriétaire de la base de données peut également révoquer l’accès à un compte. Le propriétaire peut révoquer l’accès à tout moment.

Révocation de l’accès à un compte
  1. Vous pouvez commencer à partir de la liste des comptes accordés. Sélectionnez d’abord un ou plusieurs comptes.

  2. Choisissez Révoquer l’accès.

Une fois l’accès accordé, un administrateur de base de données du bénéficiaire peut vérifier la console pour déterminer s’il y a accès.

Utilisation de la console pour confirmer que l’accès vous est accordé pour accéder à un autre compte
  1. Dans les propriétés du groupe de travail Amazon Redshift sans serveur, sous l’onglet Accès aux données, se trouve une liste intitulée Comptes autorisés. Il montre les comptes accessibles depuis ce groupe de travail. Le bénéficiaire ne peut pas utiliser l’URL du point de terminaison du groupe de travail pour accéder directement au groupe de travail. Pour accéder au groupe de travail, vous, en tant que bénéficiaire, accédez à la section point de terminaison et choisissez créer un point de terminaison.

  2. Ensuite, en tant que bénéficiaire, vous fournissez un nom de point de terminaison et un VPC pour accéder au groupe de travail.

  3. Une fois le point de terminaison créé avec succès, il apparaît dans la section point de terminaison et une URL de point de terminaison lui correspond. Vous pouvez utiliser cette URL de point de terminaison pour accéder au groupe de travail.

Octroi d’un accès à d’autres comptes à l’aide des commandes CLI

Le compte accordant l’accès doit d’abord accorder l’accès à un autre compte pour se connecter en utilisant put-resource-policy. Le propriétaire de la base de données peut appeler put-resource-policy pour autoriser un autre compte à créer des connexions au groupe de travail. Le compte bénéficiaire peut ensuite utiliser create-endpoint-authorization pour créer des connexions au groupe de travail via ses VPC autorisés.

Vous trouverez ci-dessous les propriétés pour put-resource-policy, que vous pouvez appeler pour autoriser l’accès à un compte et à un VPC spécifiques.

aws redshift-serverless put-resource-policy --resource-arn <value> --policy <value>

Après avoir appelé la commande, vous pouvez appeler get-resource-policy, en spécifiant l’élément resource-arn pour voir quels comptes et VPC sont autorisés à accéder à la ressource.

L’appel suivant peut être effectué par le bénéficiaire. Il affiche des informations sur l’accès accordé. Plus précisément, il renvoie une liste contenant les VPC auxquels l’accès est accordé.

aws redshift-serverless list-workgroups --owner-account <value>

L’objectif est de permettre au bénéficiaire d’obtenir des informations sur les autorisations des points de terminaison auprès du compte qui les a accordées. L’élément owner-account est le compte de partage. Lorsque vous exécutez ce code, il renvoie CrossAccountVpcs pour chaque groupe de travail, qui correspond à la liste des VPC autorisés. À titre de référence, voici toutes les propriétés disponibles pour un groupe de travail :

Output: workgroup (Object) workgroupId String, workgroupArn String, workgroupName String, status: String, namespaceName: String, baseCapacity: Integer, (Not-applicable) enhancedVpcRouting: Boolean, configParameters: List, securityGroupIds: List, subnetIds: List, endpoint: String, publiclyAccessible: Boolean, creationDate: Timestamp, port: Integer, CrossAccountVpcs: List
Note

Pour rappel, la relocalisation du cluster n’est pas une condition préalable à la configuration de fonctionnalités de mise en réseau Redshift supplémentaires. Il n’est pas non plus obligatoire de l’activer pour activer les fonctionnalités suivantes :

  • Connexion à Redshift depuis un VPC entre comptes ou entre régions : vous pouvez vous connecter à partir d’un cloud privé virtuel (VPC) AWS à un autre qui contient une base de données Redshift, comme décrit dans cette section.

  • Configuration d’un nom de domaine personnalisé : vous pouvez créer un nom de domaine personnalisé, également appelé URL personnalisée, pour votre cluster Amazon Redshift ou votre groupe de travail Amazon Redshift sans serveur, afin de rendre le nom du point de terminaison plus facile à mémoriser et plus simple. Pour plus d’informations, consultez Utilisation d’un nom de domaine personnalisé pour les connexions client.

Ressources supplémentaires

Les instructions pour configurer vos paramètres de trafic réseau sont disponibles dans Accessibilité publique avec une configuration de groupe de sécurité par défaut ou personnalisée. Cela inclut un cas d’utilisation où le cluster est accessible publiquement.

Les instructions pour configurer vos paramètres de trafic réseau sont disponibles dans Accessibilité privée avec une configuration de groupe de sécurité par défaut ou personnalisée. Cela inclut les cas d’utilisation où le cluster n’est pas disponible sur Internet.

Pour plus d’informations sur les connexions sécurisées à Amazon Redshift sans serveur, y compris l’octroi d’autorisations, l’autorisation d’accès à des services supplémentaires et la création de rôles IAM, consultez Identity and Access Management dans Amazon Redshift Serverless.