Configuration d’une cible d’intégration zéro ETL - AWS Glue

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.

Configuration d’une cible d’intégration zéro ETL

Plusieurs options sont proposées AWS lors de la configuration d'une cible pour une intégration zéro ETL. La cible peut être un entrepôt de Amazon Redshift données crypté ou un catalogue Amazon SageMaker Lakehouse.

Avant de sélectionner la cible pour l’intégration zéro ETL, vous devez configurer l’une des ressources cible suivantes.

Les options de configuration pour une cible dans une intégration zéro ETL sont les suivantes :

Note

Vous ne pouvez pas modifier la cible d’une intégration zéro ETL après sa création.

Configuration d'un catalogue Amazon SageMaker Lakehouse avec un stockage S3 standard

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un compartiment Amazon S3 normal comme espace de stockage pour la cible de votre catalogue Amazon SageMaker Lakehouse dans le cadre d'une intégration zéro ETL.

Conditions préalables à la configuration d’une intégration

Avant de créer une intégration zéro ETL avec un catalogue Amazon SageMaker Lakehouse à l'aide d'un stockage S3 standard, vous devez effectuer les tâches de configuration suivantes :

  1. Configuration d'une AWS Glue base de données

  2. Fournir une politique RBAC du catalogue

  3. Créer un rôle IAM cible

Après avoir configuré le catalogue Amazon SageMaker Lakehouse avec le stockage Amazon S3 standard, vous pouvez terminer la configuration Configuration de l’intégration avec votre cible de l'intégration.

Configuration de tableaux Amazon S3 en tant que cibles

Cette section décrit les conditions préalables et les étapes de configuration de tableaux Amazon S3 en tant que cibles pour votre intégration zéro ETL.

Conditions préalables à la configuration d’une intégration

Avant de créer une intégration zéro ETL avec des tableaux Amazon S3 comme cibles, vous devez effectuer les tâches de configuration suivantes :

  1. Configuration d’un compartiment de tableaux Amazon S3

  2. Fournir une politique RBAC du catalogue

  3. Créer un rôle IAM cible

Configuration d’un compartiment de tableaux Amazon S3

  1. Créez un compartiment de tableaux S3 dans votre compte en suivant les instructions de la section Getting started with Amazon S3 Tables.

  2. Activez les intégrations Analytics avec votre bucket S3-Table en suivant ces instructions : Intégration des AWS services avec Amazon S3 Tables.

Fourniture d’une politique RBAC du catalogue

Les autorisations suivantes doivent être ajoutées à la politique RBAC du catalogue pour permettre les intégrations entre la source et la cible du catalogue des tableaux Amazon S3.

La politique de ressources du AWS Glue catalogue cible doit inclure les autorisations du service Glue pour AuthorizeInboundIntegration. En outre, une CreateInboundIntegration autorisation est requise soit sur le principal source qui crée l'intégration, soit dans la politique de AWS Glue ressource cible.

Note

Dans le cas d'un scénario entre comptes, la politique de ressources du catalogue principal et celle du AWS Glue catalogue cible doivent inclure des CreateInboundIntegration autorisations « glue : » sur la ressource.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>" } } }, { "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>" } } } ] }
Note

Remplacez <s3tablescatalog> par le nom du catalogue de vos tableaux S3.

Création d’un rôle IAM cible

Créez un rôle IAM cible avec les autorisations et les relations d’approbation suivantes :

Exemple de politique IAM :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3tables:ListTableBuckets", "s3tables:GetTableBucket", "s3tables:GetTableBucketEncryption", "s3tables:GetNamespace", "s3tables:CreateNamespace", "s3tables:ListNamespaces", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:GetTableEncryption", "s3tables:ListTables", "s3tables:GetTableMetadataLocation", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "Effect": "Allow" }, { "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Glue/ZeroETL" } }, "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*", "Effect": "Allow" } ] }

Ajoutez la politique de confiance suivante dans le rôle Target IAM pour permettre au AWS Glue Service de l'assumer :

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

Assurez-vous qu’il n’existe aucune instruction DENY explicite pour ce rôle IAM cible dans la politique de ressources du compartiment des tableaux S3. Une instruction DENY explicite remplacerait toutes les autorisations ALLOW et empêcherait l’intégration de fonctionner correctement.

Configuration d'un catalogue Amazon SageMaker Lakehouse avec stockage géré Amazon Redshift

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un catalogue Amazon SageMaker Lakehouse avec un stockage Amazon Redshift géré (RMS) comme cible pour votre intégration zéro ETL.

Conditions préalables à la configuration d’une intégration

Avant de créer une intégration zéro ETL avec un catalogue Amazon SageMaker Lakehouse à l'aide du stockage géré Redshift, vous devez effectuer les tâches de configuration suivantes :

  1. Configuration d'un Amazon Redshift cluster ou d'un groupe de travail sans serveur

  2. Enregistrez l' Amazon Redshift intégration avec Lake Formation

  3. Créer un catalogue géré dans Lake Formation

  4. Configuration des autorisations IAM

Configuration du stockage Amazon Redshift géré

Pour configurer le stockage Amazon Redshift géré pour votre intégration Zero-ETL :

  1. Créez ou utilisez un cluster Amazon Redshift ou un groupe de travail sans serveur existant. Assurez-vous que le enable_case_sensitive_identifier paramètre est activé dans le Amazon Redshift groupe de travail ou le cluster cible pour que l'intégration soit réussie. Pour plus d’informations sur l’activation de la sensibilité à la casse, consultez Activation de la sensibilité à la casse pour votre entrepôt de données dans le Guide de la gestion Amazon Redshift.

  2. Enregistrez une intégration de Redshift dans le catalogue dans AWS Lake Formation. Consultez la section Enregistrement de Amazon Redshift clusters et d'espaces de noms dans le catalogue de AWS Glue données.

  3. Créez un catalogue fédéré ou géré dans. AWS Lake Formation Pour en savoir plus, consultez :

  4. Configurez les autorisations IAM pour le rôle cible. Le rôle a besoin d’autorisations pour accéder aux ressources Redshift et Lake Formation. Au minimum, le rôle doit disposer des éléments suivants :

    • Autorisations d’accès au cluster Redshift ou au groupe de travail

    • Autorisations d’accès au catalogue Lake Formation

    • Autorisations de création et de gestion de tableaux dans le catalogue

    • CloudWatch et CloudWatch enregistre les autorisations à des fins de surveillance

Après avoir configuré le catalogue Amazon SageMaker Lakehouse avec le stockage géré par Amazon Redshift, vous pouvez terminer la configuration Configuration de l’intégration avec votre cible de l'intégration.

Configuration d'une cible d'entrepôt de Amazon Redshift données

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un entrepôt de Amazon Redshift données en tant que cible pour votre intégration zéro ETL.

Conditions préalables à la configuration d’une intégration

Avant de créer une intégration zéro ETL avec une cible d'entrepôt de Amazon Redshift données, vous devez effectuer les tâches de configuration suivantes :

  1. Configuration d'un Amazon Redshift cluster ou d'un groupe de travail sans serveur

  2. Configurer la sensibilité à la casse

  3. Configuration des autorisations IAM

Configuration de l'entrepôt Amazon Redshift de données

Pour configurer un entrepôt de Amazon Redshift données pour votre intégration Zero-ETL :

  1. Accédez à la console Amazon Redshift et cliquez sur Créer un cluster ou utilisez un cluster existant. Pour Amazon Redshift sans serveur, cliquez sur Créer un groupe de travail.

  2. Si vous créez un cluster, choisissez une taille de cluster appropriée et assurez-vous que votre cluster est chiffré. Pour le sans serveur, configurez les paramètres de groupe de travail en fonction de vos besoins.

  3. Assurez-vous que le enable_case_sensitive_identifier paramètre est activé dans le Amazon Redshift groupe de travail ou le cluster cible pour que l'intégration soit réussie. Pour plus d’informations sur l’activation de la sensibilité à la casse, consultez Activation de la sensibilité à la casse pour votre entrepôt de données dans le Guide de la gestion Amazon Redshift.

  4. Configurez les autorisations IAM pour permettre à l'intégration Zero-ETL d'accéder à votre entrepôt de Amazon Redshift données. Vous devrez créer un rôle IAM avec les autorisations suivantes :

    • Autorisations d'accès au Amazon Redshift cluster ou au groupe de travail

    • Autorisations permettant de créer et de gérer des bases de données et des tables dans Amazon Redshift

    • CloudWatch et Amazon CloudWatch enregistre les autorisations à des fins de surveillance

  5. Une fois la configuration du Amazon Redshift groupe de travail ou du cluster terminée, vous devez configurer votre entrepôt de données pour les intégrations sans ETL. Pour plus d’informations, reportez-vous à Bien démarrer avec les intégrations zéro ETL dans le Guide de gestion Amazon Redshift.

Note

Lorsque vous utilisez un entrepôt de Amazon Redshift données comme cible, l'intégration crée un schéma dans la base de données spécifiée pour stocker les données répliquées. Le nom du schéma provient du nom de l’intégration.

Après avoir configuré l'entrepôt de Amazon Redshift données, vous pouvez Configuration de l’intégration avec votre cible terminer la configuration de l'intégration.

Configuration de l’intégration avec votre cible

Après avoir configuré vos ressources cible, sélectionné votre connexion et spécifié un rôle IAM source, procédez comme suit pour terminer la configuration de l’intégration :

  1. Spécifiez la cible que vous avez configurée lors des étapes précédentes.

  2. Sélectionnez l'option AWS Glue Corriger le problème pour moi. Pour la Amazon Redshift cible, cela permettra de :

    • Appliquez un principal de service autorisé sur le Amazon Redshift cluster ou le groupe de travail sans serveur.

    • Appliquez un ARN AWS Glue source autorisé au Amazon Redshift cluster ou au groupe de travail sans serveur.

    • Associer un nouveau groupe de paramètres à enable_case_sensitive_identifier = true.

    La capture d’écran montre la sélection d’une cible dans une intégration zéro ETL.
  3. Indiquez le nom de l’intégration et choisissez Créer et lancer l’intégration.

  4. Une fois que votre intégration est active, accédez à la page des détails de l’intégration et choisissez Créer une base de données à partir de l’intégration.

  5. Enfin, vous pouvez accéder à l’éditeur de requêtes Redshift et vous connecter à votre base de données pour valider l’instantané et les données incrémentielles.

Note

Vous ne pouvez utiliser que des caractères alphanumériques minuscules et des traits de soulignement dans l’espace de noms ou le nom du catalogue. Cela est différent de ce que permet le catalogue de AWS Glue données pour créer une base de données avec n'importe quel nom (y compris les caractères spéciaux).