Práticas recomendadas para implantações azul/verde do Amazon RDS - Amazon Relational Database Service

Práticas recomendadas para implantações azul/verde do Amazon RDS

Veja as práticas recomendadas para implantações azul/verde.

Práticas recomendadas gerais para implantações azuis/verdes

Considere as seguintes práticas recomendadas gerais ao criar uma implantação azul/verde.

  • Teste minuciosamente as instâncias de banco de dados no ambiente verde antes da transição.

  • Mantenha seus bancos de dados no ambiente verde somente leitura. Recomendamos que você habilite as operações de gravação no ambiente verde com cuidado, pois elas podem causar conflitos de replicação. Elas também podem ocasionar dados não intencionais nos bancos de dados de produção após a transição.

  • Se você usar uma implantação azul/verde para implementar alterações de esquema, faça somente alterações compatíveis com a replicação.

    Por exemplo, é possível adicionar novas colunas ao final de uma tabela sem interromper a replicação da implantação azul para a implantação verde. No entanto, alterações de esquema, como renomear colunas ou renomear tabelas, transformam a replicação na implantação verde.

    Para ter mais informações sobre alterações compatíveis com replicação, consulte Replicação com diferentes definições de tabela na origem e na réplica na documentação do MySQL e Restrições na documentação de replicação lógica do PostgreSQL.

    nota

    Essa limitação não se aplica às implantações azuis/verdes do RDS para PostgreSQL que usam replicação física. Para ter mais informações, consulte Limitações do RDS para PostgreSQL para implantações azuis/verdes com replicação física.

  • Depois de criar a implantação azul/verde, manipule o carregamento lento, se necessário. O carregamento de dados deve ser concluído antes da transição. Para ter mais informações, consulte Carregamento lento e inicialização de armazenamento para implantações azuis/verdes.

  • Ao realizar a transição de uma implantação azul/verde, siga as práticas recomendadas de transição. Para ter mais informações, consulte Práticas recomendadas de transição.

Práticas recomendadas do RDS para MySQL para implantações azuis/verdes

Considere as seguintes práticas recomendadas ao criar uma implantação azul/verde em uma instância de banco de dados do RDS para MySQL.

  • Evite usar mecanismos de armazenamento não transacionais, como o MyISAM, que não são otimizados para replicação.

  • Otimize as réplicas de leitura e o ambiente verde para replicação de logs binários. Se compatível com o mecanismo de banco de dados, habilite as replicações GTID, paralela e à prova de falhas para garantir consistência e durabilidade dos dados antes de criar a implantação azul/verde. Para ter mais informações, consulte Usar a replicação baseada em GTID.

  • Se o ambiente verde apresentar atraso na réplica, pense no seguinte:

    • Defina o parâmetro innodb_flush_log_at_trx_commit temporariamente como 2 no grupo de parâmetros verde do banco de dados. Depois de atualizar a replicação, faça a reversão para o valor padrão de 1 antes da transição. Se ocorrer um desligamento inesperado ou uma falha com os valores dos parâmetros temporários, compile o ambiente verde novamente para evitar que nenhuma corrupção de dados passe despercebida.

    • Para reduzir a latência de gravação e melhorar o throughput da replicação, altere temporariamente as instâncias verdes de banco de dados multi-AZ para instâncias de banco de dados single-AZ. Reabilite a multi-AZ logo antes da transição.

Práticas recomendadas do RDS para PostgreSQL para implantações azuis/verdes

Considere as seguintes práticas recomendadas ao criar uma implantação azul/verde em uma instância de banco de dados do RDS para PostgreSQL.

Práticas recomendadas gerais do RDS para PostgreSQL para implantações azuis/verdes

Considere as seguintes práticas recomendadas gerais ao criar uma implantação azul/verde em uma instância de banco de dados do RDS para PostgreSQL.

  • Atualize todas as extensões do PostgreSQL para a versão mais recente antes de criar uma implantação azul/verde. Para ter mais informações, consulte Atualizar extensões do PostgreSQL em bancos de dados do RDS para PostgreSQL.

  • Transações de longa duração podem causar um atraso significativo na réplica. Para reduzir o atraso na réplica, pense no seguinte:

    • Reduza as transações de longa duração que podem ser adiadas até que o ambiente verde alcance o ambiente azul.

    • Reduza as operações em massa no ambiente azul até que o ambiente verde alcance o ambiente azul.

    • Inicie uma operação manual de congelamento de vacuum em tabelas ocupadas antes de criar a implantação azul/verde.

    • Em relação ao PostgreSQL versão 12 e posterior, desabilite o parâmetro index_cleanup em tabelas grandes ou ocupadas para aumentar a taxa de manutenção normal em bancos de dados azuis. Para ter mais informações, consulte Aspirar uma tabela o mais rápido possível.

      nota

      Ignorar regularmente a limpeza do índice durante a aspiração pode causar inchaço no índice, o que pode prejudicar o desempenho da limpeza. Como prática recomendada, utilize essa abordagem somente ao usar uma implantação azul/verde. Depois que a implantação estiver concluída, recomendamos retomar a manutenção e a limpeza regulares do índice.

  • A replicação lenta pode fazer com que remetentes e destinatários sejam reiniciados com frequência, o que atrasa a sincronização. Para garantir que eles permaneçam ativos, desabilite os tempos limite definindo o parâmetro wal_sender_timeout como 0 no ambiente azul e o parâmetro wal_receiver_timeout como 0 no ambiente verde.

  • Para evitar que segmentos de log de gravação antecipada (WAL) sejam removidos do ambiente azul, defina o parâmetro wal_keep_segments como 15625 para o PostgreSQL versão 13 e anterior. Para a versão 14 e posterior, defina o parâmetro wal_keep_size como 1 TiB, se houver espaço de armazenamento livre suficiente.

Práticas recomendadas do RDS para PostgreSQL para implantações azuis/verdes com replicação física

Com a replicação física, o Amazon RDS cria uma réplica de leitura da instância de banco de dados de origem. Para parâmetros relacionados, monitoramento, ajuste e solução de problemas, consulte Trabalhar com réplicas de leitura do Amazon RDS para PostgreSQL.

Para obter uma explicação de quando as implantações azuis/verdes usam a replicação física em vez da replicação lógica, consulte Métodos de replicação do PostgreSQL em implantações azuis/verdes.

Práticas recomendadas do RDS para PostgreSQL para implantações azuis/verdes com replicação lógica

Considere as seguintes práticas recomendadas ao criar uma implantação azul/verde que usa replicação lógica. Para obter uma explicação de quando as implantações azuis/verdes usam a replicação lógica em vez da replicação física, consulte Métodos de replicação do PostgreSQL em implantações azuis/verdes.

  • Se o banco de dados tiver memória livre suficiente, aumente o valor do parâmetro de banco de dados logical_decoding_work_mem no ambiente azul. Isso permite menos decodificação no disco e uso da memória. Para obter mais informações, consulte a Documentação do PostgreSQL.

    • É possível monitorar o estouro de transações que está sendo gravado em disco usando a métrica ReplicationSlotDiskUsage do CloudWatch. Essa métrica oferece insights sobre o uso do espaço em disco por slots de replicação, ajudando a identificar quando os dados da transação excedem a capacidade de memória e são armazenados em disco. Você pode monitorar a memória livre com a métrica do FreeableMemory do CloudWatch. Para ter mais informações, consulte Métricas específicas da instância do Amazon CloudWatch para Amazon RDS.

    • No RDS para PostgreSQL versão 14 e posterior, é possível monitorar o tamanho dos arquivos de estouro lógico usando a visualização pg_stat_replication_slots do sistema.

  • Se você estiver usando a extensão aws_s3, conceda à instância de banco de dados verde acesso ao Amazon S3 por meio de um perfil do IAM após a criação do ambiente verde. Isso permite que os comandos de importação e exportação continuem funcionando após a transição. Para instruções, consulte Configurar o acesso a um bucket do Amazon S3.

  • Analise o desempenho das instruções UPDATE e DELETE e avalie se a criação de um índice na coluna utilizada na cláusula WHERE pode otimizar essas consultas. Isso pode melhorar o desempenho quando as operações são repetidas no ambiente verde.

  • Se você estiver usando gatilhos, garanta que eles não interfiram na criação, atualização e eliminação de objetos pg_catalog.pg_publication, pg_catalog.pg_subscription e pg_catalog.pg_replication_slots cujos nomes comecem com “rds”.

  • Se você especificar uma versão posterior do mecanismo para o ambiente verde, execute a operação ANALYZE em todos os bancos de dados para atualizar a tabela pg_statistic. As estatísticas do otimizador não são transferidas durante uma atualização de versão principal, portanto, é necessário gerar novamente todas as estatísticas para evitar problemas de performance. Para conhecer práticas recomendadas adicionais durante as principais atualizações de versões, consulte Como atualizar a versão principal do RDS para PostgreSQL.

  • Evite configurar gatilhos como ENABLE REPLICA ou ENABLE ALWAYS se o gatilho for usado na origem para manipular dados. Caso contrário, o sistema de replicação propagará as alterações e executará o gatilho, o que ocasiona duplicação.