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.
Tópicos
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
Escolha Create database (Criar banco de dados).
-
Na página Criar instância de banco de dados, escolha um mecanismo de banco de dados compatível com DLV.
-
Em Armazenamento:
-
Escolha SSD de IOPS provisionadas (io1) ou SSD de IOPS provisionadas (io2).
-
Insira o Armazenamento alocado e as IOPS provisionadas que você deseja.
-
Expanda Volume dedicado de logs e selecione Ativar o volume dedicado de logs.
-
-
Selecione outras configurações, conforme necessário.
-
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 comoio2
ouio1
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 comotrue
para usar um volume de logs dedicado. -
StorageType
: defina comoio2
ouio1
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
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.
-
Escolha a instância de banco de dados com o armazenamento de IOPS provisionadas que você deseja modificar.
-
Escolha Modificar.
-
Na página Modificar instância de banco de dados:
-
Em Armazenamento, expanda Volume dedicado de logs e selecione Ativar o volume dedicado de logs.
-
-
Escolha Continuar.
-
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.
-
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 comotrue
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 comoTrue
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.