Trabalhar com encaminhamento de gravação local para o Aurora PostgreSQL - Amazon Aurora

Trabalhar com encaminhamento de gravação local para o Aurora PostgreSQL

Com as seções a seguir, é possível conferir se um cluster de banco de dados tem o encaminhamento de gravação local habilitado, ver as considerações de compatibilidade e consultar os parâmetros configuráveis e a configuração de autenticação. Essas informações fornecem os detalhes para utilizar o recurso de encaminhamento de gravação local no Aurora PostgreSQL de maneira eficaz.

nota

Quando uma instância do gravador em um cluster que use o encaminhamento de gravação local é reiniciada, todas as transações e consultas ativas e encaminhadas nas instâncias do leitor que usam o encaminhamento de gravação local são fechadas automaticamente. Quando a instância do gravador estiver novamente disponível, você poderá repetir essas transações.

Conferir se um cluster de banco de dados tem o encaminhamento de gravação local habilitado

Para determinar se você pode usar o encaminhamento de gravação local em um cluster de banco de dados, confirme se o cluster tem o atributo LocalWriteForwardingStatus definido como enabled.

No AWS Management Console, na guia Configuração da página de detalhes do cluster, você vê o status Habilitado para Encaminhamento de gravação de réplica de leitura local.

Para ver o status da configuração do encaminhamento de gravação local para todos os clusters, execute o comando da AWS CLI a seguir.

aws rds describe-db-clusters \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,LocalWriteForwardingStatus:LocalWriteForwardingStatus}' [ { "LocalWriteForwardingStatus": "enabled", "DBClusterIdentifier": "write-forwarding-test-cluster-1" }, { "LocalWriteForwardingStatus": "disabled", "DBClusterIdentifier": "write-forwarding-test-cluster-2" }, { "LocalWriteForwardingStatus": "requested", "DBClusterIdentifier": "test-global-cluster-2" }, { "LocalWriteForwardingStatus": "null", "DBClusterIdentifier": "aurora-postgresql-v2-cluster" } ]

Um cluster de banco de dados pode ter os seguintes valores para LocalWriteForwardingStatus:

  • disabled: o encaminhamento de gravação local está desabilitado.

  • disabling: o encaminhamento de gravação local está sendo desabilitado.

  • enabled: o encaminhamento de gravação local está habilitado.

  • enabling: o encaminhamento de gravação local está sendo habilitado.

  • null: o encaminhamento de gravação local não está disponível para esse cluster de banco de dados.

  • requested: o encaminhamento de gravação local foi solicitado, mas ainda não está ativo.

Configurações de parâmetros padrão para o encaminhamento de gravação

Os grupos de parâmetros do cluster do Aurora incluem configurações para o recurso de encaminhamento de gravação local. Como são parâmetros de cluster, todas as instâncias de banco de dados em cada cluster têm os mesmos valores para essas variáveis. Detalhes sobre esses parâmetros são resumidos na tabela a seguir, com notas de uso após a tabela.

Parameter Escopo Type Valor padrão Valores válidos
apg_write_forward.connect_timeout Sessão segundos 30 0–2147483647
apg_write_forward.consistency_mode Sessão enum Sessão SESSION, EVENTUAL, GLOBAL, e OFF
apg_write_forward.idle_in_transaction_session_timeout Sessão milissegundos 86400000 0–2147483647
apg_write_forward.idle_session_timeout Sessão milissegundos 300000 0–2147483647
apg_write_forward.max_forwarding_connections_percent Global int 25 1–100

O parâmetro apg_write_forward.max_forwarding_connections_percent é o limite máximo em conexões de banco de dados que pode ser usado em consultas encaminhadas de leitores. Ele é expresso como uma porcentagem da configuração max_connections para a instância de banco de dados do gravador. Por exemplo, se max_connections for 800 e apg_write_forward.max_forwarding_connections_percent for 10, o gravador permitirá um máximo de 80 sessões encaminhadas simultaneamente. Essas conexões vêm do mesmo grupo de conexões gerenciado pela configuração max_connections. Essa configuração se aplica somente à instância de banco de dados do gravador quando o encaminhamento de gravação local está habilitado no cluster.

Use as seguintes configurações para controlar as solicitações de encaminhamento de gravação local:

  • apg_write_forward.consistency_mode: um parâmetro ao nível da sessão que controla o grau de consistência de leitura em uma réplica de leitura. Os valores válidos são SESSION, EVENTUAL, GLOBAL ou OFF. Por padrão, o valor é definido como SESSION. Definir o valor como OFF desabilita o encaminhamento de gravação local na sessão. Para saber mais sobre os níveis de consistência, consulte Isolamento e consistência para o encaminhamento de gravação local no Aurora PostgreSQL. Esse parâmetro é relevante somente em instâncias do leitor que tenham o encaminhamento de gravação local habilitado.

  • apg_write_forward.connect_timeout: o número máximo de segundos que a réplica de leitura espera ao estabelecer uma conexão com a instância de banco de dados do gravador antes de desistir. Um valor de 0 significa esperar indefinidamente.

  • apg_write_forward.idle_in_transaction_session_timeout: o número de milissegundos que a instância de banco de dados do gravador espera pela atividade em uma conexão encaminhada de uma réplica de leitura que tenha uma transação aberta antes de fechá-la. Se a sessão permanecer ociosa além desse período na transação, o Aurora encerrará a sessão. Um valor de 0 desabilita o tempo limite.

  • apg_write_forward.idle_session_timeout: o número de milissegundos que a instância de banco de dados do gravador espera pela atividade em uma conexão encaminhada de uma réplica de leitura antes de fechá-la. Se a sessão permanecer ociosa além desse período, o Aurora encerrará a sessão. Um valor de 0 desativa o tempo limite.

rdswriteforwarduser

O rdswriteforwarduser é um usuário que vamos utilizar para estabelecer conexão entre a réplica de leitura e a instância de banco de dados do gravador.

nota

rdswriteforwarduser herda os privilégios CONNECT para bancos de dados de clientes por meio do perfil PUBLIC. Se os privilégios do perfil PUBLIC forem revogados, você precisará conceder privilégios CONNECT para os bancos de dados aos quais precisa encaminhar gravações.