View a markdown version of this page

Interrogation de tables de lacs de données avec un routage VPC amélioré - Amazon Redshift

Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les options de fin de vie et de migration de Python, consultez le billet de blog publié le 30 juin 2025.

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.

Interrogation de tables de lacs de données avec un routage VPC amélioré

Lorsque le routage VPC amélioré est activé, Amazon Redshift achemine le trafic via votre VPC. Les tables Data Lake stockent leurs données dans Amazon S3 et leurs métadonnées dans le AWS Glue Data Catalog, les deux étant situés en dehors de votre VPC. Pour que les requêtes du lac de données aboutissent, votre cluster ou groupe de travail doit être en mesure d'accéder à Amazon S3 et AWS Glue. Si vos tables de lacs de données sont gérées par AWS Lake Formation, celles-ci doivent également pouvoir atteindre Lake Formation. Le routage VPC amélioré affecte la manière dont Amazon Redshift accède à ces ressources externes. Les requêtes peuvent donc échouer si vous ne configurez pas correctement votre VPC.

Créez les points de terminaison VPC suivants dans le VPC et les sous-réseaux sur lesquels votre cluster ou groupe de travail s'exécute, en les associant aux tables de routage appropriées. Ces points de terminaison sont requis à la fois pour le moteur de requête de lac de données intégré et pour Amazon Redshift Spectrum :

  • Point de terminaison de la passerelle Amazon S3 : fournit à votre cluster ou à votre groupe de travail un itinéraire via le AWS réseau vers Amazon S3 pour lire les fichiers de données des lacs de données. Pour connaître les étapes à suivre, consultez la section Points de terminaison Gateway pour Amazon S3 dans le guide de l'utilisateur Amazon VPC.

  • AWS Glue point de terminaison de l'interface : donne à votre cluster ou à votre groupe de travail un itinéraire AWS Glue Data Catalog vers le pour résoudre les schémas et les tables de lacs de données. Pour connaître les étapes à suivre, consultez la section Création d'un point de terminaison d'interface dans le guide de l'utilisateur Amazon VPC.

  • AWS Point de terminaison de l'interface Lake Formation : obligatoire uniquement si vos tables de lacs de données sont gérées par AWS Lake Formation. Permet à votre cluster ou à votre groupe de travail d'accéder à Lake Formation. Pour connaître les étapes à suivre, consultez la section Création d'un point de terminaison d'interface dans le guide de l'utilisateur Amazon VPC.

La configuration du point de terminaison est la même quelle que soit la manière dont vous interrogez les tables externes, mais la manière dont le trafic est acheminé varie en fonction du moteur de requête. Les sections suivantes décrivent le comportement du moteur de requête de lac de données intégré sur les clusters provisionnés par RG et Amazon Redshift Serverless, et de Redshift Spectrum sur les clusters provisionnés RA3 et DC2.

Moteur de requête de lac de données intégré pour les clusters provisionnés par RG et Amazon Redshift Serverless

Les clusters provisionnés par RG et Amazon Redshift Serverless incluent un moteur de requête de lac de données intégré. Ce moteur fonctionne sur les propres ressources de calcul du cluster ou du groupe de travail, au sein de votre VPC. Lorsque le routage VPC amélioré est activé et que les points de terminaison VPC requis sont en place, l'accès à Amazon S3 AWS Glue provient de votre calcul intégré au VPC et passe par ces points de terminaison VPC. Ce trafic reste dans les limites de votre VPC et sur le AWS réseau. Cet accès est autorisé en fonction du rôle IAM attaché à votre cluster ou groupe de travail. Pour mieux gérer ce trafic, vous pouvez modifier le rôle IAM et la politique attachés au compartiment Amazon S3.

Amazon Redshift Spectrum pour les clusters provisionnés RA3 et DC2

Redshift Spectrum s'exécute sur des ressources AWS gérées détenues par Amazon Redshift mais situées en dehors de votre VPC. Par conséquent, même lorsque le routage VPC amélioré est activé, le trafic que Redshift Spectrum envoie à Amazon S3 ne passe pas par votre VPC, mais le cluster a toujours besoin des points de terminaison Amazon S3 et AWS Glue VPC décrits précédemment pour exécuter des requêtes de lac de données.

Le trafic entre Redshift Spectrum et Amazon S3 est acheminé de manière sécurisée via le réseau AWS privé, en dehors de votre VPC. In-flight le trafic est signé à l'aide du protocole Amazon Signature Version 4 (SigV4) et chiffré à l'aide du protocole HTTPS. Ce trafic est autorisé sur la base du rôle IAM attaché à votre cluster Amazon Redshift. Pour gérer le trafic Redshift Spectrum, vous pouvez modifier le rôle IAM de votre cluster et la politique associée à votre compartiment Amazon S3.

Configuration de la politique d'autorisations pour les requêtes du lac de données

Tenez compte des points suivants lorsque vous interrogez des tables de lacs de données dans Amazon S3 :

Stratégies d’accès aux compartiments Amazon S3 et rôles IAM

Vous pouvez contrôler l’accès aux données de vos compartiments Amazon S3 en utilisant d’une part une stratégie de compartiment associée au compartiment et d’autre part un rôle IAM associé à un cluster alloué.

Redshift Spectrum sur les clusters provisionnés ne peut accéder aux données stockées dans des compartiments Amazon S3 utilisant une politique de compartiment qui restreint l'accès aux seuls points de terminaison d'un VPC spécifiés. Utilisez plutôt une politique de compartiment qui restreint l'accès à certains principaux, tels qu'un AWS compte ou des utilisateurs spécifiques. Le moteur de requête de lac de données intégré aux clusters provisionnés par RG et Amazon Redshift Serverless peut accéder à ces compartiments lorsque le routage VPC amélioré est activé, car son accès Amazon S3 passe par vos points de terminaison VPC.

Pour le rôle IAM qui se voit autoriser l'accès au compartiment, utilisez une relation de confiance autorisant le rôle à être endossé uniquement par le principal du service Amazon Redshift. Lorsqu'il est associé à votre cluster, le rôle ne peut être utilisé que dans le cadre d'Amazon Redshift ; il ne peut pas être partagé en dehors du cluster. Pour plus d’informations, consultez Restriction de l'accès aux rôles IAM. Une politique de contrôle des services (SCP) peut également être utilisée pour restreindre davantage le rôle. Consultez Empêcher les utilisateurs et les rôles IAM d'apporter des modifications spécifiées, à l'exception d'un rôle administrateur spécifié dans le Guide de l'utilisateur AWS Organizations .

Note

Pour utiliser Redshift Spectrum, aucune stratégie IAM ne doit bloquer l’utilisation des URL présignées Amazon S3. Les URL présignées générées par Amazon Redshift Spectrum sont valides pendant 1 heure afin qu’Amazon Redshift dispose de suffisamment de temps pour charger tous les fichiers depuis le compartiment Amazon S3. Une URL présignée unique est générée pour chaque fichier scanné par Redshift Spectrum. Pour les stratégies de compartiment qui incluent une action s3:signatureAge, veillez à définir la valeur sur au moins 3 600 000 millisecondes.

L'exemple de politique de compartiment suivant autorise l'accès au compartiment spécifié appartenant au AWS compte123456789012.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "BucketPolicyForSpectrum", "Effect": "Allow", "Principal": { "AWS": ["arn:aws:iam::123456789012:role/redshift"] }, "Action": [ "s3:GetObject", "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Autorisations pour endosser le rôle IAM

Le rôle associé à votre cluster doit disposer d'une relation de confiance autorisant le rôle à être endossé uniquement par le service Amazon Redshift, comme indiqué ci-après.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Pour plus d'informations, consultez Politiques IAM pour Amazon Redshift Spectrum dans le Guide du développeur de base de données Amazon Redshift.

Audit et journalisation des accès Amazon S3

L'utilisation du routage VPC amélioré Amazon Redshift offre différents avantages, notamment l'enregistrement de l'ensemble du trafic COPY et UNLOAD dans les journaux de flux VPC. Le trafic provenant de Redshift Spectrum vers Amazon S3 ne passe pas par votre VPC ; il n'est donc pas enregistré dans les journaux de flux VPC. Lorsque Redshift Spectrum accède aux données dans Amazon S3, il effectue ces opérations dans le contexte du AWS compte et des privilèges de rôle respectifs. Vous pouvez journaliser et auditer l'accès à Amazon S3 en utilisant la journalisation de l'accès au serveur dans AWS CloudTrail et Amazon S3.

Assurez-vous que les plages d'adresses IP S3 sont ajoutées à votre liste des autorisations. Pour plus d’informations sur les plages d’adresses IP S3 requises, consultez Isolement de réseau.

AWS CloudTrail Journaux

Pour suivre tous les accès aux objets dans Amazon S3, y compris l'accès à Redshift Spectrum, activez la CloudTrail journalisation des objets Amazon S3.

Vous pouvez l'utiliser CloudTrail pour afficher, rechercher, télécharger, archiver, analyser et répondre à l'activité des comptes dans l'ensemble de votre AWS infrastructure. Pour plus d'informations, consultez Getting Started with CloudTrail.

Par défaut, CloudTrail suit uniquement les actions au niveau du bucket. Pour effectuer le suivi des actions au niveau de l'objet (par exemple GetObject), activez les événements de données et de gestion pour chaque compartiment enregistré.

Journalisation des accès au serveur Amazon S3

La journalisation des accès au serveur fournit des enregistrements détaillés pour les demandes soumises à un compartiment. Les informations des journaux d’accès peuvent s’avérer utiles en cas d’audit de sécurité ou d’audit des accès. Pour plus d'informations, consultez Comment activer la journalisation des accès au serveur dans le Guide de l'utilisateur Amazon Simple Storage Service.

Pour plus d'informations, consultez le billet AWS de blog sur la sécurité How to Use Bucket Policies and Apply Defense-in-Depth to Help Secure Your Amazon S3 Data.

Accès à AWS Glue ou Amazon Athena

Redshift Spectrum et le moteur de requête intégré au lac de données accèdent à votre catalogue de données dans ou AWS Glue Athena. Une autre option consiste à utiliser un metastore Hive dédié pour votre catalogue de données.

La méthode recommandée pour atteindre le AWS Glue Data Catalog est de créer un point de terminaison VPC d'interface (AWS PrivateLink) pour. AWS Glue Lorsque vous utilisez un point de terminaison d'interface VPC, la communication entre votre VPC et celui-ci AWS Glue est acheminée au sein du réseau. AWS Pour plus d’informations, consultez Création d’un point de terminaison d’interface.

Sinon, pour AWS Glue accéder aux points de terminaison publics d'Athena, configurez votre VPC avec une passerelle Internet ou une passerelle NAT, et configurez vos groupes de sécurité VPC pour autoriser le trafic sortant vers ces points de terminaison publics. Vous pouvez configurer les chemins suivants dans votre VPC :

  • Passerelle Internet : pour vous connecter à AWS des services extérieurs à votre VPC, vous pouvez associer une passerelle Internet à votre sous-réseau VPC, comme décrit dans le guide de l'utilisateur Amazon VPC. Pour utiliser une passerelle Internet, un cluster alloué doit avoir une adresse IP publique afin que d’autres services puissent communiquer avec lui.

  • Passerelle NAT : pour vous connecter à un compartiment Amazon S3 dans une autre AWS région ou à un autre service du AWS réseau, configurez une passerelle de traduction d'adresses réseau (NAT), comme décrit dans le guide de l'utilisateur Amazon VPC. Utilisez cette même configuration pour accéder à une instance de l'hôte en dehors du réseau AWS .