Usar o Aurora Serverless v2
O Aurora Serverless v2 é uma configuração sob demanda e de autoescalabilidade do Amazon Aurora. O Aurora Serverless v2 ajuda a automatizar os processos de monitoramento da workload e ajustar a capacidade para seus bancos de dados. A capacidade é ajustada automaticamente com base na demanda da aplicação. Você será cobrado apenas pelos recursos que seus clusters de banco de dados consumirem. Dessa forma, o Aurora Serverless v2 pode ajudar você a ficar dentro do orçamento e evitar pagar pelos recursos computacionais não utilizados.
Esse tipo de automação é especialmente valioso para bancos de dados multilocatário, bancos de dados distribuídos, sistemas de desenvolvimento e teste e outros ambientes com workloads altamente variáveis e imprevisíveis.
Tópicos
- Casos de uso do Aurora Serverless v2
- Vantagens do Aurora Serverless v2
- Como funciona o Aurora Serverless v2
- Requisitos e limitações do Aurora Serverless v2
- Criar um cluster de banco de dados que usa o Aurora Serverless v2
- Gerenciar clusters de banco de dados do Aurora Serverless v2
- Performance e escalabilidade no Aurora Serverless v2
- Migrar para o Aurora Serverless v2
Casos de uso do Aurora Serverless v2
O Aurora Serverless v2 é compatível com muitos tipos de workload de banco de dados Elas variam desde ambientes de desenvolvimento e teste até sites e aplicações com workloads imprevisíveis e aplicações mais exigentes e essenciais para os negócios que exigem alta escala e disponibilidade.
O Aurora Serverless v2 é especialmente útil para os seguintes casos de uso:
-
Workloads variáveis: você está executando workloads que têm aumentos repentinos e imprevisíveis na atividade. Um exemplo é um site de tráfego que tem um surto de atividades quando começa a chover. Outro é um site de comércio eletrônico com maior tráfego quando você oferece vendas ou promoções especiais. Com o Aurora Serverless v2, seu banco de dados faz escalabilidade automática da capacidade para atender às necessidades da carga de pico da aplicação e reduz a escala novamente na vertical quando o pico de atividades termina. Com o Aurora Serverless v2, não é mais necessário provisionar para capacidade de pico ou média. Você pode especificar um limite de capacidade posterior para lidar com a pior situação, e essa capacidade não é usada, a menos que seja necessária.
A granularidade da escalabilidade no Aurora Serverless v2 ajuda você a combinar a capacidade de forma próxima às necessidades do seu banco de dados. Para um cluster provisionado, o aumento da escala na vertical exige a adição de uma instância de banco de dados inteiramente nova. No caso de um Aurora Serverless v1, o aumento da escala na vertical exige dobrar o número de unidades de capacidade (ACUs) do Aurora para o cluster, por exemplo, de 16 para 32 ou de 32 para 64. Em contrapartida, o Aurora Serverless v2 pode adicionar meia ACU quando é necessário apenas um pouco mais de capacidade. Ele pode adicionar 0,5, 1, 1,5, 2 ou meia ACU com base na capacidade adicional necessária para lidar com um aumento na workload. E ele pode remover 0,5, 1, 1,5, 2 ou meia ACU quando a workload diminui e essa capacidade não é mais necessária.
-
Multi-tenant applications (Aplicações multilocatários): com o Aurora Serverless v2, não é necessário gerenciar individualmente a capacidade do banco de dados para cada aplicação em sua frota. O Aurora Serverless v2 gerencia a capacidade do banco de dados individual para você.
É possível criar um cluster para cada locatário. Dessa forma, você pode usar recursos como clonagem, restauração de snapshot e bancos de dados globais do Aurora para aprimorar a alta disponibilidade e a recuperação de desastres, conforme apropriado para cada locatário.
Cada locatário pode ter períodos ociosos e de ocupação específicos, dependendo da hora do dia, da época do ano, dos eventos promocionais, etc. Cada cluster pode ter um amplo intervalo de capacidade. Dessa forma, os clusters com baixa atividade geram cobranças mínimas de instância de banco de dados. Qualquer cluster pode ter a escala aumentada na vertical rapidamente para lidar com períodos de alta atividade.
-
Novas aplicações: você está implantando uma nova aplicação e não tem certeza sobre o tamanho da instância de banco de dados de que precisa. Com o uso do Aurora Serverless v2, é possível configurar um cluster com uma ou várias instâncias de banco de dados e realizar a escalabilidade automática do banco de dados para os requisitos de capacidade de sua aplicação.
-
Aplicativos de uso misto: suponha que você tenha uma aplicação de processamento de transações on-line (OLTP), mas periodicamente ocorrem picos no tráfego de consultas. Ao especificar níveis de promoção para as instâncias de banco de dados do Aurora Serverless v2 em um cluster, você pode configurar seu cluster para que as instâncias de banco de dados do leitor possam ser escaladas independentemente da instância de banco de dados do gravador para lidar com a carga adicional. Quando o pico de uso diminui, as instâncias de banco de dados do leitor têm a escala reduzida na vertical para corresponder à capacidade da instância de banco de dados do gravador.
-
Planejamento de capacidade: suponha que você geralmente ajuste a capacidade do banco de dados ou verifique a capacidade ideal do banco de dados para sua workload, modificando as classes de todas as instâncias de banco de dados em um cluster. Com o Aurora Serverless v2, é possível evitar essa sobrecarga administrativa. É possível determinar a capacidade mínima e máxima apropriada executando a workload e verificando o quanto as instâncias de banco de dados realmente são escaladas.
Você pode modificar as instâncias de banco de dados existentes de provisionadas para Aurora Serverless v2 ou de Aurora Serverless v2 para provisionado. Não é necessário criar um cluster nem uma instância de banco de dados nesses casos.
Com um banco de dados global do Aurora, talvez você não precise de tanta capacidade para os clusters secundários quanto para o cluster principal. É possível usar instâncias de banco de dados do Aurora Serverless v2 nos clusters secundários. Dessa forma, será possível aumentar a escala da capacidade do cluster na vertical se uma região secundária for promovida e assumir a workload de sua aplicação.
-
Desenvolvimento e teste: além de executar as aplicações mais exigentes, você também pode usar o Aurora Serverless v2 em ambientes de desenvolvimento e teste. Com o Aurora Serverless v2, você pode criar instâncias de banco de dados com uma capacidade mínima baixa em vez de usar classes de instância de banco de dados db.t* com capacidade de intermitência. É possível definir a capacidade máxima alta o suficiente para que essas instâncias de banco de dados ainda possam executar workloads substanciais sem ficar com memória insuficiente. Quando o banco de dados não está em uso, todas as instâncias de banco de dados têm a escala reduzida na vertical para evitar cobranças desnecessárias.
dica
Para tornar conveniente usar o Aurora Serverless v2 em ambientes de desenvolvimento e teste, o AWS Management Console fornece o atalho Easy create (Criação fácil) ao criar um cluster. Se escolher a opção Dev/Test (Dev/teste), o Aurora criará um cluster com uma instância de banco de dados do Aurora Serverless v2 e um intervalo de capacidade típico para um sistema de desenvolvimento e teste.
Usar o Aurora Serverless v2 para workloads provisionadas existentes
Suponha que você já tenha um Aurora em execução em um cluster provisionado. Você pode verificar como a aplicação funcionaria com o Aurora Serverless v2 adicionando uma ou mais instâncias de banco de dados do Aurora Serverless v2 ao cluster existente como instâncias de banco de dados do leitor. Você pode conferir com que frequência a escala das instâncias de banco de dados do leitor é aumentada ou reduzida na vertical. É possível usar o mecanismo de failover do Aurora para promover uma instância de banco de dados do Aurora Serverless v2 ao gravador e conferir como ela lida com a workload de leitura/gravação Dessa forma, é possível alternar com o mínimo de tempo de inatividade e sem alterar o endpoint que suas aplicações cliente usam. Para obter detalhes sobre o procedimento para converter clusters existentes em Aurora Serverless v2, consulte Migrar para o Aurora Serverless v2.
Vantagens do Aurora Serverless v2
O Aurora Serverless v2 destina-se a workloads variáveis. Com essas workloads imprevisíveis, você pode ter dificuldade em planejar quando alterar a capacidade do banco de dados. Você também pode ter problemas para fazer alterações de capacidade com rapidez suficiente usando os mecanismos conhecidos, como adicionar instâncias de banco de dados ou alterar classes de instâncias de banco de dados. O Aurora Serverless v2 oferece as seguintes vantagens para ajudar nesses casos de uso:
-
Gerenciamento de capacidade mais simples do que o provisionado: o Aurora Serverless v2 reduz o esforço para planejar tamanhos de instâncias de banco de dados e redimensioná-las conforme a workload muda. Ele também reduz o esforço para manter a capacidade consistente para todas as instâncias de banco de dados em um cluster.
-
Escalabilidade mais rápida e fácil durante períodos de alta atividade: o Aurora Serverless v2 escala a capacidade computacional e de memória, conforme necessário, sem interrupções nas transações do cliente nem em sua workload geral. A capacidade de usar instâncias de banco de dados do leitor como Aurora Serverless v2 ajuda você a aproveitar a escalabilidade horizontal e vertical. Com a capacidade de usar bancos de dados globais do Aurora, você pode distribuir sua workload de leitura do Aurora Serverless v2 por vários Regiões da AWS. Esse recurso é mais conveniente do que os mecanismos de escalabilidade de clusters provisionados. Também é mais rápido e mais granular do que os recursos de escalabilidade do Aurora Serverless v1.
-
Economia durante períodos de baixa atividade: o Aurora Serverless v2 ajuda você a evitar o provisionamento excessivo de suas instâncias de banco de dados. O Aurora Serverless v2 adiciona recursos em incrementos granulares quando a escala das instâncias de banco de dados é aumentada na vertical. É possível pagar apenas pelos recursos de banco de dados consumidos. O uso de recursos do Aurora Serverless v2 é medido por segundo. Dessa forma, quando a escala de uma instância de banco de dados é reduzida na vertical, o uso reduzido de recursos é registrado imediatamente.
-
Maior paridade de recursos com o provisionado: você pode usar muitos recursos do Aurora com o Aurora Serverless v2 que não estão disponíveis para o Aurora Serverless v1. Por exemplo, com o Aurora Serverless v2, é possível usar instâncias de banco de dados do leitor, bancos de dados globais, autenticação do banco de dados do AWS Identity and Access Management (IAM) e Performance Insights. Você também pode usar muito mais parâmetros de configuração do que com o Aurora Serverless v1.
Especificamente, com o Aurora Serverless v2, é possível aproveitar os seguintes recursos de clusters provisionados:
-
Instâncias de banco de dados do leitor: o Aurora Serverless v2 pode aproveitar as instâncias de banco de dados do leitor para escalar na horizontal. Quando um cluster contém uma ou mais instâncias de banco de dados do leitor, ele pode realizar failover imediatamente em caso de problemas com a instância de banco de dados do gravador. Este é um recurso que não está disponível no Aurora Serverless v1.
-
Clusters multi-AZ: você pode distribuir as instâncias de banco de dados do Aurora Serverless v2 de um cluster em várias zonas de disponibilidade (AZs). A configuração de um cluster multi-AZ ajuda a garantir a continuidade dos negócios, mesmo no caso raro de problemas que afetam uma AZ inteira. Este é um recurso que não está disponível no Aurora Serverless v1.
-
Bancos de dados globais: é possível usar o Aurora Serverless v2 em combinação com bancos de dados globais do Aurora para criar cópias somente leitura adicionais de seu cluster em outro Regiões da AWS para fins de recuperação de desastres.
-
Proxy do RDS: é possível usar o proxy do Amazon RDS para permitir que suas aplicações agrupem e compartilhem conexões de banco de dados para melhorar sua capacidade de escalar.
-
-
Escalabilidade mais rápida, mais granular e menos disruptiva em comparação com o Aurora Serverless v1: é possível reduzir ou aumentar a escala na vertical do Aurora Serverless v2 com maior rapidez. A escalabilidade pode alterar a capacidade em apenas 0,5 ACUs em vez de dobrar ou reduzir pela metade o número de ACUs. A escalabilidade geralmente acontece sem nenhuma pausa no processamento. A escalabilidade não envolve um evento do qual você precise estar ciente, como acontece com o Aurora Serverless v1. A escalabilidade pode acontecer enquanto as instruções SQL estão em execução e as transações estão abertas, sem a necessidade de esperar por um ponto silencioso.