Création d'intégrations zéro ETL d'Amazon RDS à Amazon Redshift - Amazon Relational Database Service

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 d'Amazon RDS à Amazon Redshift

Il s'agit de la documentation préliminaire relative aux intégrations zéro ETL d'Amazon RDS à Amazon Redshift, qui est disponible en version préliminaire. La documentation et la fonction sont toutes deux sujettes à modification. Nous vous recommandons d’utiliser cette fonction uniquement dans des environnements de test et non dans des environnements de production. Pour voir les conditions générales, consultez Beta and Previews (Bêtas et aperçus) dans les Conditions de service AWS.

Lorsque vous créez une intégration Amazon RDS Zero-ETL, vous spécifiez l'instance de base de données RDS mono-AZ ou multi-AZ source, le cluster de base de données et l'entrepôt de données Amazon Redshift cible. Vous pouvez également personnaliser les paramètres de chiffrement et ajouter des balises. Amazon RDS crée une intégration entre le de base de données source et sa cible. Une fois l'intégration active, toutes les données que vous insérez dans le de base de données source seront répliquées dans la cible Amazon Redshift configurée.

Prérequis

Avant de créer une intégration zéro ETL, vous devez créer un de bases de données source mono-AZ ou multi-AZ et un entrepôt de données Amazon Redshift cible. Vous devez également autoriser la réplication dans l'entrepôt de données en ajoutant le de base 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 d'Amazon RDS à Amazon Redshift.

Autorisations nécessaires

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

  • Créez des intégrations zéro ETL pour le cluster DB de la base de données RDS source.

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

  • Créer des intégrations entrantes dans l'entrepôt de données cible. Vous n'avez pas besoin de cette autorisation si le même compte est propriétaire de l'entrepôt des données Amazon Redshift et que ce compte est un principal autorisé pour cet entrepôt des données. Pour obtenir des informations sur l'ajout de principaux autorisés, consultez Configuration de l'autorisation pour votre entrepôt de données Amazon Redshift.

L'exemple de politique suivant illustre les autorisations de moindre privilège requises pour créer et gérer des intégrations. 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 AdministratorAccess gérée.

Note

Les Amazon Resource Name (ARN) Redshift ont le format suivant. Notez l'utilisation d'une barre oblique ((/) à la place du caractère deux-points (:) avant l'UUID de l'espace de noms sans serveur.

  • Cluster provisionné – arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

  • Sans serveur – arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:db:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

Choix d'un entrepôt de données cible dans un autre compte

Si vous prévoyez de spécifier un entrepôt de données Amazon Redshift cible situé 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 clusters provisionnés Amazon Redshift et les espaces de noms Redshift sans serveur disponibles dans le compte cible.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

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

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}: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

Vous pouvez créer une intégration Zero-ETL une intégration aide de l'API AWS Management Console, de AWS CLI, ou de l'API RDS.

Par défaut, RDS for MySQL purge immédiatement les fichiers journaux binaires. Comme les intégrations sans ETL reposent sur des journaux binaires pour répliquer les données de la source vers la cible, la période de conservation de la base de données source doit être d'au moins une heure. Dès que vous créez une intégration, Amazon RDS vérifie la période de conservation du fichier journal binaire pour la base de données source sélectionnée. Si la valeur actuelle est 0, Amazon RDS la remplace automatiquement par 1. Sinon, la valeur reste la même.

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

  2. Dans le panneau de navigation de gauche, choisissez Intégrations Zero-ETL.

  3. Choisissez Créer une intégration Zero-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 l'instance de base de données RDS mono-AZ ou multi-AZ, le d'où proviendront les données. Le d'instances doit exécuter RDS pour MySQL version 8.0.28 ou supérieure, Aurora MySQL version 3.05 ou supérieure 15.4 et Zero-ETL Support).

    Note

    RDS vous avertit si les paramètres du de base de données ne sont pas correctement configurés. 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éer un groupe de paramètres de base de données personnalisé.

    La modification des paramètres de base 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ètres doivent être correctement appliquées au de bases de données.

  7. Une fois que le de base de données de votre base de données source est correctement configuré, choisissez Next.

  8. Pour Cible, procédez comme suit :

    1. (Facultatif) Pour utiliser un autre Compte AWS compte pour la cible Amazon Redshift, choisissez Spécifier un autre compte. Saisissez ensuite l'ARN d'un rôle IAM doté d'autorisations pour afficher vos entrepôts des données. Pour obtenir des instructions sur la création du rôle IAM, consultez Choix d'un entrepôt de données cible dans un autre compte.

    2. Vous pouvez choisir un cluster Amazon Redshift provisionné ou un espace de noms Redshift sans serveur comme cible.

    Note

    RDS vous avertit si la politique de ressources ou les paramètres de sensibilité à la casse pour l'entrepôt des données 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. Pour obtenir des instructions pour les corriger manuellement, consultez Activation de la sensibilité à la casse pour votre entrepôt des données et Configuration de l'autorisation pour votre entrepôt des données dans le Guide de gestion Amazon Redshift.

    La modification de la sensibilité à la casse pour un cluster Redshift provisionné nécessite un redémarrage. Avant de créer l'intégration, le redémarrage doit être terminé et la nouvelle valeur de paramètre doit être correctement appliquée au cluster.

    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 Amazon Redshift.

  9. Une fois que votre entrepôt des données cible est correctement configuré, choisissez Suivant.

  10. (Facultatif) Pour Balises, ajoutez une ou plusieurs balises à l'intégration. Pour plus d’informations, consultez Balisage de ressources Amazon RDS.

  11. 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 RDS.

    Note

    Si vous spécifiez une clé KMS personnalisée, la stratégie de clé doit autoriser l'action kms:CreateGrant pour le principal de service Amazon Redshift (redshift.amazonaws.com). Pour plus d'informations, consultez Création d'une stratégie de clé dans le Guide du développeur AWS Key Management Service .

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

  12. Choisissez Suivant.

  13. Vérifiez vos paramètres d'intégration et choisissez Créer une intégration zéro ETL. Il faut environ 30 minutes pour que l'intégration soit active.

    Si la création échoue, consultez Je ne parviens pas à créer une intégration zéro ETL 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'entrepôt de données Amazon Redshift cible a un statut de Modifying. Pendant ce temps, vous ne pouvez pas interroger l'entrepôt de données 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'entrepôt de données Amazon Redshift cible passent tous deux à Active.

Pour créer une intégration zéro ETL à 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 , instance de base de données RDS mono-AZ ou multi-AZ, qui sera la source de l'intégration.

  • --target-arn : spécifiez l'ARN de l'entrepôt des données Amazon Redshift qui sera la cible de l'intégration.

Pour LinuxmacOS, ou Unix :

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-cluster \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Dans Windows :

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-cluster ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

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

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

  • SourceArn— Spécifiez l'ARN du , instance de base de données RDS mono-AZ ou multi-AZ, qui sera la source de l'intégration.

  • TargetArn : spécifiez l'ARN de l'entrepôt des données Amazon Redshift qui sera la cible de l'intégration.

Étapes suivantes

Une fois que vous avez réussi à créer une intégration zéro ETL, vous devez créer une base de données de destination au sein de votre cluster ou groupe de travail Amazon Redshift cible. Vous pouvez ensuite commencer à ajouter des données au de la base de données RDS source et à les interroger dans Amazon Redshift. Pour obtenir des instructions, consultez Création de bases de données de destination dans Amazon Redshift.