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ãoSESSION
,EVENTUAL
,GLOBAL
ouOFF
. Por padrão, o valor é definido comoSESSION
. Definir o valor comoOFF
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 de0
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 de0
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 de0
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.