Gerenciar a capacidade automaticamente com a escalabilidade automática de armazenamento do Amazon RDS - Amazon Relational Database Service

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 ou igual a 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:

  • 10 GiB

  • 10% do armazenamento alocado atualmente

  • Previsão de crescimento do armazenamento que excede o armazenamento atual alocado nas próximas sete horas, com base nas métricas de FreeStorageSpace da última hora. Para obter mais informações sobre métricas, consulte Monitoring with Amazon CloudWatch (Monitorar com o Amazon CloudWatch).

O limite máximo de armazenamento é o limite definido para autoscaling 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. Recomendamos defini-lo no mínimo 26% acima para evitar o recebimento de uma notificação de evento avisando que o tamanho do armazenamento está se aproximando do limite máximo.

    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). No entanto, recomendamos definir o limite máximo de armazenamento para pelo menos 1.260 GiB para evitar a notificação de evento.

  • Para uma instância de banco de dados que usa armazenamento de IOPS provisionadas (io1 ou io2 Block Express), a proporção de IOPS com relação ao limite máximo de armazenamento (em GiB) deve estar dentro de determinado intervalo. Para ter mais informações, consulte Armazenamento SSD de IOPS provisionadas.

  • 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 para o mecanismo de banco de dados e a classe de instância de banco de dados.

    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 a escalabilidade do armazenamento para um valor inesperadamente alto quando o autoscaling 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 escalabilidade automática não ocorrerá se o limite máximo de armazenamento for excedido pelo incremento de armazenamento.

  • Ao usar autoscaling, o RDS prevê o tamanho do armazenamento para operações de autoscaling subsequentes. Se houver previsão de que uma operação subsequente excederá o limite máximo de armazenamento, o RDS fará o autoscaling para o limite máximo 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.

  • Não é possível diminuir o armazenamento alocado. Não é possível reduzir a quantidade de armazenamento para uma instância de banco de dados depois que ela foi alocada.

  • 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 autoscaling 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 (Autoscaling do 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 create-db-instance da AWS CLI. 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 describe-valid-db-instance-modifications da AWS CLI. 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 modify-db-instance AWS CLI. 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 o autoscaling do armazenamento) na seção Storage autoscaling (Autoscaling do 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.