Usando um volume de registro dedicado (DLV) - Amazon Relational Database Service

Usando um volume de registro dedicado (DLV)

Use um volume dedicado de log (DLV) para uma instância de banco de dados que usa o armazenamento de IOPS provisionadas (PIOPS). Um DLV move os logs de transações do banco de dados do PostgreSQL e logs binários e redo logs do MySQL/MariaDB para um volume de armazenamento separado do volume que contém as tabelas do banco de dados. Um DLV torna o registro de gravação de transações mais eficiente e consistente. Os DLVs são ideais para bancos de dados com grande armazenamento alocado, altos requisitos de I/O por segundo (IOPS) ou cargas de trabalho sensíveis à latência.

Os DLVs são compatíveis com armazenamento PIOPS (io1 e io2 Block Express) e são criados com um tamanho fixo de 1.000 GiB e 3.000 IOPS provisionadas.

O Amazon RDS é compatível com DLVs em todas as Regiões da AWS para as seguintes versões:

  • 10.6.7 e versões 10.6 posteriores

  • MySQL 8.0.28 e versões 8.0 posteriores

  • Todas as versões 11, 12 e 13, versões 10.4 e superior e versões 9.6.9 e superior do PostgreSQL

O Amazon RDS on é compatível com implantações multi-AZ. Quando você modifica ou cria uma instância multi-AZ, um DLV é criado tanto para a primária quanto para a secundária.

O RDS oferece suporte a DLVs com réplicas de leitura. Se a instância de banco de dados primária tiver um DLV ativado, todas as réplicas de leitura criadas após a ativação do DLV também terão um DLV. Qualquer réplica de leitura criada antes da mudança para o DLV não a terá habilitada, a menos que seja explicitamente modificada para isso. Recomendamos que todas as réplicas de leitura anexadas a uma instância primária antes da ativação do DLV também sejam modificadas manualmente para terem um DLV.

nota

Volumes de log dedicados são recomendados para configurações de banco de dados de 5 TiB ou mais.

Para obter informações sobre os intervalos de armazenamento alocado, IOPS provisionadas e throughput disponíveis para cada mecanismo de banco de dados, consulte Armazenamento SSD de IOPS provisionadas.

Considerações ao habilitar e desabilitar o DLV

Habilitar e desabilitar o DLV pode ser demorado e causar tempo de inatividade. O processo envolve copiar todos os logs de transações ou redo logs e logs binários (dependendo do mecanismo de banco de dados) no novo volume ao habilitar ou de volta no armazenamento original ao desabilitar. A duração dessa operação é influenciada por vários fatores:

  • Número de logs de transações:

    • Bancos de dados maiores com mais transações geram mais logs, aumentando o tempo necessário para cópia.

    • Os logs de transações poderão se acumular na instância do banco de dados primário se os slots de replicação estiverem inativos ou se a replicação estiver atrasada, aumentando o tempo necessário para a cópia. Verifique se a replicação está atualizada e remova todos os slots desnecessários.

  • Configuração do armazenamento:

    • Largura de banda do EBS da instância de banco de dados: maior largura de banda permite uma transferência de dados mais rápida.

    • Número de IOPS provisionadas: mais operações de entrada e saída por segundo (IOPS) podem acelerar o processo de cópia.

  • Atividade do banco de dados: altos níveis de atividade do banco de dados durante a configuração podem retardar o processo.

Para minimizar o tempo de inatividade, recomendamos o planejamento e o agendamento durante períodos de baixa atividade ou janelas de manutenção.

Habilitar o DLV ao criar uma instância de banco de dados

É possível usar o AWS Management Console, a AWS CLI ou a API do RDS para criar uma instância de banco de dados com o DLV habilitado.

Como habilitar o DLV em uma nova instância de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Escolha Create database (Criar banco de dados).

  3. Na página Criar instância de banco de dados, escolha um mecanismo de banco de dados compatível com DLV.

  4. Em Armazenamento:

    1. Escolha SSD de IOPS provisionadas (io1) ou SSD de IOPS provisionadas (io2).

    2. Insira o Armazenamento alocado e as IOPS provisionadas que você deseja.

    3. Expanda Volume dedicado de logs e selecione Ativar o volume dedicado de logs.

    Habilite o DLV em uma nova instância de banco de dados.
  5. Selecione outras configurações, conforme necessário.

  6. Selecione Criar banco de dados.

Depois que o banco de dados é criado, o valor do volume dedicado de logs aparece na guia Configuração da página de detalhes do banco de dados.

Para habilitar o DLV ao criar uma instância de banco de dados usando o armazenamento de IOPS provisionadas, use o comando create-db-instance da AWS CLI. Defina os seguintes parâmetros:

  • --dedicated-log-volume: ativa um volume de logs dedicado.

  • --storage-type: defina como io2 ou io1 para IOPS provisionadas.

  • --allocated-storage: quantidade de armazenamento a ser alocada para a instância de banco de dados, em gibibytes.

  • --iops: a quantidade de IOPS provisionadas para a instância de banco de dados, expressa em operações de E/S por segundo.

Para habilitar o DLV ao criar uma instância de banco de dados usando o armazenamento de IOPS provisionadas, use a operação de API CreateDBInstance do Amazon RDS. Defina os seguintes parâmetros:

  • DedicatedLogVolume: defina como true para usar um volume de logs dedicado.

  • StorageType: defina como io2 ou io1 para IOPS provisionadas.

  • AllocatedStorage: quantidade de armazenamento a ser alocada para a instância de banco de dados, em gibibytes.

  • Iops: a taxa de IOPS para a instância de banco de dados, expressa em operações de E/S por segundo.

Habilitar o DLV em uma instância de banco de dados existente

É possível usar o AWS Management Console, a AWS CLI ou a API do RDS para modificar uma instância de banco de dados para habilitar o DLV.

Depois de modificar a configuração de DLV para uma instância de banco de dados, é necessário reinicializar a instância de banco de dados.

Como habilitar o DLV em uma instância de banco de dados existente
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

    Para filtrar a lista de instâncias de banco de dados, em Filter databases (Filtrar bancos de dados), digite uma string de texto para que o Amazon RDS use nos filtros dos resultados. Serão exibidas apenas as instâncias de banco de dados cujos nomes contiverem a string.

  3. Escolha a instância de banco de dados com o armazenamento de IOPS provisionadas que você deseja modificar.

  4. Escolha Modificar.

  5. Na página Modificar instância de banco de dados:

    1. Em Armazenamento, expanda Volume dedicado de logs e selecione Ativar o volume dedicado de logs.

  6. Escolha Continuar.

  7. Escolha Aplicar imediatamente para aplicar as alterações à instância de banco de dados imediatamente. Ou escolha Apply during the next scheduled maintenance window (Aplicar durante a próxima janela de manutenção programada) para aplicar as alterações na próxima janela de manutenção.

  8. Revise os parâmetros a serem alterados e escolha Modify DB instance (Modificar instância de banco de dados) para concluir a modificação.

O novo valor do volume dedicado de logs aparece na guia Configuração da página de detalhes do banco de dados.

Para habilitar ou desabilitar o DLV em uma instância de banco de dados existente usando o armazenamento de IOPS provisionadas, use o comando. AWS CLI modify-db-instance Defina os seguintes parâmetros:

  • --dedicated-log-volume: ativa um volume de logs dedicado.

    Use --no-dedicated-log-volume (o padrão) para desabilitar um volume de logs dedicado.

  • --apply-immediately: use --apply-immediately para aplicar as alterações imediatamente.

    Use --no-apply-immediately (o padrão) para aplicar as alterações durante a próxima janela de manutenção.

Para habilitar ou desabilitar o DLV em uma instância de banco de dados existente usando o armazenamento de IOPS provisionadas, use a operação de API do Amazon RDS. ModifyDBInstance Defina os seguintes parâmetros:

  • DedicatedLogVolume: defina essa opção como true para habilitar um volume de logs dedicado.

    Defina essa opção como false para desabilitar um volume de logs dedicado. Este é o valor padrão.

  • ApplyImmediately: defina essa opção como True para aplicar as alterações imediatamente.

    Defina essa opção como False (o padrão) para aplicar as alterações durante a próxima janela de manutenção.

Monitorar o armazenamento DLV

É possível monitorar o uso do armazenamento DLV usando a métrica FreeStorageSpaceLogVolume no CloudWatch.

É possível usar a seguinte consulta para RDS para PostgreSQL para encontrar o tamanho ocupado pelos logs de transações:

SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size FROM pg_catalog.pg_ls_waldir();

Se o DLV ficar sem armazenamento, a instância de banco de dados entrará no estado storage-full, causando tempo de inatividade.