Versões compatíveis do Postgres
Habilitar a replicação lógica
rds.logical_replication = 1
- Crie um novo grupo de parâmetros para a sua versão do Aurora PostgreSQL com a configuração necessária:
- Defina
rds.logical_replicationcomo 1
- Defina
- Aplique o novo grupo de parâmetros ao cluster do Aurora PostgreSQL
- Reinicie o cluster do Aurora para aplicar as alterações
Configurar usuário do banco de dados
-
Crie um usuário dedicado para o ClickPipes:
-
Conceda acesso somente leitura no nível do schema ao usuário criado na etapa anterior. O exemplo a seguir mostra as permissões para o schema
public. Repita esses comandos para cada schema que contenha tabelas que você queira replicar: -
Conceda privilégios de replicação ao usuário:
- Crie uma publication com as tabelas que você deseja replicar. Recomendamos fortemente incluir na publication apenas as tabelas necessárias para evitar sobrecarga de desempenho.
-
Para criar uma publication para tabelas específicas:
-
Para criar uma publication para todas as tabelas de um schema específico:
-
Para criar uma publication para todas as tabelas de um schema específico:
clickpipes conterá o conjunto de eventos de alteração gerados pelas tabelas especificadas e, posteriormente, será usada para a ingestão do fluxo de replicação.
Configurar acesso à rede
Controle de acesso baseado em IP
Inbound rules do Security Group do Aurora.
Acesso privado via AWS PrivateLink
Considerações específicas do Aurora
- Endpoint de conexão: Sempre se conecte ao endpoint de gravação do seu cluster Aurora, pois a replicação lógica requer acesso de escrita para criar replication slots e precisa se conectar à instância primária.
- Tratamento de failover: Em caso de failover, o Aurora promoverá automaticamente uma instância de leitura para ser o novo writer. O ClickPipes detectará a desconexão e tentará se reconectar ao endpoint de gravação, que então passará a apontar para a nova instância primária.
- Global Database: Se você estiver usando Aurora Global Database, deverá se conectar ao endpoint de gravação da região primária, pois a replicação entre regiões já faz a movimentação dos dados entre elas.
- Considerações de armazenamento: A camada de armazenamento do Aurora é compartilhada por todas as instâncias de um cluster, o que pode oferecer melhor desempenho para a replicação lógica em comparação com o RDS padrão.
Como lidar com endpoints dinâmicos do cluster
- Para configurações de alta disponibilidade, configure sua aplicação para usar o endpoint de gravação do Aurora, que aponta automaticamente para a instância primária atual.
- Se estiver usando replicação entre regiões, considere configurar ClickPipes separados para cada região para reduzir a latência e melhorar a tolerância a falhas.