Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Guide de configuration de la source Aurora Postgres

Versions de Postgres prises en charge

ClickPipes prend en charge Aurora PostgreSQL-Compatible Edition à partir de la version 12.

Activer la réplication logique

Vous pouvez ignorer cette section si votre instance Aurora dispose déjà des paramètres suivants :

  • rds.logical_replication = 1

Ce paramètre est généralement préconfiguré si vous avez déjà utilisé un autre outil de réplication des données.

postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)

Si ce n’est pas déjà fait, suivez ces étapes :

  1. Créez un nouveau groupe de paramètres pour votre version d’Aurora PostgreSQL avec le paramètre requis :
    • Définissez rds.logical_replication sur 1
Où trouver les groupes de paramètres dans Aurora
Modification de rds.logical_replication
  1. Appliquez le nouveau groupe de paramètres à votre cluster Aurora PostgreSQL
Modification d’Aurora PostgreSQL avec le nouveau groupe de paramètres
  1. Redémarrez votre cluster Aurora pour appliquer les modifications
Redémarrage d’Aurora PostgreSQL

Configurer un utilisateur de base de données

Connectez-vous à votre instance writer Aurora PostgreSQL en tant qu’utilisateur admin et exécutez les commandes suivantes :

  1. Créez un utilisateur dédié pour ClickPipes :

    CREATE USER clickpipes_user PASSWORD 'some-password';
  2. Accordez à l’utilisateur créé à l’étape précédente un accès en lecture seule au niveau du schéma. L’exemple suivant montre les permissions pour le schéma public. Répétez ces commandes pour chaque schéma contenant des tables que vous souhaitez répliquer :

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
  3. Accordez les privilèges de réplication à l’utilisateur :

    GRANT rds_replication TO clickpipes_user;
  4. Créez une publication avec les tables que vous souhaitez répliquer. Nous vous recommandons vivement de n’inclure dans la publication que les tables nécessaires afin d’éviter tout surcoût de performances.

  • Pour créer une publication pour des tables spécifiques :

    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    • Pour créer une publication pour toutes les tables d’un schéma donné :

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";

La publication clickpipes définit l’ensemble des tables dont les événements de modification seront transmis à ClickPipes. Nous déconseillons d’utiliser FOR ALL TABLES sauf si vous avez l’intention de répliquer chaque table, car l’inclusion de tables inutiles augmente le trafic WAL de Postgres vers ClickPipes et réduit l’efficacité globale de la réplication.

Utilisation de l’authentification IAM (facultatif)

Instead of a password, you can authenticate the ClickPipes user with an AWS IAM role. This lets ClickPipes connect to your Amazon Aurora cluster without storing database credentials.

Enable IAM authentication

  1. Log in to your AWS account and go to the Aurora cluster you want to configure.
  2. Click Modify.
  3. Scroll to the Database authentication section.
  4. Select Password and IAM database authentication.
  5. Click Continue.
  6. Review the changes and select Apply immediately.

Create the ClickPipes user

Create the ClickPipes user with IAM authentication enabled, then grant it the same schema and replication privileges shown above:

CREATE USER clickpipes_iam_user;
GRANT rds_iam TO clickpipes_iam_user;

Obtain the ClickHouse service IAM role ARN

  1. Log in to your ClickHouse Cloud account.
  2. Select the ClickHouse service you want to connect.
  3. Select the Settings tab.
  4. Scroll to the Network security information section at the bottom of the page.
  5. Copy the service's Service role ID (IAM) value, shown below.
Service role ID (IAM) value in the Network security information section

This value is your {ClickHouse_IAM_ARN} — the role ClickPipes uses to access your Aurora cluster.

Obtain the resource ID

  1. Log in to your AWS account and go to the Aurora cluster you want to configure.
  2. Select the Configuration tab.
  3. Note the Resource ID value — it looks like cluster-xxxxxxxxxxxxxx. This is your {RDS_RESOURCE_ID}, which you reference in the permissions policy.

Create the IAM role

  1. Log in to your AWS account with an IAM user that has permission to create and manage IAM roles.
  2. Open the IAM console.
  3. Create a new IAM role with the following trust and permissions policies.

    Trust policy (replace {ClickHouse_IAM_ARN} with the IAM role ARN of your ClickHouse instance):

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "{ClickHouse_IAM_ARN}"
          },
          "Action": [
            "sts:AssumeRole",
            "sts:TagSession"
          ]
        }
      ]
    }

    Permissions policy (replace {RDS_RESOURCE_ID} with the resource ID of your Aurora cluster, {RDS_REGION} with its region, and {AWS_ACCOUNT} with your AWS account ID):

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "rds-db:connect"
          ],
          "Resource": [
            "arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user"
          ]
        }
      ]
    }
  4. Once the role is created, copy its ARN. This is your {RDS_ACCESS_IAM_ROLE_ARN}.

You can now use this IAM role to authenticate with your Aurora cluster from ClickPipes.

Configurer l’accès au réseau

Contrôle d’accès basé sur l’adresse IP

Si vous souhaitez restreindre le trafic vers votre cluster Aurora, ajoutez les adresses IP NAT statiques documentées aux Inbound rules de votre groupe de sécurité Aurora.

Où trouver le groupe de sécurité dans Aurora PostgreSQL ?
Modifier les `Inbound rules` du groupe de sécurité ci-dessus

Pour vous connecter à votre cluster Aurora via un réseau privé, vous pouvez utiliser AWS PrivateLink. Suivez notre guide de configuration d’AWS PrivateLink pour ClickPipes pour établir la connexion.

Considérations spécifiques à Aurora

Lors de la configuration de ClickPipes avec Aurora PostgreSQL, gardez les points suivants à l'esprit :

  1. Endpoint de connexion : connectez-vous toujours à l'endpoint writer de votre cluster Aurora, car la réplication logique nécessite un accès en écriture pour créer des slots de réplication et doit se connecter à l'instance primaire.

  2. Gestion du basculement : en cas de basculement, Aurora promeut automatiquement un reader comme nouveau writer. ClickPipes détectera la déconnexion et tentera de se reconnecter à l'endpoint writer, qui pointera alors vers la nouvelle instance primaire.

  3. Base de données globale : si vous utilisez Aurora Global Database, vous devez vous connecter à l'endpoint writer de la région primaire, car la réplication interrégion gère déjà le transfert des données entre les régions.

  4. Considérations relatives au stockage : la couche de stockage d'Aurora est partagée par toutes les instances d'un cluster, ce qui peut offrir de meilleures performances pour la réplication logique par rapport à RDS standard.

Gérer les endpoints dynamiques du cluster

Bien qu’Aurora fournisse des endpoints stables qui redirigent automatiquement vers l’instance appropriée, voici quelques approches supplémentaires pour garantir une connectivité fiable :

  1. Pour les configurations à haute disponibilité, configurez votre application pour utiliser le writer endpoint d’Aurora, qui pointe automatiquement vers l’instance primaire active.

  2. Si vous utilisez une réplication inter-régions, envisagez de configurer des ClickPipes distincts pour chaque région afin de réduire la latence et d’améliorer la tolérance aux pannes.

Et maintenant ?

Vous pouvez maintenant créer votre ClickPipe et commencer à ingérer des données de votre cluster Aurora PostgreSQL dans ClickHouse Cloud. Veillez à noter les informations de connexion utilisées lors de la configuration de votre cluster Aurora PostgreSQL, car vous en aurez besoin lors de la création du ClickPipe.

Navigation