Gerenciar as operações do cluster - Amazon DynamoDB

Gerenciar as operações do cluster

O DAX cuida da manutenção e da integridade do cluster para você. No entanto, você precisa fornecer informações operacionais para escalar o cluster horizontal ou verticalmente de acordo com seus padrões de uso. Esta seção descreve o processo recomendado para escalar clusters do DAX.

Escalar um cluster horizontalmente

O ajuste da escala de um cluster do DAX envolve o ajuste de sua capacidade para atender às demandas de throughput. Esse ajuste é feito aumentando ou diminuindo o número de nós (réplicas) no cluster enquanto ele está em execução. Esse processo, conhecido como escalabilidade horizontal, ajuda a distribuir a workload em mais nós ou a consolidá-la em menos nós quando a demanda é baixa.

Você pode aumentar e diminuir a escala de um cluster do DAX horizontalmente usando os comandos decrease-replication-factor ou increase-replication-factor na AWS CLI.

Aumentar o fator de replicação (aumentar a escala horizontalmente)

Aumentar o fator de replicação de um cluster do DAX adiciona mais nós ao cluster. O exemplo a seguir mostra o uso do comando increase-replication-factor.

aws dax increase-replication-factor \ --cluster-name yourClusterName \ --new-replication-factor desiredReplicationFactor
  • Nesse comando, o argumento cluster-name especifica o nome do cluster. Por exemplo, yourClusterName.

  • O argumento new-replication-factor especifica o número total de nós que devem ser adicionados ao cluster depois do ajuste de escala. Isso inclui o nó primário e os nós de réplica. Por exemplo, se o cluster tiver três nós e você quiser adicionar mais dois nós, defina o valor de new-replication-factor como 5.

Diminuir o fator de replicação (reduzir a escala horizontalmente)

Diminuir o fator de replicação de um cluster do DAX remove nós do cluster. A remoção de nós pode ajudar a reduzir os custos durante períodos de baixa demanda. O exemplo a seguir mostra o uso do comando decrease-replication-factor.

aws dax decrease-replication-factor \ --cluster-name yourClusterName \ --new-replication-factor desiredReplicationFactor
  • Nesse comando, o argumento cluster-name especifica o nome do cluster. Por exemplo, yourClusterName.

  • O argumento new-replication-factor especifica o número reduzido de nós no cluster depois do ajuste de escala. Esse número precisa ser menor que o fator de replicação atual e deve incluir o nó primário. Por exemplo, se o cluster tiver cinco nós e você quiser remover dois nós, defina o valor de new-replication-factor como 3.

Considerações sobre a escalabilidade horizontal

Considere o seguinte ao planejar a escalabilidade horizontal:

  • Nó primário: o cluster do DAX inclui um nó primário. O fator de replicação inclui esse nó primário. Por exemplo, um fator de replicação de 3 significa um nó primário e dois nós de réplica.

  • Disponibilidade: a adição ou remoção de nós do DAX altera a disponibilidade e a tolerância a falhas do cluster. Mais nós podem melhorar a disponibilidade, mas também aumentam os custos.

  • Migração de dados: quando você aumenta o fator de replicação, o DAX gerencia automaticamente a distribuição de dados entre o novo conjunto de nós. Quando um novo nó começa a fornecer tráfego, seu cache já está aquecido. No entanto, durante esse processo, pode haver um impacto temporário no desempenho durante a migração de dados.

Monitore os clusters do DAX com atenção durante e após o processo de escalabilidade para garantir que estejam funcionando conforme o esperado e faça ajustes adicionais se houver necessidade.

Escalar um cluster verticalmente

Para escalar verticalmente o tamanho de nó de um cluster existente, é necessário criar um cluster e migrar o tráfego da aplicação para o novo cluster. A migração para um novo cluster com nós diferentes envolve várias etapas para garantir uma transição suave com impacto mínimo no desempenho e na disponibilidade da aplicação.

Para criar um cluster com o intuito de escalar verticalmente o tamanho de um nó, considere os seguintes pontos:

  • Acesse sua configuração atual: revise as métricas do cluster do DAX atual para determinar o novo tamanho e a quantidade de nós necessários. Use essas informações para definir o tamanho do cluster. Para ter mais informações, consulte Dimensionar um cluster do DAX.

  • Configure um novo cluster do DAX: crie um cluster do DAX com o tipo de nó e a quantidade que você determinou. Você pode usar as configurações existentes do seu grupo de parâmetros, a menos que precise fazer ajustes.

  • Sincronize os dados: como o DAX é uma camada de armazenamento em cache para o DynamoDB, não é necessário migrar os dados diretamente. No entanto, o novo cluster do DAX não terá nenhum conjunto de dados funcional na memória até que você envie tráfego para ele.

  • Atualize a configuração da aplicação: atualize a configuração da sua aplicação para apontar para o endpoint do novo cluster do DAX. Talvez seja necessário alterar o código ou atualizar as variáveis de ambiente, dependendo da configuração da aplicação.

    Para reduzir o impacto ao mudar para um novo cluster, envie tráfego canário para o novo cluster de uma pequena parte da sua frota de aplicações. Para fazer isso, implemente lentamente as atualizações da aplicação ou use uma entrada DNS de roteamento baseado em peso na frente do endpoint do DAX.

  • Monitore e otimize: depois de mudar para o novo cluster do DAX, monitore atentamente suas métricas e logs de desempenho em busca de quaisquer problemas. Prepare-se para ajustar o número de nós com base nos padrões atualizados da workload.

    Até que o novo cluster armazene seu conjunto de dados de trabalho em cache adequadamente, você verá latências e taxas de perda no cache mais altas.

  • Desative o cluster antigo: quando tiver certeza de que o novo cluster está funcionando conforme o esperado, desative com segurança o antigo cluster do DAX para evitar custos desnecessários.