Ir para o conteúdo

Por que minha instância de banco de dados do Amazon RDS entra em um estado de armazenamento cheio ou tem pouco espaço de armazenamento livre depois que eu ativo o ajuste de escala automático de armazenamento?

7 minuto de leitura
0

Eu ativei o ajuste de escala automático de armazenamento para minha instância de banco de dados do Amazon Relational Database Service (Amazon RDS), mas o espaço de armazenamento livre é inferior a 10%. Ou a instância está em um estado de armazenamento cheio.

Breve descrição

Quando você altera o armazenamento da sua instância de banco de dados, a instância de banco de dados entra no estado storage-optimization. A fase storage-optimization geralmente leva alguns minutos para ser concluída, mas pode levar mais de 24 horas. Para monitorar o processo, use o console do Amazon Elastic Compute Cloud (Amazon EC2).

Observação: não é possível fazer modificações adicionais no armazenamento por seis horas a partir da última modificação de armazenamento ou até que a fase storage-optimization seja concluída, o que for mais longo.

Durante a fase storage-optimization, o ajuste de escala automático não pode aumentar o armazenamento da sua instância de banco de dados, mesmo que haja menos de 10% de espaço de armazenamento livre.

Quando você usa o ajuste de escala automático para aumentar o armazenamento da sua instância de banco de dados, o armazenamento adicional aumenta em um dos seguintes incrementos, o que for maior:

  • 10 GiB
  • 10% do espaço atualmente alocado
  • Previsão de crescimento do armazenamento em sete horas com base nas métricas do FreeStorageSpace da última hora

Se você quiser carregar 50 GB de dados em menos de uma hora, um aumento de 10% no armazenamento não é suficiente. Como a operação anterior de ajuste de escala automático está no estado storage-optimization, não é possível fazer modificações de armazenamento na instância de banco de dados até que o processo seja concluído. Como resultado, sua instância de banco de dados pode ficar com o status storage-full por várias horas.

Resolução

Se você não conseguir modificar o armazenamento da sua instância de banco de dados do RDS, verifique o status da sua instância. Se sua instância de banco de dados estiver no estado storage-full ou available, verifique se uma modificação no armazenamento ocorreu nas últimas seis horas. Para confirmar se uma operação de aumento de armazenamento foi realizada recentemente, verifique os eventos da sua instância de banco de dados para ver as seguintes mensagens:

“Finished applying modification to allocated storage.”

-ou-

“Finished applying autoscaling-initiated modification to allocated storage.”

Se sua instância de banco de dados estiver no estado storage-optimization, restaure seu banco de dados para uma instância de banco de dados com mais armazenamento do Amazon Elastic Block Store (Amazon EBS).

Observação: se sua instância de banco de dados estiver no estado storage-full, primeiro você deverá interromper o carregamento de dados na instância de banco de dados. Esse processo pode levar de alguns minutos a várias horas antes que a instância não esteja mais no estado storage-full.

Quando sua instância de banco de dados não estiver no estado storage-full, use uma das seguintes opções para modificar o tamanho de armazenamento da instância de banco de dados:

  • Opção 1: criar e promover uma réplica de leitura da instância de banco de dados.
  • Opção 2: criar um snapshot manual do banco de dados e restaurar a instância de banco de dados em um período específico.
  • Opção 3: desativar o ajuste de escala automático devido a pouco FreeStorageSpace.

Observação: as opções 1 e 2 provocam tempo de inatividade em seu banco de dados. No entanto, a opção 1 resulta em menos tempo de inatividade do que a opção 2. As réplicas de leitura são suportadas pelos mecanismos de banco de dados MariaDB, Microsoft SQL Server, MySQL, Oracle e PostgreSQL.

Criar e promover uma réplica de leitura da instância de banco de dados do RDS

Conclua as etapas a seguir:

  1. Crie uma réplica de leitura da sua instância de banco de dados.
  2. Aumente a capacidade de armazenamento da réplica de leitura. Por padrão, o ajuste de escala automático de armazenamento do Amazon RDS é desativado na réplica de leitura.
  3. Renomeie a instância de banco de dados ativa com outro nome. Isso interrompe o tráfego de entrada.
  4. Renomeie a réplica de leitura para o nome que você usou na sua instância de banco de dados ativa. Isso muda o endpoint da réplica de leitura para ser o mesmo da instância de banco de dados ativa, e você não precisa reconfigurar as aplicações.
  5. Promova sua réplica de leitura.

Observação: para a aplicação ou cliente, o tempo de inatividade do banco de dados ocorre durante as etapas 3 a 5.

Criar um snapshot manual do banco de dados e restaurar a instância de banco de dados do RDS em um período específico

Conclua as etapas a seguir:

  1. Renomeie sua instância de banco de dados ativa para interromper o tráfego de entrada e evitar o estado storage-full. Se sua instância de banco de dados estiver no estado storage-full, você não poderá prosseguir com a próxima etapa.
  2. Crie um snapshot do banco de dados da sua instância de banco de dados.
    Observação: o snapshot impede que a instância de banco de dados restaurada sofra eventos de modificação de armazenamento storage-optimization.
  3. Para restaurar sua instância de banco de dados em um período, escolha o horário restaurável mais recente. Para o identificador da instância, insira o nome que foi usado pela sua instância de banco de dados ativa.
    Observação: para evitar aumentos no ajuste de escala automático que resultem em storage-optimization, não ative o ajuste de escala automático.
  4. (Opcional) Modifique a instância de banco de dados restaurada para incluir grupos de segurança personalizados. O grupo de segurança padrão do banco de dados é aplicado à nova instância de banco de dados.
  5. Aumente a capacidade de armazenamento da nova instância de banco de dados.

Observação: para a aplicação ou cliente, o tempo de inatividade do banco de dados ocorre durante as etapas 1 a 4.

Desativar o ajuste de escala automático devido a pouco FreeStorageSpace

Se você desativar o ajuste de escala automático, o armazenamento adicional não será alocado automaticamente e você poderá controlar manualmente a alocação de armazenamento. Por exemplo, o ajuste de escala automático aumentará o armazenamento em 10%, mas você deseja adicionar mais de 10% antes do início do evento de ajuste de escala automático. Para esse cenário, desative o ajuste de escala automático.

Para desativar o ajuste de escala automático, conclua as seguintes etapas:

  1. Abra o console do Amazon RDS.
  2. No painel de navegação, escolha Bancos de dados e selecione seu banco de dados.
  3. Escolha Modificar.
  4. Em Armazenamento, em Configuração adicional de armazenamento, desmarque a opção Ativar ajuste de escala automático de armazenamento.
  5. Selecione Continuar.
  6. Escolha Aplicar imediatamente ou Aplicar durante a próxima janela de manutenção programada.
  7. Selecione Modificar instância de banco de dados.

Observação: quando a métrica FreeStorageSpace é inferior a 10% por pelo menos cinco minutos, o ajuste de escala automático é iniciado. O ajuste de escala automático também é iniciado quando decorrem pelo menos seis horas da última storage-modification ou quando a storage-optimization for concluída na instância, o que for mais longo.

Informações relacionadas

Por que recebi um erro “No space left on device” ou “DiskFull” no Amazon RDS para PostgreSQL?

Por que minha instância de banco de dados do Amazon RDS para Oracle usa mais armazenamento que o esperado?

Por que minha instância de banco de dados do Amazon RDS para MySQL está usando mais armazenamento do que o esperado?

Como faço para otimizar o consumo de armazenamento na minha instância de banco de dados do Amazon RDS para SQL Server?