Utilisation d'une base de données PostgreSQL comme source pour des migrations de données homogènes dans AWS DMS - AWS Service de Migration de Base de Données

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.

Utilisation d'une base de données PostgreSQL comme source pour des migrations de données homogènes dans AWS DMS

Vous pouvez utiliser une base de données PostgreSQL en tant que source pour Migrations de données homogènes dans AWS DMS. Dans ce cas, votre fournisseur de données source peut être une base de données sur site EC2, Amazon ou RDS pour PostgreSQL.

Pour exécuter des migrations de données homogènes, accordez des autorisations de superutilisateur à l'utilisateur de base de données que vous avez spécifié AWS DMS pour votre base de données source PostgreSQL. L’utilisateur de base de données a besoin d’autorisations de superutilisateur pour accéder aux fonctions spécifiques à la réplication dans la source. Pour une migration de données de chargement complet, votre utilisateur de base de données a besoin d’autorisations SELECT sur les tables pour les migrer.

Utilisez le script suivant pour créer un utilisateur de base de données doté des autorisations requises dans la base de données source PostgreSQL. Exécutez la GRANT requête pour toutes les bases de données vers lesquelles vous migrez AWS.

CREATE USER your_user WITH LOGIN PASSWORD 'your_password'; ALTER USER your_user WITH SUPERUSER; GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO your_user;

Dans l'exemple précédent, remplacez chacune user input placeholder par vos propres informations.

AWS DMS prend en charge la CDC pour les tables PostgreSQL avec des clés primaires. Si une table n’a pas de clé primaire, les journaux WAL n’incluent pas d’image antérieure de la ligne de base de données. Ici, vous pouvez utiliser des paramètres de configuration supplémentaires et l’identité du réplica de table comme solution de contournement. Toutefois, cette approche peut générer des journaux supplémentaires. Nous vous recommandons d’utiliser l’identité du réplica de table comme solution de contournement uniquement après avoir effectué des tests méticuleux. Pour de plus amples informations, veuillez consulter Paramètres de configuration supplémentaires lors de l’utilisation d’une base de données PostgreSQL en tant que source DMS.

Les sections suivantes décrivent les prérequis de configuration spécifiques pour les bases de données PostgreSQL autogérées et gérées par AWS.

Utilisation d'une base de données PostgreSQL autogérée comme source pour des migrations de données homogènes dans AWS DMS

Cette section explique comment configurer vos bases de données PostgreSQL hébergées sur site ou sur des instances Amazon. EC2

Vérifiez la version de la base de données PostgreSQL source. Assurez-vous qu'elle est AWS DMS compatible avec la version de votre base de données PostgreSQL source, comme décrit dans. Sources pour les migrations de données homogènes DMS

Les migrations de données homogènes prennent en charge la capture des données de modification (CDC) à l’aide de la réplication logique. Pour activer la réplication logique sur une base de données source PostgreSQL autogérée, définissez les paramètres suivants dans le fichier de configuration postgresql.conf :

  • Définissez wal_level sur logical.

  • Définissez une valeur supérieure à 1 pour max_replication_slots.

    Définissez la valeur max_replication_slots selon le nombre de tâches que vous souhaitez exécuter. Par exemple, pour exécuter cinq tâches, vous définissez au moins cinq emplacements. Les emplacements s'ouvrent automatiquement dès qu'une tâche commence et restent ouvert même lorsque la tâche n'est plus en cours d'exécution. Assurez-vous de supprimer manuellement les emplacements ouverts.

  • Définissez une valeur supérieure à 1 pour max_wal_senders.

    Le paramètre max_wal_sendersdéfinit le nombre de tâches simultanées qui peuvent s'exécuter.

  • Le paramètre wal_sender_timeout met fin aux connexions de réplication qui sont inactives plus longtemps que le nombre de millisecondes spécifié. La valeur par défaut est de 60 000 millisecondes (60 secondes). La définition de la valeur sur 0 (zéro) désactive le mécanisme d’expiration et constitue une valeur valide pour DMS.

Certains paramètres sont statiques et vous ne pouvez les définir qu’au démarrage du serveur. Toute modification apportée à leurs entrées dans le fichier de configuration est ignorée tant que le serveur n’est pas redémarré. Pour de plus amples informations, veuillez consulter la documentation sur PostgreSQL.

Utilisation d'une base de données PostgreSQL AWS gérée comme source pour des migrations de données homogènes dans AWS DMS

Cette section explique comment configurer vos instances de base de données Amazon RDS for PostgreSQL.

Utilisez le compte utilisateur AWS principal de l'instance de base de données PostgreSQL comme compte utilisateur du fournisseur de données sources PostgreSQL pour des migrations de données homogènes dans. AWS DMS Le compte d'utilisateur principal a les rôles nécessaires qui lui permettent de configurer la capture des données modifiées. Si vous utilisez un compte autre que le compte d’utilisateur principal, ce compte doit avoir le rôle rds_superuser et le rôle rds_replication. Le rôle rds_replication accorde les autorisations permettant de gérer des emplacements logiques et de diffuser les données à l’aide d’emplacements logiques.

Utilisez l’exemple de code suivant pour octroyer les rôles rds_superuser et rds_replication.

GRANT rds_superuser to your_user; GRANT rds_replication to your_user;

Dans l'exemple précédent, remplacez par le nom your_user de l'utilisateur de votre base de données.

Pour activer la réplication logique, définissez le paramètre rds.logical_replication de votre groupe de paramètres de base de données sur 1. Ce paramètre statique nécessite un redémarrage de l'instance DB pour son application.

Limites d’utilisation d’une base de données compatible PostgreSQL en tant que source pour une migration de données homogène

Les limites suivantes s’appliquent à l’utilisation d’une base de données compatible PostgreSQL en tant que source pour une migration de données homogène :

  • Le nom d’utilisateur que vous utilisez pour vous connecter à votre source de données présente les limites suivantes :

    • Il peut comporter de 2 à 64 caractères.

    • Il ne peut pas comporter d’espaces.

    • Il peut inclure les caractères suivants : a-z, A-Z, 0-9, trait de soulignement (_).

    • Il doit commencer par a-z ou A-Z.

  • Le mot de passe que vous utilisez pour vous connecter à votre source de données présente les limites suivantes :

    • Il peut comporter de 1 à 128 caractères.

    • Il ne peut contenir aucun des éléments suivants : guillemet simple (’), guillemet double ("), point-virgule (;) ou espace.