O Atlas usa dimensionamento automático para o cluster para ajudá-lo a otimizar a utilização de recursos e o custo por meio do ajuste da camada do cluster. O Atlas usa o dimensionamento automático de armazenamento para ajudá-lo a aumentar automaticamente a capacidade de armazenamento do cluster.
Nesta seção, você pode aprender sobre:
Dimensionamento automático da camada do cluster: preditivo e reativo
Visualizar eventos de dimensionamento automático no feed de atividades
Dimensionamento automático da camada do cluster
O Atlas usa dimensionamento automático reativo e preditivo para camadas do cluster. O Atlas escolhe seu mecanismo de dimensionamento automático com base no tipo, nível e padrão de carga de trabalho do cluster.
Dimensionamento automático reativo. O Atlas usa limites, e não predição, para trigger eventos de dimensionamento com base no uso atual de recursos. O dimensionamento automático reativo ocorre após o uso sustentado alto ou baixo de recursos. Para saber mais, consulte Dimensionamento automático reativo para a camada do cluster.
Dimensionamento automático preditivo. O Atlas usa o aprendizado de máquina para antecipar futuras necessidades de dimensionamento com base em padrões de uso históricos e em tentativas de trigger eventos de dimensionamento antes que o pico de carga de trabalho previsto chegue.
O dimensionamento automático preditivo é uma extensão do dimensionamento automático da camada do cluster e volta ao dimensionamento automático reativo. A Atlas continua a depender do dimensionamento automático reativo para gerenciar picos inesperados na carga de trabalho que não são cíclicos ou previsíveis. O Atlas usa dimensionamento automático preditivo para clusters elegíveis. Para saber mais, veja Dimensionamento automático preditivo para a camada do cluster.
Importante
Se você criar um cluster no Atlas e ele for elegível para dimensionamento automático reativo e elegível para dimensionamento automático preditivo, ambos os mecanismos de dimensionamento automático preditivo e reativo serão habilitados por padrão para o novo cluster se você usar a IU do Atlas. Em seguida, o Atlas usa mecanismos de dimensionamento automático com base no tipo, nível e carga de trabalho do cluster. Se você usar a Administration API do Atlas, deverá habilitar explicitamente dimensionamento automático.
Dimensionamento automático reativo para camada do cluster
Observação
Uso de termo de dimensionamento automático
Em toda a documentação do Atlas, sempre que o termo dimensionamento automático é usado sem a palavra "preditivo", ele se refere ao mecanismo reativo de dimensionamento automático. Consulte também dimensionamento automático preditivo.
Você pode configurar as faixas das camadas do cluster que o Atlas usa para dimensionar automaticamente sua camada do cluster, a capacidade de armazenamento ou ambos em resposta ao uso do cluster.
Para otimizar a utilização de recursos e melhorar o perfil de custo, o dimensionamento automático reativo do Atlas detecta uma demanda mais alta sustentada e um tráfego de pico de curto prazo e ajusta a camada do cluster com base no uso de recursos tempo real.
Para ajudar a controlar os custos, você pode especificar um intervalo de tamanhos máximos e mínimos de cluster para os quais seu cluster pode dimensionar automaticamente.
O dimensionamento automático reativo funciona de forma contínua e o processo não gera nenhum tempo de inatividade. O Atlas mantém um nó primário durante esse processo, mas os nós são atualizados um a um e ficam indisponíveis durante a atualização.
Para aprender sobre recomendações de escalabilidade, incluindo evitar o desvio de recursos ao usar infrastructure as code com dimensionamento automático reativo, veja Recomendações para escalabilidade do Atlas no Architecture Center do Atlas.
Clusters elegíveis para dimensionamento automático reativo
O dimensionamento automático reativo da camada do cluster do Atlas está disponível para todas as camadas do cluster dedicado nas classificações do cluster General e Low-CPU.
Como o Atlas dimensiona a camada de cluster
Observação
Disponibilidade de nível
O dimensionamento automático funciona em camadas do cluster nas classes General e Low-CPU, mas não em clusters na classe Local NVMe SSD.
O Atlas analisa as seguintes métricas de cluster para determinar quando dimensionar reativamente um cluster e se a camada do cluster deve ser dimensionada para cima ou para baixo:
Utilização normalizada da CPU do sistema
Utilização da memória do sistema
O Atlas calcula a utilização da memória do sistema com base na memória do nó disponível e na memória total da seguinte forma:
(memoryTotal - (memoryFree + memoryBuffers + memoryCached)) / (memoryTotal) * 100
No cálculo anterior, memoryFree, memoryBufferse memoryCached são quantidades de memória disponível que o Atlas pode recuperar para outros fins. Para saber mais, consulte System Memory em Analisar métricas disponíveis.
O Atlas não dimensionará sua camada de cluster se a nova camada de cluster ficar fora da faixa Minimum e Maximum Cluster Size especificada.
O Atlas dimensiona seu cluster para outro nível na mesma classe. Por exemplo, o Atlas dimensiona clusters General para outras classes de clusters General, mas não dimensiona clusters General para classes de cluster Low-CPU.
Os critérios exatos de dimensionamento automático reativo estão sujeitos a alterações para garantir a utilização apropriada dos recursos do cluster.
Importante
Durante uma migração, se você restaurar um snapshot com um tamanho maior que a capacidade de armazenamento do cluster de destino, o cluster não será dimensionado automaticamente.
Se você implantar nós somente leitura e quiser que seu cluster seja dimensionado mais rapidamente, considere ajustar o seu Modo de dimensionamento do conjunto de réplicas.
Dimensionando uma camada do cluster reativamente
Para gerenciar cargas de trabalho dinâmicas para seus aplicativos, o Atlas dimensiona reativamente os nós no cluster nas condições descritas nesta seção.
Se a próxima camada do cluster estiver dentro da sua faixa Maximum Cluster Size, o Atlas dimensionará os nós operacionais no seu cluster para a próxima camada se pelo menos um dos seguintes critérios for verdadeiro para qualquer nó do cluster deste tipo.
Observação
A lista a seguir agrupa os critérios relacionados à CPU, seguidos pelos critérios relacionados à memória. Dentro de cada grupo, os critérios são listados do mais restritivo ao menos restritivo, e os critérios para provedores de nuvem específicos aparecem primeiro, se houver.
M10eM20clusters:AWS. A média normalizada de Utilização Relativa da CPU do Sistema excedeu 90% nos últimos 20 minutos e a média não normalizada de Utilização Absoluta da CPU do Sistema para roubo de CPU excedeu 30% nos últimos 3 minutos.
Azure. A média normalizada de utilização relativa da CPU do sistema excedeu 90% nos últimos 20 minutos e a média não normalizada de utilização absoluta da CPU do sistema para softIRQ excedeu 10% nos últimos 3 minutos.
A média normalizada de utilização absoluta da CPU do sistema excedeu 90% dos recursos disponíveis para o cluster nos últimos 20 minutos.
A média normalizada de utilização relativa da CPU do sistema excedeu 75% dos recursos disponíveis para o cluster na última hora.
A média de System Memory Utilization excedeu 90% dos recursos disponíveis para o cluster nos últimos 10 minutos. Para saber como o Atlas calcula a quantidade de utilização da memória do sistema, consulte Como o Atlas dimensiona a camada de cluster.
A média de System Memory Utilization excedeu 75% dos recursos disponíveis para o cluster na última hora.
M30+clusters:A System CPU Utilization média excedeu 90% dos recursos disponíveis para o cluster nos últimos 10 minutos.
A média de System CPU Utilization excedeu 75% dos recursos disponíveis para o cluster na última hora.
A System Memory Utilization média excedeu 90% dos recursos disponíveis para o cluster nos últimos 10 minutos.
A média de System Memory Utilization excedeu 75% dos recursos disponíveis para o cluster na última hora.
Esses limites garantem que seu cluster seja dimensionado rapidamente em resposta a altas cargas e que seu aplicativo possa lidar com picos de tráfego ou uso, mantendo seu desempenho e confiabilidade.
Observação
As condições nesta seção descrevem os nós operacionais. Para nós de análise em qualquer provedor de nuvem, o Atlas os dimensiona para o próximo nível se a média normalizada de System CPU Utilization ou a System Memory Utilization tiver excedido 75% dos recursos disponíveis para qualquer nó do cluster na última hora.
Para alcançar a utilização ideal de recursos e o perfil de custo, o Atlas evita aumentar o cluster para o próximo nível se:
O cluster
M10ouM20foi escalado verticalmente nos últimos 20 minutos ou uma hora, dependendo dos limites.O cluster
M30+foi escalado verticalmente nos últimos 10 minutos ou uma hora, dependendo dos limites.
Por exemplo, se a camada do cluster não foi alterada desde 12:00, o Atlas dimensionará um cluster M30+ em 12:10, se a utilização normalizada da CPU do sistema atual do cluster for maior que 90%.
Importante
Picos de carga de trabalho súbita
O dimensionamento para uma camada de cluster maior requer tempo suficiente para preparar recursos de apoio. O dimensionamento automático pode não ocorrer quando um cluster recebe uma explosão de atividade, como uma inserção em massa. Para reduzir o risco de ficar sem recursos, planeje aumentar os clusters antes de inserções em massa e outros picos de volume de trabalho.
Dimensionamento para baixo de uma camada do cluster reativamente
Para otimizar os custos, o Atlas dimensiona reativamente para baixo os nós no seu cluster sob as condições descritas nesta seção.
Se a próxima camada do cluster mais baixa estiver dentro da faixa de Minimum Cluster Size, o Atlas dimensionará os nós do seu cluster para o próximo nível mais baixo se todos os critérios a seguir forem verdadeiros para todos os nós do tipo de cluster especificado:
Todos os nós:
O Atlas não reduziu o cluster (manual ou automaticamente) nas últimas 24 horas.
O Atlas não provisionou nem despausou o cluster nas últimas 24 horas.
O Atlas não interrompeu e reiniciou nenhum nó de cluster nas últimas 12 horas.
A média normalizada System CPU Utilization está abaixo de 45% dos recursos disponíveis para o cluster ao longo de pelo menos os últimos 10 minutos E as últimas 4 horas. O Atlas utiliza o checkpoint "média de 4 horas" como uma indicação de que a carga da CPU se estabilizou no nível observado. O Atlas utiliza o checkpoint "média de 10 minutos" como uma indicação de que não ocorreram picos recentes de CPU que o Atlas não tenha capturado com o checkpoint "média de 4 horas".
O uso médio do cache do WiredTiger está abaixo de 90% do tamanho máximo do cache do WiredTiger por pelo menos os últimos 10 minutos E as últimas 4 horas no tamanho atual da camada do cluster. Isso indica ao Atlas que o cluster atual não está sobrecarregado.
A utilização total projetada da memória do sistema no novo nível de cluster inferior está abaixo de 60% por pelo menos os últimos 10 minutos E as últimas 4 horas. O Atlas calcula a utilização projetada da memória total mencionada na declaração anterior da seguinte forma.
O Atlas mede o uso de memória atual e substitui o tamanho atual de uso do cache WiredTiger por 80% do tamanho do cache WiredTiger no novo cluster de nível inferior.
Em seguida, o Atlas verifica se o uso total de memória projetado ficaria abaixo de 60% por pelo menos as últimas 4 horas e pelo menos os últimos 10 minutos no novo tamanho de camada.
Observação
O Atlas inclui o cache WiredTiger em seu cálculo de memória para aumentar a probabilidade de que clusters com cache cheio, mas com tráfego baixo, sejam reduzidos. Em outras palavras, o Atlas examina o tamanho do cache do WiredTiger para determinar se ele pode reduzir com segurança a escala de um cluster ocioso com baixa utilização normalizada da CPU do sistema nos casos em que os caches WiredTiger do cluster podem atingir 90% do tamanho máximo do cache WiredTiger do cluster.
Essas condições garantem que o Atlas reduza os nós operacionais em seu cluster para evitar estados de alta utilização.
A média Normalized System CPU Utilization e System Memory Utilization nas últimas 24 horas está abaixo de 50% dos recursos disponíveis para o cluster.
Observação
M10e os clustersM20usam limites mais baixos para contabilizar os limites de uso da CPU que os provedores de nuvem definem após os períodos de intermitência. Esses limites variam dependendo do seu provedor de nuvem e da camada de cluster.
Dimensionando um cluster fragmentado
O Atlas dimensiona automaticamente a camada de cluster para clusters fragmentados usando os mesmos critérios dos conjuntos de réplicas. O Atlas aplica as seguintes regras:
Para clusters com dimensionamento de fragmento independente ativado, o dimensionamento automático no Atlas avalia e dimensiona cada fragmento de forma independente. O dimensionamento independente do fragmento exige que o menor tamanho do fragmento permaneça não menor que duas camadas do cluster abaixo do maior fragmento, para manter a disponibilidade e o desempenho. Se o Atlas acionar o dimensionamento automático para esse cluster e dimensionar o maior fragmento, ele também dimensionará os fragmentos menores, se necessário, para garantir disponibilidade e desempenho consistentes.
Se os nós operacionais ou de analítica de um shard atenderem aos critérios de auto-scale, somente os nós operacionais ou de analítica nesse shard específico mudarão de nível.
O conjunto de réplicas do servidor de configuração não executa auto-scale.
API para dimensionar fragmentos em clusters de forma independente
A partir da versão 2024-08-05 do recurso da API de Administração do Atlas Versionada, você pode dimensionar independentemente a camada do cluster de cada fragmento individualmente. Esta versão da API representa uma mudança significativa no modelo de escalonamento subjacente dos clusters do Atlas.
Aviso
A versão 2024-08-05 da API é uma alteração significativa e interruptiva. Se você enviar uma solicitação com a nova API para descrever os fragmentos do cluster de forma assimétrica, a API anterior, que era apenas simétrica, não estará mais disponível para esse cluster. Para retornar a uma versão anterior da API, primeiro reconfigure o cluster para que todos os fragmentos operem no mesmo nível.
A nova API é capaz de descrever clusters assimétricos. O campo replicationSpec.numShards não está presente no novo esquema de API. Em vez disso, cada fragmento é especificado por um replicationSpec separado, mesmo para clusters simétricos nos quais todos os fragmentos são configurados da mesma forma.
Dimensionamento automático preditivo para camada do cluster
O dimensionamento automático preditivo é uma extensão do dimensionamento automático.
O Atlas usa a previsão de demanda para a utilização de recursos do hospedar e realiza o dimensionamento preemptivo da computação do cluster para garantir a utilização ideal dos recursos. Com o dimensionamento automático preditivo, o Atlas tenta dimensionar seu cluster de forma proativa, antes dos picos cíclicos de carga de trabalho.
O dimensionamento automático preditivo é alimentado por um modelo de aprendizado de máquina baseado em padrões históricos. O Atlas dimensiona o cluster se o modelo prever alta utilização de recursos. O MongoDB atualiza o modelo e seus critérios continuamente para otimizar o desempenho do Atlas .
O dimensionamento automático preditivo tem os seguintes benefícios para clusters com cargas de trabalho cíclicas preditivas:
Dimensione automaticamente seu cluster para padrões cíclicos de carga de trabalho, por exemplo, picos diários ou semanais.
Mantenha o desempenho e a disponibilidade consistentes durante os períodos previsíveis de alta demanda.
Reduza as tarefas manuais de dimensionamento ou os scripts agendados permitindo que o Atlas gerencie os aumentos de capacidade.
Retorne perfeitamente ao dimensionamento automático reativo quando as alterações na carga de trabalho do cluster estiverem fora dos padrões previsíveis e forem não cíclicas ou imprevisíveis.
Comportamento do dimensionamento automático preditivo
As declarações a seguir descrevem como o dimensionamento automático preditivo funciona:
O Atlas tenta dimensionar o tamanho da instância do cluster antes que a carga projetada chegue.
Quando o Atlas dimensiona seu cluster de forma preditiva com base em métricas previstas, ele pode aumentar em, no máximo, dois níveis por vez.
O dimensionamento automático preditivo se aplica apenas à computação, não ao armazenamento.
O dimensionamento automático preditivo respeita os tamanhos mínimo e máximo de instância de dimensionamento automático existente.
Nos casos em que o Atlas não pode usar o dimensionamento automático preditivo para dimensionar o cluster, ele volta a usar o dimensionamento automático reativo.
O dimensionamento automático preditivo oferece suporte apenas ao upscaling. Não há dimensionamento preditivo. O Atlas usa o dimensionamento automático reativo para dimensionar automaticamente para baixo o cluster quando a carga de trabalho diminui.
Se o dimensionamento preditivo estiver programado para ocorrer na próxima 1 hora, o Atlas pulará o dimensionamento reativo.
Se você usar o dimensionamento automático independente de fragmentos, e adicionar um ou mais fragmentos depois que o dimensionamento automático preditivo já estiver habilitado e ativo no cluster, esses novos fragmentos não serão dimensionados automaticamente de forma preditiva até que seus padrões de carga de trabalho tenham sido estabelecidos, duas semanas depois. Enquanto isso, esses fragmentos usam um comportamento reativo de dimensionamento automático no Atlas.
Clusters elegíveis para dimensionamento automático preditivo
O Atlas usa o dimensionamento automático preditivo para clusters qualificados. Os clusters elegíveis para dimensionamento automático preditivo devem atender a todos os seguintes critérios:
Pertencer a General e Low-CPU classificações do cluster.
Tenha um nível superior a
M30.Tenha o dimensionamento automático ativado. Se você ativar o dimensionamento descendente, o tamanho mínimo da instância do dimensionamento automático deverá ser igual ou superior a
M30.Estão ativos há pelo menos duas semanas.
Não usar armazenamento NVMe ou pertencer à classificação do cluster Local NVMe SSD.
Além disso, os seguintes critérios afetam se o Atlas usa dimensionamento automático preditivo para um cluster elegível:
O dimensionamento automático preditivo se aplica somente aos nós elegíveis e nós somente leitura. O Atlas não usa o dimensionamento automático preditivo para nós de pesquisa ou nós de análise.
O dimensionamento automático preditivo pode não ser capaz de prever picos de carga de trabalho não cíclicos e altamente dinâmicos em nenhum cluster elegível. Nesses casos, o Atlas depende do dimensionamento automático reativo.
Como o Atlas dimensiona o armazenamento do cluster
O Atlas permite o dimensionamento automático de armazenamento de cluster por padrão. O Atlas aumenta automaticamente o armazenamento do cluster quando o espaço em disco usado atinge 90% para qualquer nó do cluster.
Para desativar o dimensionamento do armazenamento em cluster, desmarque a caixa de seleção Storage Scaling na seção Auto-scale.
As seguintes considerações se aplicam:
O Atlas dimensiona automaticamente o armazenamento em cluster apenas. Você pode reduzir manualmente o armazenamento do cluster na página Editar cluster.
Nos clusters da AWS, do Azure e do GCP, o Atlas aumenta a capacidade de armazenamento do cluster para atingir 70% do espaço em disco usado. Para aprender mais, consulte Alterar a capacidade de armazenamento ou IOPS no AWS, Alterar a capacidade de armazenamento e IOPS no Azure, e Alterar a capacidade de armazenamento no Google Cloud.
Evite atividades de gravação em alta velocidade se você planeja dimensionar os clusters. A expansão de um cluster para maior capacidade de armazenamento requer tempo suficiente para preparar e copiar dados para novos discos. Se um cluster receber uma intermitência de atividade de gravação de alta velocidade, como uma inserção em massa, o dimensionamento automático poderá não ocorrer devido a um pico temporário na capacidade de armazenamento em disco. Para reduzir o risco de ficar sem armazenamento em disco, planeje aumentar os clusters antes de inserções em massa e outras instâncias de atividade de gravação em alta velocidade.
O Atlas desativa o dimensionamento automático de disco se você especificar uma classe de camada de cluster para os nós de base e outra classe de camada de cluster diferente para os nós de análise. Por exemplo, se você especificar uma classe de cluster General para nós operacionais em Base Tier, e uma classe de cluster Low-CPU para nós de análise em Analytics Tier, o Atlas desativa o dimensionamento automático de disco com a seguinte mensagem de erro:
Disk auto-scaling is not yet available for clusters with mixed instance classes.O Atlas desabilita o dimensionamento automático reativo de disco se você implantar os nós Base Tier e Analytics Tier em regiões diferentes do provedor de nuvem.
A camada do cluster e o armazenamento em cluster podem ser dimensionados em paralelo
Quando o Atlas tenta dimensionar automaticamente a capacidade de armazenamento do cluster como parte do dimensionamento automático, talvez ele precise dimensionar o armazenamento fora dos limites suportados pela camada do cluster atual. Para ajudar a garantir que seu cluster não sofra qualquer tempo de inatividade, o Atlas dimensiona sua camada do cluster (além do armazenamento do cluster) para acomodar a nova capacidade de armazenamento.
No Azure, se você habilitar o dimensionamento automático em um cluster implantado em uma das regiões que oferecem suporte ao armazenamento estendido, e o IOPS atual for menor do que o IOPS padrão para o tamanho do disco dimensionado automaticamente, o Atlas aumentará o número de IOPS alocado no IOPS e notifica você na IU. Para aprender mais, veja Alterar a capacidade de armazenamento e IOPS no Azure.
Exemplo
A capacidade máxima de armazenamento para um cluster M30 é 480 GB. Se você tiver um cluster M30 com o armazenamento máximo alocado e o espaço em disco usado atingir 90%, um evento de dimensionamento automático de armazenamento exigirá o aumento da capacidade de armazenamento para 600 GB. Nesse caso, o Atlas dimensiona sua camada do cluster para M40 porque essa é a camada do cluster mais baixa que pode permitir a nova capacidade de armazenamento necessária. No Azure, se você implantou o cluster em uma das regiões que oferecem suporte ao armazenamento estendido, o Atlas também aumenta automaticamente o IOPS para corresponder ao nível de IOPS do cluster dessa camada.
Caso o nível máximo de cluster especificado não possa suportar a nova capacidade de armazenamento, o Atlas:
Eleva o nível máximo do cluster para o próximo nível mais baixo que pode acomodar a nova capacidade de armazenamento.
Dimensiona a camada do cluster para esse novo nível máximo.
Observação
Quando o Atlas substitui o nível máximo do cluster, ele também desativa a redução automática do cluster. Para reativar o dimensionamento automático descendente, configure-o em Configurações do cluster. Consulte também Considerações sobre o dimensionamento automático descendente de camada de cluster e armazenamento.
Se o Atlas tentar reduzir a camada do cluster e a camada de destino não for compatível com a capacidade atual do disco, o IOPS provisionado, ou ambos, o Atlas não reduzirá o cluster. Nesse cenário, o Atlas atualiza suas configurações de auto-scaling com base no relacionamento entre sua camada do cluster atual e a camada do cluster máxima configurada:
Se o cluster estiver atualmente na camada máxima de cluster configurado, o Atlas desabilitará a redução automática do cluster porque todos os níveis menores não seriam capazes de acomodar as configurações de armazenamento necessárias. Se você quiser reativar o auto-scaling descendente automático, deverá fazê-lo manualmente a partir das Configurações de cluster.
Se o cluster não estiver atualmente no nível máximo de cluster configurado, o Atlas eleva o nível mínimo de cluster para o nível de cluster atual. Nesse caso, o Atlas não desativa o auto-scaling descendente.
Essa lógica de dimensionamento automático reduz o tempo de inatividade nos casos em que suas configurações de armazenamento não correspondem à sua carga de trabalho.
Considerações de oplog
Dependendo se você optar por usar o auto-scaling de armazenamento, o Atlas gerencia as entradas do oplog com base na janela mínima de retenção do oplog ou no tamanho do oplog. Para saber mais, consulte Comportamento do tamanho do Oplog. O Atlas permite o auto-scaling de armazenamento por padrão.
Considerações sobre Dimensionamento Automático Descendente de Camada de Cluster e Armazenamento
Quando o Atlas reduz a capacidade de armazenamento do seu cluster, isso pode levar mais tempo do que expandir a capacidade de armazenamento devido à mecânica do processo de dimensionamento.
Estime o intervalo de cargas de trabalho de sua implantação e, em seguida, defina o valor Minimum Cluster Size para a camada de cluster que tem capacidade suficiente para lidar com a carga de trabalho de sua implantação. Considere quaisquer possíveis picos ou quedas na atividade do cluster.
Não é possível dimensionar para uma camada de cluster menor que
M10.Não é possível selecionar uma camada do cluster que esteja abaixo da configuração de disco atual do seu cluster. Se o armazenamento aumentar além do suportado pela camada do cluster mínima, e o Atlas aumentar a configuração de armazenamento dos seus clusters além do que a camada do cluster mínima suporta, então o Atlas ajustará automaticamente a camada do cluster mínima para um nível que suporte os requisitos atuais de armazenamento do seu cluster.
Exemplo
Você definiu seus limites de dimensionamento automático como
M20-M60e sua camada do cluster atual éM40com uma capacidade de disco de 200GB. O Atlas aciona um evento de dimensionamento automático de disco para aumentar a capacidade para 320GB porque o uso atual do disco excede 180GB, o que é mais de 90% da capacidade de 200GB.O Atlas realiza as seguintes ações:
Eleva o nível mínimo do cluster para o próximo nível mais baixo,
M30, que pode acomodar a nova capacidade de armazenamento.M20dá suporte a uma capacidade máxima de armazenamento de 256GB, portanto, não é mais um limite de dimensionamento automático válido.Determina que o tamanho da instância atual,
M40, suporta a nova configuração de disco. O evento de dimensionamento automático do disco é bem-sucedido.
Configurar opções de auto-scaling
Você pode configurar opções de auto-scaling ao criar ou modificar um cluster. Para novos clusters, o Atlas permite automaticamente o auto-scaling da camada de cluster e o auto-scaling de armazenamento.
Você pode executar um dos seguintes procedimentos:
Você pode revisar e ajustar as camadas do cluster superior e inferior que o Atlas deve usar ao fazer o dimensionamento automático de seu cluster ou
Desativar o uso do dimensionamento automático.
O Atlas exibe opções de auto-scaling na seção Auto-scale do construtor de cluster para clusters de nível General e Low-CPU.
Auto-scaling habilitado por padrão
Quando você cria um novo cluster, o Atlas permite o dimensionamento automático (preditivo e reativo) para a camada do cluster e o armazenamento do cluster. (O dimensionamento automático preditivo afeta apenas a camada do cluster e não afeta o armazenamento.) Você não precisa habilitar explicitamente o dimensionamento automático. Se preferir, você pode optar por não atuar na camada do cluster e no armazenamento do cluster.
Observação
O Atlas permite o dimensionamento automático da camada do cluster por padrão quando você cria clusters na IU do Atlas. Se você criar clusters com a API, o dimensionamento automático de clusters não é selecionado por padrão e você deve ativá-lo explicitamente, usando as opções no objeto autoScaling do ponto de extremidade Atualizar Um Cluster em Um Projeto.
Com o escalonamento automático ativado, seu cluster pode automaticamente:
Dimensione para aumentar a funcionalidade com uma camada do cluster mais alta, usando dimensionamento automático reativo ou preditivo, dependendo da elegibilidade do cluster e da carga de trabalho.
Diminua a camada do cluster atual para uma camada do cluster inferior usando dimensionamento automático reativo.
Na seção Cluster tier das opções do Auto-scale , você pode especificar os valores do Maximum Cluster Size e Minimum Cluster Size para os quais seu agrupamento pode escalar automaticamente. O Atlas define estes valores da seguinte forma:
O Maximum Cluster Size está definido como um nível acima da camada do cluster atual.
O Minimum Cluster Size está definido para a camada do cluster atual.
Além disso, o Atlas pode usar dimensionamento automático preditivo se seu cluster for qualificado e sua carga de trabalho for cíclica e previsível.
Habilite o dimensionamento automático com o Atlas CLI e a Atlas Administration API
Você pode habilitar o dimensionamento automático para computação e armazenamento ao criar ou atualizar um cluster usando o Atlas CLI ou a Atlas Administration API. Os exemplos a seguir mostram como habilitar o dimensionamento automático para nós elegíveis e nós de análise. Troque as camadas do cluster e as configurações do provedor pelas de que você precisa.
Para configurar o dimensionamento automático com o Atlas CLI, crie um arquivo JSON que contenha a configuração de dimensionamento automático e, em seguida, especifique-o no comando atlas api clusters updateCluster.
Use o comando atlas api clusters updateCluster para chamar diretamente a API e habilitar as configurações de dimensionamento automático em um cluster existente. Para habilitar o dimensionamento automático ao criar um novo cluster, use o comando atlas api clusters createCluster.
Crie o arquivo de carga útil.
Crie um arquivo payload.json com o seguinte conteúdo. Troque os valores de espaço reservado pela configuração específica do seu cluster:
{ "replicationSpecs": [ { "regionConfigs": [ { "providerName": "{CLOUD-PROVIDER}", "regionName": "{REGION-NAME}", "priority": 7, "electableSpecs": { "instanceSize": "{INSTANCE-SIZE}", "nodeCount": 3 }, "analyticsSpecs": { "instanceSize": "{ANALYTICS-INSTANCE-SIZE}", "nodeCount": 1 }, "autoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } }, "analyticsAutoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-ANALYTICS-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-ANALYTICS-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } } } ] } ] }
Execute o comando para atualizar.
Após criar o arquivo payload.json, execute o seguinte comando para habilitar o dimensionamento automático em um cluster existente e especifique o arquivo JSON com a bandeira --file:
atlas api clusters updateCluster \ --version 2024-10-23 \ --clusterName {CLUSTER-NAME} \ --groupId {GROUP-ID} \ --file payload.json
Você pode usar o Atlas Administration API para ativar o dimensionamento automático especificando a configuração de dimensionamento automático no corpo da solicitação.
Use o ponto de extremidade Atualizar um cluster em um projeto para habilitar o dimensionamento automático incluindo o objeto autoScaling.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --header "Content-Type: application/json" \ --include \ --request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{GROUP-ID}/clusters/{CLUSTER-NAME}" \ --data '{ "replicationSpecs": [ { "regionConfigs": [ { "providerName": "{CLOUD-PROVIDER}", "regionName": "{REGION-NAME}", "priority": 7, "electableSpecs": { "instanceSize": "{INSTANCE-SIZE}", "nodeCount": 3 }, "autoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } }, "analyticsSpecs": { "instanceSize": "{ANALYTICS-INSTANCE-SIZE}", "nodeCount": 1 }, "analyticsAutoScaling": { "compute": { "enabled": true, "scaleDownEnabled": true, "minInstanceSize": "{MIN-ANALYTICS-INSTANCE-SIZE}", "maxInstanceSize": "{MAX-ANALYTICS-INSTANCE-SIZE}" }, "diskGB": { "enabled": true } } } ] } ] }'
Revise as opções de escalonamento automático da camada de cluster
Para revisar as opções de auto-scaling habilitadas para armazenamento e camada do cluster:
Desativar o dimensionamento automático da camada do cluster
Para desativar o auto-scaling do cluster (aumento da camada do cluster), ao criar um novo cluster, navegue até o menu Cluster Tier e desmarque a caixa de seleção Cluster Tier Scaling na seção Auto-scale.
Para desativar o escalonamento automático do cluster (diminuindo a camada do cluster), ao criar um novo cluster, navegue até o menu Cluster Tier e desmarque a caixa de seleção Allow cluster to be scaled down na seção Auto-scale.
Revise o feed de atividades de dimensionamento automático
Você pode visualizar o feed de atividades para revisar os eventos de cada projeto do Atlas. Quando ocorre qualquer evento de dimensionamento automático, o Atlas registra o evento no projeto Activity Feed.
O Atlas usa os seguintes eventos de dimensionamento automático de auditoria.
Para visualizar ou baixar somente eventos de dimensionamento automático:
Pesquise eventos de dimensionamento automático.
Na caixa de pesquisa acima da lista, comece a inserir auto-scaling.
No lado direito do menu, todos os eventos de dimensionamento automático são exibidos. Desmarque as opções que você não deseja ver. A lista de feeds é atualizada automaticamente com cada alteração que você faz.
Aprimore o auto-scaling com campos efetivos no Terraform
Observação
Este recurso só se aplica a clusters dedicados no nível M10 e superiores, e não é suportado para clusters Flex.
Quando o auto-scaling é ativado em um cluster, o Atlas ajusta automaticamente os tamanhos das instâncias e a capacidade de armazenamento com base na carga de trabalho.
Se você usar MongoDB e HashiCorp Terraform para o dimensionamento da instância do cluster e as configurações de armazenamento, poderá especificar campos efetivos para um subconjunto de valores de dimensionamento do cluster. Recomendamos essa abordagem, desta forma:
Os atributos de especificação permanecem exatamente como você definiu na configuração do Terraform.
Os valores padrão e auto-scaled estão disponíveis separadamente em especificações efetivas (por exemplo,
effectiveElectableSpecs), e nenhum desvio de recursos ocorre quando o Atlas dimensiona automaticamente seu cluster.Sua configuração permanece limpa e representa sua intenção, enquanto especificações eficazes mostram a Realidade do que o Atlas provisionou.
Os campos efetivos se aplicam somente a determinadas especificações de nó, conforme mostrado na tabela a seguir:
Especificações técnicas | Tipo de nó |
|---|---|
| |
| |
|
Você não pode usar campos efetivos para nós de pesquisa.
Habilitar campos eficazes
Para ativar campos efetivos, inclua o seguinte cabeçalho na solicitação de API:
--header "Use-Effective-Instance-Fields: true"
Defina o argumento use_effective_fields como true em sua definição de recurso para o cluster, conforme mostrado no exemplo a seguir:
resource "mongodbatlas_advanced_cluster" "this" { project_id = mongodbatlas_project.this.id name = var.cluster_name cluster_type = var.cluster_type use_effective_fields = true replication_specs = var.replication_specs tags = var.tags }
Para saber mais, consulte Exemplo de módulo de campos eficazes.
Importante
Se você não habilitar campos efetivos, deverá configurar manualmente um lifecycle.ignore_changes bloco para evitar o desvio de recursos quando o auto-scaling ocorrer. Não recomendamos esta abordagem. Para saber mais, consulte Auto-Scaling na documentação do Terraform.
Comportamento dos campos efetivos
No geral, o comportamento dos campos efetivos se enquadra em um dos três cenários:
Observação
Recomendamos ativar campos efetivos como uma prática recomendada.
{ "replicationSpecs": [ { "regionConfigs": [ { "analyticsAutoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "autoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M20", "diskSizeGB": 50.0, "nodeCount": 3 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Observação
Recomendamos ativar campos efetivos como uma prática recomendada.
{ "replicationSpecs": [ { "regionConfigs": [ { "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M30", "diskSizeGB": 100.0, "nodeCount": 3 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Importante
Se você não habilitar campos efetivos, deverá configurar manualmente um lifecycle.ignore_changes bloco para evitar o desvio de recursos quando o auto-scaling ocorrer. Não recomendamos esta abordagem. Para saber mais, consulte Auto-Scaling na documentação do Terraform.
{ "replicationSpecs": [ { "regionConfigs": [ { "analyticsAutoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "autoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "analyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "readOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Configurar alertas para eventos de dimensionamento automático
Importante
No início de agosto 2024, o Atlas substituiu e-mails de notificação de dimensionamento automático legados por eventos de dimensionamento automático configuráveis. Por padrão, o Atlas continua a enviar todas as notificações de alerta aos proprietários do projeto. Você pode personalizar sua distribuição de alertas com dimensionamento automático para alterar os destinatários do alerta ou um método de distribuição.
As atividades de escalonamento automático são um subconjunto dos alertas do Atlas.
Cada vez que Atlas triggers qualquer um dos eventos de dimensionamento automático, você recebe alertas padrão do Atlas.
Você pode desativar ou alterar a configuração do alerta para alguns ou todos os eventos de escalonamento automático no nível do projeto.
Para modificar uma configuração de alerta, na seção Category, selecione Atlas Auto Scaling e, em seguida, selecione Condition/Metric na lista. Você pode então modificar as funções dos destinatários dos alertas, alterar um método de notificação, como e-mail ou SMS, e adicionar um notificador, como o Slack. Para saber mais, consulte Configurar um alerta de escalonamento automático.
Suporte do MongoDB para dimensionamento automático do Atlas
Se você tiver alguma dúvida, entre em contato com o suporte.