Trabalhar com armazenamento para instâncias de banco de dados do Amazon RDS - Amazon Relational Database Service

Trabalhar com armazenamento para instâncias de banco de dados do Amazon RDS

Para especificar como deseja armazenar seus dados no Amazon RDS, escolha um tipo de armazenamento e forneça um tamanho de armazenamento ao criar ou modificar uma instância de banco de dados. Mais tarde, você poderá aumentar a quantidade ou alterar o tipo de armazenamento modificando a instância de banco de dados. Para obter mais informações sobre qual tipo de armazenamento usar para sua workload, consulte Tipos de armazenamento do Amazon RDS.

Aumento da capacidade de armazenamento da instância de banco de dados

Se precisar de espaço para dados adicionais, é possível aumentar o armazenamento de uma instância de banco de dados existente. Para fazer isso, você pode usar o Console de Gerenciamento do Amazon RDS, a API do Amazon RDS ou a AWS Command Line Interface (AWS CLI) Para obter informações sobre limites de armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

nota

A escalabilidade do armazenamento para instâncias de banco de dados do Amazon RDS for Microsoft SQL Server tem suporte somente para os tipos de armazenamento SSD de uso geral ou SSD de IOPS provisionadas.

Para monitorar a quantidade de armazenamento livre para sua instância de banco de dados para poder responder quando necessário, recomendamos criar um alarme do Amazon CloudWatch. Para obter mais informações sobre como definir alarmes do CloudWatch, consulte Usar alarmes do CloudWatch.

A escalabilidade de armazenamento geralmente não gera nenhuma interrupção ou degradação na performance da instância de banco de dados. Depois de modificar o tamanho de armazenamento de uma instância de banco de dados, o status da instância de banco de dados é storage-optimization.

nota

A otimização de armazenamento pode demorar muitas horas. Não é possível fazer outras modificações de armazenamento por até seis (6) horas ou até a conclusão da otimização de armazenamento na instância, o que acontecer por último.

No entanto, será um caso especial se você tiver uma instância de banco de dados do SQL Server e não tiver modificado a configuração de armazenamento desde novembro de 2017. Nesse caso, poderá ocorrer uma breve interrupção de alguns minutos quando você modificar sua instância de banco de dados para aumentar o armazenamento alocado. Após a interrupção, a instância de banco de dados permanece online, mas no estado storage-optimization. O performance pode ser degradado durante a otimização de armazenamento.

nota

Não é possível reduzir a quantidade de armazenamento para uma instância de banco de dados depois que ela foi alocada. Ao aumentar o armazenamento alocado, o aumento deve ser de pelo menos 10%. Ao tentar aumentar o valor em menos de 10%, você obtém um erro.

Para aumentar o armazenamento para uma 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. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha a instância de banco de dados que você deseja modificar.

  4. Selecione Modify.

  5. Digite um novo valor em Allocated Storage (Armazenamento alocado). Ele deve ser maior que o valor atual.

    
								Modificar a quantidade de armazenamento para uma instância de banco de dados
  6. Escolha Continue (Continuar) para ir para a próxima tela.

  7. Escolha Apply immediately (Aplicar imediatamente) na seção Scheduling of modifications (Agendamento de modificações) 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. Quando as configurações estiverem de acordo com as suas preferências, escolha Modify DB instance (Modificar instância de banco de dados).

Para aumentar o armazenamento de uma instância de banco de dados, use o comando da AWS CLImodify-db-instance. Defina os seguintes parâmetros:

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

  • --apply-immediately: use --apply-immediately para aplicar as alterações de armazenamento de forma imediata.

    Ou use --no-apply-immediately (o padrão) para aplicar as alterações durante a próxima janela de manutenção. Ocorrerá uma interrupção imediata quando as alterações forem aplicadas.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Para aumentar o armazenamento de uma instância de banco de dados, use a operação da API do Amazon RDS ModifyDBInstance. Defina os seguintes parâmetros:

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

  • ApplyImmediately: defina essa opção como True para aplicar imediatamente as alterações de armazenamento. Defina essa opção como False (o padrão) para aplicar as alterações durante a próxima janela de manutenção. Ocorrerá uma interrupção imediata quando as alterações forem aplicadas.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Gerenciar a capacidade automaticamente com a escalabilidade automática de armazenamento do Amazon RDS

Se a sua workload for imprevisível, você poderá habilitar a escalabilidade automática para uma instância de banco de dados do Amazon RDS. Para fazer isso, você pode usar o console do Amazon RDS, a API do Amazon RDS ou a AWS CLI.

Por exemplo, você pode usar esse recurso para um novo aplicativo de jogos para dispositivos móveis que os usuários estejam adotando rapidamente. Nesse caso, uma workload que aumenta rapidamente pode exceder o armazenamento de banco de dados disponível. Para evitar ter que aumentar o armazenamento de banco de dados manualmente, você poderá usar escalabilidade automática do Amazon RDS.

Com a autoescalabilidade de armazenamento habilitada, quando o Amazon RDS detecta que seu espaço de banco de dados está acabando, ele aumenta automaticamente o armazenamento. O Amazon RDS inicia uma modificação de armazenamento para uma instância de banco de dados habilitada para a autoescalabilidade quando estes fatores se aplicam:

  • O espaço livre for menor que 10% do espaço alocado.

  • A condição de armazenamento baixo durar pelo menos 5 minutos.

  • Ao menos seis horas se passaram desde a última modificação de armazenamento ou a conclusão da otimização de armazenamento na instância, o que tiver ocorrido há mais tempo.

O armazenamento adicional está em incrementos de qual destes for maior:

O limite máximo de armazenamento é o limite definido para dimensionamento automático da instância de banco de dados. As seguintes restrições se aplicam:

  • Você deve definir o limite máximo de armazenamento para pelo menos 10% a mais do que o armazenamento alocado atual.

    Por exemplo, se você tiver uma instância de banco de dados com 1.000 GiB de armazenamento alocado, defina o limite máximo de armazenamento para pelo menos 1.100 GiB. Se não fizer isso, você receberá um erro como Invalid max storage size for engine_name (Tamanho máximo de armazenamento inválido para engine_name).

  • Para uma instância de banco de dados que use armazenamento de IOPS provisionadas, a proporção de IOPS com relação ao limite máximo de armazenamento (em GiB) deve ser de 1 a 50 no RDS for SQL Server e de 0,5 a 50 em outros mecanismos de banco de dados do RDS.

  • Não é possível definir o limite máximo de armazenamento para instâncias habilitadas para a escalabilidade automática como um valor maior que o armazenamento máximo alocado.

    Por exemplo, o SQL Server Standard Edition na db.m5.xlarge possui um armazenamento alocado padrão para a instância de 20 GiB (o mínimo) e um armazenamento alocado máximo de 16.384 GiB. O limite máximo de armazenamento padrão para escalabilidade automática é de 1.000 GiB. Se você usar esse padrão, a instância não será dimensionada automaticamente acima de 1.000 GiB. Isso ocorre mesmo que o armazenamento máximo alocado para a instância seja 16.384 GiB.

nota

Recomendamos que você escolha cuidadosamente o limite máximo de armazenamento com base nos padrões de uso e nas necessidades do cliente. Se houver aberrações nos padrões de uso, o limite máximo de armazenamento poderá impedir o dimensionamento do armazenamento para um valor inesperadamente alto quando o dimensionamento automático estimar um limite muito alto. Depois que uma instância de banco de dados é dimensionada automaticamente, seu armazenamento alocado não pode ser reduzido.

Limitações

As seguintes limitações se aplicam à escalabilidade automática do armazenamento:

  • A autoescalabilidade não ocorrerá se o limite máximo de armazenamento for excedido pelo incremento de armazenamento.

  • A autoescalabilidade não pode impedir totalmente situações de armazenamento completo para grandes cargas de dados. Isso ocorre porque não é possível fazer outras modificações de armazenamento por até seis (6) horas ou até a conclusão da otimização de armazenamento na instância, o que ocorrer há mais tempo.

    Se você executar um carregamento grande de dados e a escalabilidade automática não fornecer espaço suficiente, o banco de dados poderá permanecer no estado de armazenamento cheio por várias horas. Isso pode prejudicar o banco de dados.

  • Se você iniciar uma operação de escalabilidade de armazenamento ao mesmo tempo que o Amazon RDS iniciar uma operação de escalabilidade automática, a modificação do armazenamento terá precedência. A operação de escalabilidade automática será cancelada.

  • A escalabilidade automática não pode ser usada com o armazenamento magnético.

  • A escalabilidade automática não pode ser usada com as seguintes classes de instância de geração anterior que têm menos de 6 TiB de armazenamento ordenável: db.m3.large, db.m3.xlarge e db.m3.2xlarge.

  • As operações de dimensionamento automático não são registradas por AWS CloudTrail. Para obter mais informações sobre o CloudTrail, consulte Monitorar chamadas de API do Amazon RDSno AWS CloudTrail.

Embora a escalabilidade automática ajude a aumentar o armazenamento na sua Instância de banco de dados do Amazon RDS dinamicamente, você ainda deve configurar o armazenamento inicial de sua instância de banco de dados com um tamanho adequado para sua workload típica.

Habilitar a escalabilidade automática de armazenamento para uma nova instância de banco de dados

Ao criar uma nova instância de banco de dados do Amazon RDS, você pode optar pela escalabilidade automática de armazenamento. Também é possível definir um limite máximo de armazenamento que o Amazon RDS pode alocar para a instância de banco de dados.

nota

Quando você clonar uma instância de banco de dados do Amazon RDS que tenha a escalabilidade automática de armazenamento habilitada, essa configuração não será herdada automaticamente pela instância clonada. A nova instância de banco de dados terá a mesma quantidade de armazenamento alocado que a instância original. Você poderá ativar a escalabilidade automática de armazenamento novamente para a nova instância se a instância clonada continuar a aumentar seus requisitos de armazenamento.

Para habilitar a escalabilidade automática para 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. No canto superior direito do console do Amazon RDS, escolha a região da AWS na qual você quer criar a instância de banco de dados.

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

  4. Escolha Create database (Criar banco de dados). Na página Select engine (Selecionar mecanismo), escolha seu mecanismo de banco de dados e especifique as informações de sua instância de banco de dados conforme descrito em Conceitos básicos do Amazon RDS.

  5. Na seção Storage autoscaling (Escalabilidade automática de armazenamento), defina o valor de Maximum storage threshold (Limite máximo de armazenamento) para a instância de banco de dados.

  6. Especifique as informações restantes da instância de banco de dados conforme descrito em Conceitos básicos do Amazon RDS.

Para habilitar a escalabilidade automática de armazenamento para uma nova instância de banco de dados, use o comando da AWS CLI create-db-instance. Defina o seguinte parâmetro:

  • --max-allocated-storage: ativa a autoescalabilidade de armazenamento e define o limite máximo de tamanho do armazenamento, em gibibytes.

Para verificar se a escalabilidade automática de armazenamento do Amazon RDS está disponível para sua instância de banco de dados, use o comando da AWS CLI describe-valid-db-instance-modifications. Para verificar com base na classe de instâncias antes de criar uma instância, use o comando describe-orderable-db-instance-options. Verifique o seguinte campo no valor retornado:

  • SupportsStorageAutoscaling: indica se a instância de banco de dados ou a classe de instâncias oferece suporte à autoescalabilidade de armazenamento.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Para habilitar a escalabilidade automática de armazenamento para uma nova instância de banco de dados, use a operação da API do Amazon RDS CreateDBInstance. Defina o seguinte parâmetro:

  • MaxAllocatedStorage: ativa a autoescalabilidade de armazenamento do Amazon RDS e define o limite máximo de tamanho do armazenamento, em gibibytes.

Para verificar se a escalabilidade automática de armazenamento do Amazon RDS está disponível para a instância de banco de dados, use a operação DescribeValidDbInstanceModifications da API do Amazon RDS para uma instância existente ou a operação DescribeOrderableDBInstanceOptions antes de criar uma instância. Verifique o seguinte campo no valor retornado:

  • SupportsStorageAutoscaling: indica se a instância de banco de dados oferece suporte à autoescalabilidade de armazenamento.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Alterar as configurações de escalabilidade automática de armazenamento para uma instância de banco de dados

É possível ativar a escalabilidade automática de armazenamento para uma instância de banco de dados do Amazon RDS existente. Também é possível alterar o limite máximo de armazenamento que o Amazon RDS pode alocar para a instância de banco de dados.

Para alterar as configurações de escalabilidade automática de armazenamento para uma 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. No painel de navegação, escolha Databases (Bancos de dados).

  3. Selecione a instância de banco de dados que você deseja modificar e escolha Modify (Modificar). A página Modify DB instance (Modificar instância de banco de dados) será exibida.

  4. Altere o limite de armazenamento na seção Autoscaling (Escalabilidade automática). Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  5. Quando todas as alterações estiverem conforme o desejado, escolha Continue (Continuar) e verifique as modificações.

  6. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha Modify DB Instance (Modificar instância de banco de dados) para salvar suas alterações. Se não estiverem corretas, escolha Back (Voltar) para editar as alterações ou escolha Cancel (Cancelar) para cancelar as alterações.

    A alteração do limite de escalabilidade automática do armazenamento ocorre imediatamente. Essa configuração ignora a configuração de Apply immediately.

Para alterar as configurações de escalabilidade automática de armazenamento para uma instância de banco de dados, use o comando da AWS CLI modify-db-instance. Defina o seguinte parâmetro:

  • --max-allocated-storage: define o limite máximo de tamanho do armazenamento, em gibibytes. Se o valor for maior que o parâmetro --allocated-storage, a escalabilidade automática de armazenamento será ativada. Se o valor for o mesmo que o parâmetro --allocated-storage, a escalabilidade automática de armazenamento será desativada

Para verificar se a escalabilidade automática de armazenamento do Amazon RDS está disponível para sua instância de banco de dados, use o comando da AWS CLI describe-valid-db-instance-modifications. Para verificar com base na classe de instâncias antes de criar uma instância, use o comando describe-orderable-db-instance-options. Verifique o seguinte campo no valor retornado:

  • SupportsStorageAutoscaling: indica se a instância de banco de dados oferece suporte à autoescalabilidade de armazenamento.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Para alterar as configurações de escalabilidade automática de armazenamento para uma instância de banco de dados, use a operação de API do Amazon RDS ModifyDBInstance. Defina o seguinte parâmetro:

  • MaxAllocatedStorage: define o limite máximo de tamanho do armazenamento, em gibibytes.

Para verificar se a escalabilidade automática de armazenamento do Amazon RDS está disponível para a instância de banco de dados, use a operação DescribeValidDbInstanceModifications da API do Amazon RDS para uma instância existente ou a operação DescribeOrderableDBInstanceOptions antes de criar uma instância. Verifique o seguinte campo no valor retornado:

  • SupportsStorageAutoscaling: indica se a instância de banco de dados oferece suporte à autoescalabilidade de armazenamento.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Desativar a escalabilidade automática de armazenamento para uma instância de banco de dados

Se não precisar mais que o Amazon RDS aumente automaticamente o armazenamento para uma instância de banco de dados do Amazon RDS, você poderá desativar a escalabilidade automática de armazenamento. Depois que fizer isso, você poderá aumentar manualmente a quantidade de armazenamento para sua instância de banco de dados.

Para desativar a escalabilidade automática de armazenamento para uma 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. No painel de navegação, escolha Databases (Bancos de dados).

  3. Selecione a instância de banco de dados que você deseja modificar e escolha Modify (Modificar). A página Modify DB instance (Modificar instância de banco de dados) será exibida.

  4. Desmarque a caixa de seleção Enable storage autoscaling (Habilitar a escalabilidade automática do armazenamento) na seção Storage autoscaling (Escalabilidade automática de armazenamento). Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  5. Quando todas as alterações estiverem conforme o desejado, escolha Continue (Continuar) e verifique as modificações.

  6. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha Modify DB Instance (Modificar instância de banco de dados) para salvar suas alterações. Se não estiverem corretas, escolha Back (Voltar) para editar as alterações ou escolha Cancel (Cancelar) para cancelar as alterações.

A alteração do limite de escalabilidade automática do armazenamento ocorre imediatamente. Essa configuração ignora a configuração de Apply immediately.

Para desativar a escalabilidade automática para uma instância de banco de dados, use o comando da AWS CLI modify-db-instance e o seguinte parâmetro:

  • --max-allocated-storage: especifique um valor igual à configuração --allocated-storage para evitar a autoescalabilidade de armazenamento do Amazon RDS adicional para a instância de banco de dados especificada.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Para desativar a escalabilidade automática de armazenamento para uma instância de banco de dados, use a operação de API do Amazon RDS ModifyDBInstance. Defina o seguinte parâmetro:

  • MaxAllocatedStorage: especifique um valor igual à configuração AllocatedStorage para evitar a autoescalabilidade de armazenamento do Amazon RDS adicional para a instância de banco de dados especificada.

Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Modificar as configurações de armazenamento SSD para IOPS provisionadas

Modifique as configurações para uma instância de banco de dados que usa o armazenamento SSD de IOPS provisionadas usando o console do Amazon RDS, a AWS CLI ou a API do Amazon RDS. Especifique o tipo de armazenamento, o armazenamento alocado e a quantidade de IOPS provisionadas necessários. Você pode escolher entre 1.000 IOPS e 100 GiB de armazenamento até 80.000 IOPS e 64 TiB (64.000 GiB) de armazenamento. O intervalo depende do mecanismo do banco de dados e do tipo da instância.

Embora você possa reduzir a quantidade de IOPS provisionadas para a instância, não é possível reduzir a quantidade de armazenamento magnético ou SSD de uso geral alocado.

Na maioria dos casos, dimensionar armazenamento não exige a interrupção nem afeta a performance do servidor. Depois de modificar as IOPS de armazenamento de uma instância de banco de dados, o status dessa instância será storage-optimization.

nota

A otimização de armazenamento pode demorar muitas horas. Não é possível fazer outras modificações de armazenamento por até seis (6) horas ou até a conclusão da otimização de armazenamento na instância, o que acontecer por último.

Para alterar as configurações de IOPS provisionadas para uma 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. No painel de navegação, escolha Databases (Bancos de dados).

    nota

    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 IOPS provisionadas que você deseja modificar.

  4. Selecione Modify.

  5. Na página Modify DB Instance (Modificar instância de banco de dados), selecione IOPS provisionadas em Storage type (Tipo de armazenamento) e forneça um valor de IOPS provisionadas.

    
						Guia Console Tags (Tags do console)

    Se o valor especificado para Armazenamento alocado ou IOPS provisionadas estiver fora dos limites aceitos pelo outro parâmetro, uma mensagem de aviso será exibida. Essa mensagem fornece o intervalo de valores necessários para os outros parâmetros.

  6. Escolha Continue.

  7. Para aplicar as alterações à instância de banco de dados imediatamente, escolha Apply immediately (Aplicar imediatamente) na seção Scheduling of modifications (Agendamento de modificações). 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.

    Ocorrerá uma interrupção imediata quando o tipo de armazenamento for alterado. Para obter mais informações sobre armazenamento, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

  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 para o armazenamento alocado ou para as IOPS provisionadas será exibido na coluna Status.

Para alterar a configuração de IOPS provisionadas para uma instância de banco de dados, use o comando da AWS CLI modify-db-instance. Defina os seguintes parâmetros:

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

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

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

  • --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 alterar as configurações de IOPS provisionadas para uma instância de banco de dados, use a operação de API do Amazon RDS ModifyDBInstance. Defina os seguintes parâmetros:

  • StorageType: defina como io1 para IOPS provisionadas.

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

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

  • 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.