Création d’intégrations zéro ETL Aurora avec un Amazon SageMaker Lakehouse - Amazon Aurora

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.

Création d’intégrations zéro ETL Aurora avec un Amazon SageMaker Lakehouse

Lorsque vous créez une intégration Aurora Zero-ETL avec un Amazon SageMaker Lakehouse, vous spécifiez le cluster de DB source et le catalogue géré cible. AWS Glue Vous pouvez également personnaliser les paramètres de chiffrement et ajouter des balises. Aurora crée une intégration entre le cluster de bases de données source et sa cible. Une fois l’intégration active, toutes les données que vous insérez dans le cluster de bases de données source sont répliquées dans la cible configurée.

Prérequis

Avant de créer une intégration zéro ETL avec un Amazon SageMaker Lakehouse, vous devez créer un cluster de source et un catalogue géré cible AWS Glue . Vous devez également autoriser la réplication dans le catalogue en ajoutant le cluster de bases de données en tant que source d’intégration autorisée.

Pour obtenir des instructions sur la réalisation de chacune de ces étapes, consultez Bien démarrer avec les intégrations zéro ETL Aurora.

Autorisations requises

Certaines autorisations IAM sont requises pour créer une intégration zéro ETL avec un Amazon SageMaker Lakehouse. Vous avez au moins besoin des autorisations requises pour effectuer les actions suivantes :

  • Créer des intégrations zéro ETL le cluster de bases de données Aurora source.

  • Afficher et supprimer toutes les intégrations zéro ETL.

  • Créez des intégrations entrantes dans le catalogue AWS Glue géré cible.

  • Accédez aux compartiments Amazon S3 utilisés par le catalogue AWS Glue géré.

  • Utilisez AWS KMS des clés pour le chiffrement si le chiffrement personnalisé est configuré.

  • Enregistrez les ressources auprès de Lake Formation.

  • Appliquez une politique de ressources au catalogue AWS Glue géré pour autoriser les intégrations entrantes.

L’exemple de politique suivant illustre les autorisations de moindre privilège requises pour créer et gérer des intégrations avec un Amazon SageMaker Lakehouse. Il se peut que vous n’ayez pas besoin de ces autorisations exactes si votre utilisateur ou votre rôle dispose d’autorisations plus étendues, telles qu’une politique gérée AdministratorAccess.

En outre, vous devez configurer une politique de ressources sur le catalogue AWS Glue géré cible afin d'autoriser les intégrations entrantes. Utilisez la AWS CLI commande suivante pour appliquer la politique de ressources.

aws glue put-resource-policy \ --policy-in-json '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": ["arn:aws:glue:region:account_id:catalog/catalog_name"], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:rds:region:account_id:db:source_name" } } }, { "Effect": "Allow", "Principal": { "AWS": "account_id" }, "Action": ["glue:CreateInboundIntegration"], "Resource": ["arn:aws:glue:region:account_id:catalog/catalog_name"] } ] }' \ --region region
Note

Les noms de ressources Amazon du catalogue Glue (ARNs) ont le format suivant :

  • Catalogue Glue : arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Choix d'un catalogue AWS Glue géré cible dans un autre compte

Si vous envisagez de spécifier un catalogue AWS Glue géré cible qui se trouve dans un autre Compte AWS, vous devez créer un rôle permettant aux utilisateurs du compte courant d'accéder aux ressources du compte cible. Pour plus d'informations, consultez la section Fournir un accès à un utilisateur IAM dans un autre utilisateur Compte AWS dont vous êtes le propriétaire.

Le rôle doit disposer des autorisations suivantes, qui permettent à l'utilisateur de consulter les AWS Glue catalogues disponibles dans le compte cible.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "glue:GetCatalog" ], "Resource":[ "*" ] } ] }

Le rôle doit respecter la politique d’approbation suivante, qui spécifie l’ID du compte cible.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:root" }, "Action":"sts:AssumeRole" } ] }

Pour obtenir des instructions quant à la création du rôle, consultez Création d’un rôle à l’aide de politiques d’approbation personnalisées.

Création d’Intégrations zéro ETL avec un Amazon SageMaker Lakehouse

Vous pouvez créer une intégration zéro ETL avec un Amazon SageMaker lakehouse à l'aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS.

Important

Les intégrations zéro ETL avec un Amazon SageMaker Lakehouse ne prennent pas en charge les opérations d’actualisation ou de resynchronisation. Si vous rencontrez des problèmes avec une intégration après sa création, vous devez supprimer l’intégration et en créer une nouvelle.

Pour créer une intégration zéro ETL avec un Amazon SageMaker Lakehouse
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à https://console.aws.amazon.com/rds/l'adresse.

  2. Dans le panneau de navigation de gauche, choisissez Intégrations zéro ETL.

  3. Choisissez Créer une intégration zéro ETL.

  4. Dans Identifiant d’intégration, saisissez un nom pour l’intégration. Ce nom peut comporter jusqu’à 63 caractères alphanumériques et peut inclure des traits d’union.

  5. Choisissez Suivant.

  6. Pour Source, sélectionnez le cluster de bases de données Aurora d’où proviendront les données.

    Note

    RDS vous avertit si les paramètres du cluster de bases de données ne sont pas configurés correctement. Si vous recevez ce message, vous pouvez soit choisir Fix it for me, soit les configurer manuellement. Pour obtenir des instructions pour les corriger manuellement, reportez-vous à Étape 1 : Création d’un groupe de paramètres de cluster de bases de données personnalisé.

    La modification des paramètres du cluster de bases de données nécessite un redémarrage. Avant de créer l’intégration, le redémarrage doit être terminé et les nouvelles valeurs de paramètre doit être correctement appliquée au cluster.

  7. (Facultatif) Sélectionnez Personnaliser les options de filtrage des données et ajoutez des filtres de données à votre intégration. Vous pouvez utiliser des filtres de données pour définir l’étendue de réplication vers le Amazon SageMaker Lakehouse cible. Pour plus d’informations, consultez Filtrage des données pour les intégrations zéro ETL Aurora.

  8. Une fois la configuration du cluster de bases de données source terminée, choisissez Suivant.

  9. Pour Cible, procédez comme suit :

    1. (Facultatif) Pour utiliser un autre Compte AWS compte pour la cible Amazon SageMaker Lakehouse, choisissez Spécifier un autre compte. Entrez ensuite l'ARN d'un rôle IAM autorisé à afficher vos AWS Glue catalogues. Pour obtenir des instructions sur la création du rôle IAM, consultez Choix d'un catalogue AWS Glue géré cible dans un autre compte.

    2. Pour Catalogue AWS Glue , sélectionnez la cible pour les données répliquées à partir du cluster de bases de données source. Vous pouvez choisir un catalogue géré AWS Glue existant comme cible.

    3. Le rôle IAM cible doit décrire les autorisations disponibles dans le catalogue cible et doit disposer des autorisations suivantes :

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "glue:GetCatalog", "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/*", "arn:aws:glue:us-east-1:111122223333:catalog" ] } ] }

      Le rôle IAM doit avoir la relation d’approbation suivante :

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    4. Vous devez accorder au rôle IAM cible des autorisations de description pour le catalogue AWS Glue géré cible avec le rôle d'administrateur de Lake Formation créé dansÉtape 3b : Création d'un AWS Glue catalogue pour l'intégration Amazon SageMaker AI Zero-ETL.

    Note

    RDS vous avertit si la politique de ressources ou les paramètres de configuration du catalogue AWS Glue géré spécifié ne sont pas correctement configurés. Si vous recevez ce message, vous pouvez soit choisir Fix it for me, soit les configurer manuellement.

    Si la source et la cible que vous avez sélectionnées se trouvent dans des Comptes AWS différents, Amazon RDS ne peut pas corriger ces paramètres pour vous. Vous devez accéder à l’autre compte et les corriger manuellement dans SageMaker Unified Studio.

  10. Une fois que votre catalogue AWS Glue géré cible est correctement configuré, choisissez Next.

  11. (Facultatif) Pour Balises, ajoutez une ou plusieurs balises à l’intégration. Pour plus d’informations, consultez Marquage des ressources Amazon Aurora et Amazon RDS.

  12. Pour Chiffrement, spécifiez la manière dont vous souhaitez que votre intégration soit chiffrée. Par défaut, RDS chiffre toutes les intégrations avec un. Clé détenue par AWS Pour choisir plutôt une clé gérée par le client, activez Personnaliser les paramètres de chiffrement et choisissez une clé KMS à utiliser pour le chiffrement. Pour plus d’informations, consultez Chiffrement des ressources Amazon Aurora.

    Ajoutez éventuellement un contexte de chiffrement. Consultez Contexte de chiffrement dans le AWS Key Management Service guide du développeur pour en savoir plus.

    Note

    Amazon RDS ajoute les paires de contextes de chiffrement suivantes en plus de celles que vous ajoutez :

    • aws:glue:integration:arn - IntegrationArn

    • aws:servicename:id - glue

    Cela réduit le nombre total de paires que vous pouvez ajouter de 8 à 6 et contribue à la limite de caractères globale de la contrainte de subvention. Pour plus d’informations, consultez Utilisation des contraintes d’octroi dans le Guide du développeur AWS Key Management Service .

  13. Choisissez Suivant.

  14. Vérifiez vos paramètres d’intégration et choisissez Créer une intégration zéro ETL.

    Si la création échoue, consultez Résolution des problèmes liés aux intégrations zéro ETL Aurora pour obtenir les étapes de résolution des problèmes.

L’intégration a un statut de Creating lors de sa création et l’Amazon SageMaker Lakehouse cible a un statut de Modifying. Pendant ce temps, vous ne pouvez pas interroger le catalogue ni y apporter aucune modification de configuration.

Quand l’intégration est créée avec succès, le statut de l’intégration et celui de l’Amazon SageMaker Lakehouse cible passent tous deux à Active.

Pour préparer un catalogue AWS Glue géré cible pour une intégration zéro ETL à l'aide de AWS CLI, vous devez d'abord utiliser la create-integration-resource-propertycommande avec les options suivantes :

  • --resource-arn— Spécifiez l'ARN du catalogue AWS Glue géré qui sera la cible de l'intégration.

  • --target-processing-properties— Spécifiez l'ARN du rôle IAM pour accéder au catalogue AWS Glue géré cible

aws glue create-integration-resource-property --region us-east-1 --resource-arn arn:aws:glue:region:account_id:catalog/catalog_name \ --target-processing-properties '{"RoleArn" : "arn:aws:iam::account_id:role/TargetIamRole"}'

Pour créer une intégration zéro ETL avec un Amazon SageMaker lakehouse à l'aide de AWS CLI, utilisez la commande create-integration avec les options suivantes :

  • --integration-name : spécifiez le nom de l’intégration.

  • --source-arn : spécifiez l’ARN du cluster de bases de données Aurora qui sera la source de l’intégration.

  • --target-arn— Spécifiez l'ARN du catalogue AWS Glue géré qui sera la cible de l'intégration.

Pour Linux, macOS ou Unix :

aws rds create-integration \ --integration-name my-sagemaker-integration \ --source-arn arn:aws:rds:{region}:{account-id}:cluster:my-db \ --target-arn arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Pour Windows :

aws rds create-integration ^ --integration-name my-sagemaker-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:cluster:my-db ^ --target-arn arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Pour créer une intégration zéro ETL à Amazon SageMaker à l’aide de l’API Amazon RDS, utilisez l’opération CreateIntegration avec les paramètres suivants :

Note

Les noms de catalogue sont limités à 19 caractères. Assurez-vous que votre IntegrationName paramètre répond à cette exigence s'il doit être utilisé comme nom de catalogue.

  • IntegrationName : spécifiez le nom de l’intégration.

  • SourceArn : spécifiez l’ARN du cluster de bases de données Aurora qui sera la source de l’intégration.

  • TargetArn— Spécifiez l'ARN du catalogue AWS Glue géré qui sera la cible de l'intégration.

Chiffrement des intégrations avec une clé gérée par le client

Si vous spécifiez une clé KMS personnalisée plutôt qu'une clé Clé détenue par AWS lorsque vous créez une intégrationAmazon SageMaker, la politique de clé doit fournir au SageMaker Unified Studio service principal un accès à l'CreateGrantaction. En outre, elle doit autoriser l’utilisateur actuel à effectuer les actions DescribeKey et CreateGrant.

L’exemple de stratégie suivant montre comment fournir les autorisations requises dans la stratégie de clé. Il inclut des clés contextuelles pour réduire davantage la portée des autorisations.

JSON
{ "Version":"2012-10-17", "Id": "Key policy", "Statement": [ { "Sid": "EnablesIAMUserPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "GlueServicePrincipalAddGrant", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "AllowsCurrentUserRoleAddGrantKMSKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/{role-name}" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService": "rds.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "AllowsCurrentUserRoleRetrieveKMSKeyInformation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/{role-name}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Pour plus d’informations, consultez Création d’une stratégie de clé dans le Guide du développeur AWS Key Management Service .

Étapes suivantes

Une fois que vous avez créé avec succès une intégration zéro ETL avec Amazon SageMaker, vous pouvez commencer à ajouter des données au cluster de bases de données cluster Aurora source et à les interroger dans votre Amazon SageMaker Lakehouse. Les données seront automatiquement répliquées et mises à disposition pour les charges de travail d’analytique et de machine learning.