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

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

Plusieurs options sont proposées par AWS lors de la configuration d’une cible pour une intégration zéro ETL. La cible peut être un entrepôt de données Amazon Redshift chiffré 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 d’un compartiment Amazon S3 standard 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. Configurer une base de données AWS Glue

  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 passer à Configuration de l’intégration avec votre cible afin de terminer la configuration 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 d’analytique avec votre compartiment de tableaux S3 en suivant ces instructions : Integrating AWS services with 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 catalogue AWS Glue cible doit inclure les autorisations du service Glue pour AuthorizeInboundIntegration. En outre, l’autorisation CreateInboundIntegration est requise soit sur le principal source qui crée l’intégration, soit dans la politique de ressource AWS Glue cible.

Note

Pour un scénario entre comptes, le principal source et la politique de ressources du catalogue AWS Glue cible doivent inclure les autorisations glue:CreateInboundIntegration 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 d’approbation suivante dans le rôle IAM cible pour permettre au service AWS Glue de l’endosser :

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 le stockage géré Amazon Redshift

Cette section décrit les conditions préalables et les étapes de configuration d’un catalogue Amazon SageMaker Lakehouse avec un stockage géré par Amazon Redshift (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 d’un stockage géré par Redshift, vous devez effectuer les tâches de configuration suivantes :

  1. Configurer un cluster Amazon Redshift ou un groupe de travail sans serveur

  2. Enregistrer l’intégration Amazon Redshift avec Lake Formation

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

  4. Configuration des autorisations IAM

Configuration du stockage géré par Amazon Redshift

Pour configurer le stockage géré par Amazon Redshift pour votre intégration zéro ETL :

  1. Créez ou utilisez un cluster Amazon Redshift ou un groupe de travail sans serveur existant. Assurez-vous que le paramètre enable_case_sensitive_identifier est activé dans le groupe de travail ou le cluster Amazon Redshift cible pour que l’intégration aboutisse. 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 gestion Amazon Redshift.

  2. Enregistrez une intégration de Redshift dans le catalogue dans AWS Lake Formation. Consultez la section Enregistrement de clusters et d’espaces de noms Amazon Redshift auprès du AWS Glue Data Catalog.

  3. Créez un catalogue fédéré ou géré dans AWS Lake Formation. Pour plus d’informations, 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

    • Autorisations CloudWatch et CloudWatch Logs pour la surveillance

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

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

Cette section décrit les conditions préalables et les étapes de configuration d’un entrepôt de données Amazon Redshift 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 un entrepôt de données Amazon Redshift comme cible, vous devez effectuer les tâches de configuration suivantes :

  1. Configurer un cluster Amazon Redshift ou un groupe de travail sans serveur

  2. Configurer la sensibilité à la casse

  3. Configuration des autorisations IAM

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

Pour configurer un entrepôt de données Amazon Redshift pour votre intégration zéro 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 paramètre enable_case_sensitive_identifier est activé dans le groupe de travail ou le cluster Amazon Redshift cible pour que l’intégration aboutisse. 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 gestion Amazon Redshift.

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

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

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

    • Autorisations CloudWatch et Amazon CloudWatch Logs pour la surveillance

  5. Une fois la configuration du groupe de travail ou du cluster Amazon Redshift terminée, vous devez configurer votre entrepôt de données pour les intégrations zéro 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 données Amazon Redshift 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 données Amazon Redshift, vous pouvez passer à Configuration de l’intégration avec votre cible pour 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 Fix it for me. Pour la cible Amazon Redshift, cela permettra d’effectuer les actions suivantes :

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

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

    • 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 diffère de ce que permet le Catalogue de données AWS Glue pour créer une base de données avec n’importe quel nom (y compris des caractères spéciaux).