Para comandos do Atlas CLI que você usa para implantar e gerenciar clusters do Atlas na nuvem, você pode configurar como o cluster lida com o dimensionamento de recursos utilizando a opção --autoScalingMode. Você pode usar essa opção para os seguintes comandos para especificar se os fragmentos do cluster são dimensionados juntos ou independentemente:
atlas-deployments-setupatlas-deployments-deleteatlas-deployments-listatlas-deployments-pauseatlas-deployments-start
A opção --autoScalingMode obtém os seguintes valores:
atlas setup --clusterName symmetricShardCluster --provider AWS --autoScalingMode clusterWideScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10
Para clusters configurados com clusterWideScaling, a saída JSON parece semelhante ao seguinte:
{ "clusterType": "SHARDED", "name": "symmetricShardCluster", "diskSizeGB": 0, "replicationSpecs": [ { "id": "internalId", "numShards": 2, "regionConfigs": [ { "electableSpecs": { ... },the "readOnlySpecs": { ... }, ... } ], "zoneName": "string" } ], ... }
Para saber mais sobre a saída, consulte o endpoint getCluster. Se você omitir a opção --autoScalingMode , o comando assumirá como padrão o modo clusterWideScaling .
atlas setup --clusterName asymmetricShardCluster --provider AWS --autoScalingMode independentShardScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10
Para clusters configurados com independentShardScaling, a saída JSON parece semelhante ao seguinte:
{ "clusterType": "SHARDED", "name": "asymmetricShardCluster", "replicationSpecs": [ { "id": "externalId", "regionConfigs": [ { "electableSpecs": { "diskSizeGB": 10, ... }, "readOnlySpecs": { "diskSizeGB": 10, ... }, } ], "zoneId": "string",// for GET/UPDATE "zoneName": "string" }, ... ] }
A saída JSON inclui o objeto replicationSpecs que descreve as propriedades de um único shard. Os elementos replicationSpecs definem o número de fragmentos em vez do campo numShards . O campo diskSizeGB está dentro do objeto replication_specs.regionConfig de cada shard. O campo zoneId que identifica a zona para cluster global é retornado na saída. Para saber mais sobre a saída, consulte o endpoint getCluster.
Para reverter um cluster fragmentado usando o dimensionamento de fragmentos independentes de volta para o dimensionamento de todo o cluster, execute o seguinte procedimento:
Recupere o esquema de dimensionamento de fragmentos independente.
Faça uma solicitação à Atlas Administration API Retornar um Cluster de um Projeto ponto de extremidade. A solicitação retorna uma entrada replicationSpecs por fragmento.
Selecione um esquema de modelo.
Entre os replicationSpecs, selecione um para o qual combinar os outros fragmentos para dimensionamento simétrico. Observe as seguintes propriedades do regionConfigs do fragmento escolhido:
instanceSizepara cada função de fragmento, comoelectableSpecs,readOnlySpecsouanalyticsSpecs.diskSizeGB,ebsVolumeTypeediskIOPS, ou campos de armazenamento equivalentes para os vários fornecedores de cluster.
Para garantir a continuação do desempenho, selecione seu fragmento de nível mais alto como modelo.
Crie um array replicationSpecs simétrico.
Usando o esquema de modelo escolhido como base, componha uma carga de solicitação PATCH na qual os valores instanceSize de cada fragmento para electableSpecs e readOnlySpecs sejam idênticos.
{ "replicationSpecs": [ { "id": "SHARD_ID_0", "regionConfigs": [ { "providerName": "AWS", "regionName": "US_EAST_1", "zoneName": "Zone1", "electableSpecs": { "instanceSize": "M60", "nodeCount": 3, "diskSizeGB": 2048, "ebsVolumeType": "PROVISIONED", "diskIOPS": 4000 }, "readOnlySpecs": { . . . }, "analyticsSpecs": { . . . } } ] }, { "id": "SHARD_ID_1", "regionConfigs": [ . . . ] }, . . . ] }
É preciso preservar os valores id dos shards existentes. Corresponda às configurações de tier, armazenamento e disco para cada shard.
Aplique o PATCH.
Faça uma solicitação para a Atlas Administration API Update One Cluster in One Project endpoint usando a carga definida anteriormente. Isso inicia um redimensionamento contínuo de todos os fragmentos no cluster.
Depois de redimensionar seus fragmentos para restaurar a simetria, você pode reverter para usar a versão de recursos da API 2024-10-23. Esta versão depende do model replicationSpecs.numShards simétrico.