

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 de l’utilitaire de chargement de données dans Aurora PostgreSQL Limitless Database
<a name="limitless-load.utility"></a>

Aurora fournit un utilitaire permettant de charger des données directement dans Limitless Database à partir d’un cluster de bases de données Aurora PostgreSQL ou d’une instance de base de données RDS pour PostgreSQL.

Pour utiliser l’utilitaire de chargement de données, procédez comme suit :

1. [Conditions préalables](#limitless-load.prereqs)

1. [Préparation de la base de données source](#limitless-load.source)

1. [Préparation de la base de données de destination](#limitless-load.destination)

1. [Création des informations d’identification de base de données](#limitless-load.users)

1. L’un des éléments suivants :
   + [Configuration de l’authentification de la base de données et de l’accès aux ressources à l’aide d’un script](limitless-load.script.md) (recommandé)
   + [Configuration manuelle de l’authentification de base de données et de l’accès aux ressources](limitless-load.manual.md)

1. [Chargement de données à partir d’un cluster de bases de données Aurora PostgreSQL ou d’une instance de base de données RDS pour PostgreSQL](limitless-load.data.md)

## Limitations
<a name="limitless-load.limitations"></a>

L’utilitaire de chargement de données présente les limitations suivantes :
+ Les types de données suivants ne sont pas pris en charge : `enum`, `ARRAY`, `BOX`, `CIRCLE`, `LINE`, `LSEG`, `PATH`, `PG_LSN`, `PG_SNAPSHOT`, `POLYGON`, `TSQUERY`, `TSVECTOR` et `TXID_SNAPSHOT`.
+ Les zéros de tête (`0`) sont supprimés du type de données `VARBIT` lors du chargement.
+ La migration des données échoue si les tables de destination contiennent des clés étrangères.
+ Limitless Data Utility prend en charge les configurations source suivantes pour les clusters de bases de données multi-AZ Amazon RDS for PostgreSQL :
  + Instance principale
    + Modes pris en charge : snapshot, snapshot\$1then\$1cdc
  + Instance de réplica
    + Mode pris en charge : instantané uniquement
      + Exigence : hot\$1standby\$1feedback doit être activé
    + Non pris en charge : snapshot\$1then\$1cdc

## Conditions préalables
<a name="limitless-load.prereqs"></a>

L’utilitaire de chargement de données présente les prérequis suivants :
+ La base de données source utilise Aurora PostgreSQL ou RDS pour PostgreSQL version 11.x ou ultérieure.
+ La base de données source se trouve dans le même groupe de partitions de base Compte AWS de données Région AWS que dans le groupe de partitions de base de données de destination.
+ Le cluster de bases de données ou l’instance de base de données source présente l’état `available`.
+ Les tables de la base de données source et de la base de données sans limite présentent les mêmes noms de tables, noms de colonnes et types de données de colonne.
+ Les tables source et de destination possèdent des clés primaires qui utilisent les mêmes colonnes et les mêmes ordres de colonnes.
+ Vous devez disposer d’un environnement permettant de vous connecter à une base de données sans limite pour exécuter des commandes de chargement de données. Les commandes disponibles sont les suivantes :
  + `rds_aurora.limitless_data_load_start`
  + `rds_aurora.limitless_data_load_cancel`
+ Pour CDC :
  + La base de données source et le groupe de partitions de base de données de destination doivent utiliser le même groupe de sous-réseaux de base de données, le même groupe de sécurité VPC et le même port de base de données. Ces configurations concernent les connexions réseau à la fois à la base de données source et aux routeurs du groupe de partitions de base de données.
  + Vous devez activer la réplication logique sur la base de données source. L’utilisateur de la base de données source doit disposer des privilèges nécessaires pour lire la réplication logique.

## Préparation de la base de données source
<a name="limitless-load.source"></a>

Pour accéder à la base de données source lors du chargement des données, vous devez autoriser le trafic réseau entrant vers celle-ci. Procédez comme suit.

**Pour autoriser le trafic réseau vers la base de données source**

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Accédez à la page **Groupes de sécurité**.

1. Choisissez **ID du groupe de sécurité** pour le groupe de sécurité utilisé par le cluster ou l’instance de base de données source.

   Son groupe de sécurité, par exemple, porte l’ID `sg-056a84f1712b77926`.

1. Dans l’onglet **Règles entrantes** :

   1. Choisissez **Modifier les règles entrantes**.

   1. Ajoutez une nouvelle règle entrante pour le cluster ou l’instance de base de données source :
      + Plage de ports : port de base de données pour la base de données source, généralement `5432`
      + ID du groupe de sécurité : `sg-056a84f1712b77926` dans cet exemple  
![\[Ajoutez une règle entrante pour la base de données source.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/images/limitless_self_access_inbound_rule.png)

1. Dans l’onglet **Règles sortantes** :

   1. Choisissez **Edit outbound rules** (Modifier les règles sortantes).

   1. Ajoutez une nouvelle règle sortante pour le cluster ou l’instance de base de données source :
      + Port de base de données : `All traffic` (comprend les ports `0-65535`)
      + ID du groupe de sécurité : `sg-056a84f1712b77926` dans cet exemple  
![\[Ajoutez une règle sortante pour la base de données source.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/images/limitless_self_access_outbound_rule.png)

1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Accédez à la ACLs page **Réseau**.

1. Ajoutez la configuration ACL réseau par défaut comme indiqué dans [ACL réseau par défaut](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#default-network-acl).

## Préparation de la base de données de destination
<a name="limitless-load.destination"></a>

Suivez les procédures décrites dans [Création de tables Aurora PostgreSQL Limitless Database](limitless-creating.md) pour créer les tables de destination dans le groupe de partitions de base de données.

Vos tables de destination doivent utiliser les mêmes schémas, noms de tables et clés primaires que celles des tables sources.

## Création des informations d’identification de base de données
<a name="limitless-load.users"></a>

Vous devez créer des utilisateurs de base de données dans les bases de données source et de destination, et leur accorder les privilèges nécessaires. Pour plus d’informations, consultez [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) et [GRANT](https://www.postgresql.org/docs/current/sql-grant.html) dans la documentation de PostgreSQL.

### Création des informations d’identification de base de données source
<a name="limitless-load.users.source"></a>

L’utilisateur de la base de données source est spécifié dans la commande permettant de lancer le chargement. Cet utilisateur doit disposer des privilèges nécessaires pour effectuer la réplication à partir de la base de données source.

1. Utilisez l’utilisateur principal de base de données (ou un autre utilisateur disposant du rôle `rds_superuser`) pour créer un utilisateur de base de données source bénéficiant de privilèges `LOGIN`.

   ```
   CREATE USER source_db_username WITH PASSWORD 'source_db_user_password';
   ```

1. Accordez le rôle `rds_superuser` à l’utilisateur de la base de données source.

   ```
   GRANT rds_superuser to source_db_username;
   ```

1. Si vous utilisez le mode `full_load_and_cdc`, accordez le rôle `rds_replication` à l’utilisateur de la base de données source. 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.

   ```
   GRANT rds_replication to source_db_username;
   ```

### Création des informations d’identification de base de données de destination
<a name="limitless-load.users.destination"></a>

L’utilisateur de la base de données de destination doit disposer de l’autorisation d’écriture sur les tables de destination du groupe de partitions de base de données.

1. Utilisez l’utilisateur principal de base de données (ou un autre utilisateur disposant du rôle `rds_superuser`) pour créer un utilisateur de base de données de destination bénéficiant de privilèges `LOGIN`.

   ```
   CREATE USER destination_db_username WITH PASSWORD 'destination_db_user_password';
   ```

1. Accordez le rôle `rds_superuser` à l’utilisateur de la base de données de destination.

   ```
   GRANT rds_superuser to destination_db_username;
   ```