Escalabilidade vertical online com modificação do tipo de nó
Ao usar a escalabilidade vertical on-line com o Valkey versão 7.2 ou mais recente, ou Redis OSS versão 3.2.10 ou mais recente, você pode escalar clusters do Valkey ou Redis OSS dinamicamente com tempo de inatividade mínimo. Isso permite que o cluster do Valkey ou Redis OSS veicule solicitações mesmo ao ser escalado.
nota
Não há compatibilidade com escalabilidade entre um cluster de classificação de dados em níveis (p. ex., um cluster que use um tipo de nó r6gd) e um cluster sem classificação de dados em níveis (p. ex., um cluster que use um tipo de nó r6g). Para obter mais informações, consulte Classificação de dados em níveis no ElastiCache.
Você pode fazer o seguinte:
-
Aumentar a escala verticalmente: aumente a capacidade de leitura e gravação ajustando o tipo de nó do cluster do Valkey ou Redis OSS para usar um tipo de nó maior.
O ElastiCache redimensiona dinamicamente o cluster ao permanecer online e atender a solicitações.
-
Redução de escala vertical: reduza a capacidade de leitura e gravação ajustando o tipo de nó para usar um nó menor. Novamente, o ElastiCache redimensiona dinamicamente o cluster ao permanecer online e atender a solicitações. Nesse caso, você reduz os custos diminuindo o nó.
nota
Os processos de expansão e redução dependem da criação de clusters com tipos de nó recém-selecionados e da sincronização dos novos nós com os anteriores. Para garantir um fluxo suave de expansão/redução, faça o seguinte:
Verifique se você tem capacidade suficiente de ENI (interface de rede elástica). Se estiver reduzindo, garanta que o nó menor tenha memória suficiente para absorver o tráfego esperado.
Para ver as melhores práticas para o gerenciamento da memória, consulte Gerenciamento de memória reservada para Valkey e Redis OSS.
Embora o processo de escalabilidade vertical seja desenvolvido para permanecer totalmente online, ele depende da sincronização dos dados entre o nó antigo e o novo nó. Recomendamos iniciar a expansão/redução no horário em que você acredita que o tráfego de dados seja mínimo.
Teste o comportamento de seu aplicativo durante a escalabilidade em um ambiente de preparação, se possível.
Sumário
Aumento de escala vertical online
Tópicos
Aumento de escala na vertical de clusters do Valkey ou Redis OSS (console)
O procedimento a seguir descreve como aumentar a escala verticalmente de um cluster do Valkey ou Redis OSS usando o Console de Gerenciamento do ElastiCache. Durante esse processo, o cluster continuará a atender solicitações com tempo de inatividade mínimo.
Para aumentar a escala verticalmente de um cluster do Valkey ou Redis OSS (console)
-
Faça login no Console de gerenciamento da AWS e abra o console do ElastiCache em https://console.aws.amazon.com/elasticache/
. -
No painel de navegação, escolha Clusters do Valkey ou Clusters do Redis OSS.
-
Na lista de clusters, escolha o cluster.
-
Escolha Modificar.
-
No assistente Modify Cluster:
-
Na lista Node type, escolha o tipo de nó a partir do qual você deseja escalar. Para expandir, selecione um tipo de nó maior do que o nó existente.
-
-
Se quiser executar o processo de expansão imediatamente, escolha a caixa Apply immediately (Aplicar imediatamente). Se a caixa Apply immediately não for escolhida, o processo de expansão será realizado durante a próxima janela de manutenção desse cluster.
-
Escolha Modificar.
Se você escolheu Apply immediately na etapa anterior, o status do cluster mudará para modifying. Quando o status mudar para available, a modificação estará completa, e você poderá começar a usar o novo cluster.
Aumento da escala na vertical de clusters do Valkey ou Redis OSS (AWS CLI)
O procedimento a seguir descreve como aumentar a escala verticalmente de um cluster do Valkey ou Redis OSS usando a AWS CLI. Durante esse processo, o cluster continuará a atender solicitações com tempo de inatividade mínimo.
Como aumentar a escala verticalmente de um cluster do Valkey ou Redis OSS (AWS CLI)
-
Determine os tipos de nó para os quais você pode expandir executando o comando AWS CLI da
list-allowed-node-type-modificationscom o seguinte parâmetro.Para Linux, macOS ou Unix:
aws elasticache list-allowed-node-type-modifications \ --replication-group-idmy-replication-group-idPara Windows:
aws elasticache list-allowed-node-type-modifications ^ --replication-group-idmy-replication-group-idA saída do comando acima é semelhante a esta (formato JSON).
{ "ScaleUpModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] "ScaleDownModifications": [ "cache.t2.micro", "cache.t2.small ", "cache.t2.medium", "cache.t1.small " ], }Para obter mais informações, consulte list-allowed-node-type-modifications na AWS CLI Referência.
-
Modifique seu grupo de replicação para expandir para o novo tipo de nó maior usando o comando AWS CLI da
modify-replication-groupcom os seguintes parâmetros.--replication-group-id: o nome do grupo de replicação que você está aumentando a escala vertical.--cache-node-type: o novo tipo de nó para o qual você deseja escalar o cluster. Esse valor deve ser um dos tipos de nós retornados pelo comandolist-allowed-node-type-modificationsna etapa 1.--cache-parameter-group-name– [Opcional] Use esse parâmetro se estiver usandoreserved-memorypara gerenciar a memória reservada do cluster. Especifique um parameter group de cache personalizado que reserve a quantidade correta de memória para o seu novo tipo de nó. Se estiver usandoreserved-memory-percent, você poderá omitir esse parâmetro.--apply-immediately: faz com que o processo de aumento de escala vertical seja aplicado imediatamente. Para adiar o processo de expansão para a próxima janela de manutenção do cluster, use o parâmetro--no-apply-immediately.
Para Linux, macOS ou Unix:
aws elasticache modify-replication-group \ --replication-group-idmy-redis-cluster\ --cache-node-typecache.m3.xlarge\ --apply-immediatelyPara Windows:
aws elasticache modify-replication-group ^ --replication-group-idmy-redis-cluster^ --cache-node-typecache.m3.xlarge^ --apply-immediatelyA saída do comando acima é semelhante a esta (formato JSON).
{ "ReplicationGroup": { "Status": "modifying", "Description": "my-redis-cluster", "NodeGroups": [ { "Status": "modifying", "Slots": "0-16383", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-east-1f", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-001" }, { "PreferredAvailabilityZone": "us-east-1d", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "my-redis-cluster", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "07:30-08:30", "MemberClusters": [ "my-redis-cluster-0001-001", "my-redis-cluster-0001-002" ], "CacheNodeType": "cache.m3.xlarge", "DataTiering": "disabled" "PendingModifiedValues": {} } }Para obter mais informações, consulte modify-replication-group na AWS CLI Referência.
-
Se você usou
--apply-immediately, verifique o status do cluster usando o comandodescribe-cache-clustersda AWS CLI com o seguinte parâmetro. Quando o status mudar para available, você poderá começar a usar o novo nó de cluster maior.
Aumento de escala na vertical de clusters do Valkey ou Redis OSS (API do ElastiCache)
O processo a seguir escala seu cluster do tipo de nó atual para um novo tipo de nó maior usando a API do ElastiCache. Durante esse processo, o ElastiCache atualiza as entradas do DNS para que elas apontem para os novos nós. Por isso, você não precisa atualizar os endpoints no seu aplicativo. Para o Valkey 7.2 e superiores, Redis OSS 5.0.5 e superiores, você pode escalar clusters habilitados para failover automático enquanto o cluster continua on-line e atendendo a solicitações recebidas. No Redis OSS versão 4.0.10 e anteriores, você pode notar uma breve interrupção de leituras e gravações em versões anteriores do nó primário enquanto a entrada do DNS é atualizada.
O tempo necessário para aumentar a escala verticalmente até um tipo de nó maior varia, dependendo do tipo de nó e da quantidade de dados no seu cluster atual.
Para aumentar a escala verticalmente de um cluster de cache do Valkey ou Redis OSS (API do ElastiCache)
-
Determine quais tipos de nós você pode aumentar a escala vertical usando a ação
ListAllowedNodeTypeModificationsda API do ElastiCache com o seguinte parâmetro.ReplicationGroupId- o nome do grupo de replicação. Use esse parâmetro para descrever um determinado grupo de replicação em vez de todos os grupos de replicação.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>Para obter mais informações, consulte ListAllowedNodeTypeModifications na Referência da API do Amazon ElastiCache.
-
Aumente a escala vertical do seu grupo de replicação atual para o novo tipo de nó usando a ação
ModifyReplicationGroupda API do ElastiCache e com os seguintes parâmetros.ReplicationGroupId- o nome do grupo de replicação.CacheNodeType: o novo tipo de nó maior dos clusters nesse grupo de replicação. Esse valor deve ser um dos tipos de instância retornados pela açãoListAllowedNodeTypeModificationsna etapa anterior.CacheParameterGroupName– [Opcional] Use esse parâmetro se estiver usandoreserved-memorypara gerenciar a memória reservada do cluster. Especifique um parameter group de cache personalizado que reserve a quantidade correta de memória para o seu novo tipo de nó. Se estiver usandoreserved-memory-percent, você poderá omitir esse parâmetro.ApplyImmediately: defina comotruepara fazer com que o processo de aumento de escala vertical seja aplicado imediatamente. Para adiar o processo de expansão para a próxima janela de manutenção, useApplyImmediately=false.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>Para obter mais informações, consulte ModifyReplicationGroup na Referência da API do Amazon ElastiCache.
-
Se você usou
ApplyImmediately=true, monitore o status do grupo de replicação usando a açãoDescribeReplicationGroupsda API do ElastiCache com os seguintes parâmetros. Quando o status mudar de modifying para available, você poderá começar a gravar no seu novo grupo de replicação expandido.ReplicationGroupId- o nome do grupo de replicação. Use esse parâmetro para descrever um grupo de replicação específico em vez de todos os grupos de replicação.
https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>Para obter mais informações, consulte DescribeReplicationGroups na Referência da API do Amazon ElastiCache.
Redução de escala vertical online
Tópicos
Redução de escala na vertical de clusters do Valkey ou Redis OSS (console)
O procedimento a seguir descreve como reduzir a escala verticalmente de um cluster do Valkey ou Redis OSS usando o Console de Gerenciamento do ElastiCache. Durante esse processo, o cluster do Valkey ou Redis OSS continuará a atender solicitações com tempo de inatividade mínimo.
Para reduzir a escala verticalmente de um cluster do Valkey ou Redis OSS (console)
-
Faça login no Console de gerenciamento da AWS e abra o console do ElastiCache em https://console.aws.amazon.com/elasticache/
. -
No painel de navegação, escolha Clusters do Valkey ou Clusters do Redis OSS.
-
Na lista de clusters, escolha seu cluster preferido.
-
Escolha Modificar.
-
No assistente Modify Cluster:
-
Na lista Node type, escolha o tipo de nó a partir do qual você deseja escalar. Para reduzir, selecione um tipo de nó menor do que o nó existente. Observe que nem todos os tipos de nó estão disponíveis para redução.
-
-
Se quiser executar o processo de redução imediatamente, escolha a caixa Apply immediately (Aplicar imediatamente). Se a caixa Apply immediately (Aplicar imediatamente) não for escolhida, o processo de redução será realizado durante a próxima janela de manutenção desse cluster.
-
Escolha Modificar.
Se você escolheu Apply immediately na etapa anterior, o status do cluster mudará para modifying. Quando o status mudar para available, a modificação estará completa, e você poderá começar a usar o novo cluster.
Redução de escala na vertical de clusters do Valkey ou Redis OSS (AWS CLI)
O procedimento a seguir descreve como reduzir a escala verticalmente de um cluster do Valkey ou Redis OSS usando a AWS CLI. Durante esse processo, o cluster continuará a atender solicitações com tempo de inatividade mínimo.
Como reduzir a escala verticalmente de um cluster do Valkey ou Redis OSS (AWS CLI)
-
Determine os tipos de nó que você pode reduzir executando o comando AWS CLI da
list-allowed-node-type-modificationscom o seguinte parâmetro.Para Linux, macOS ou Unix:
aws elasticache list-allowed-node-type-modifications \ --replication-group-idmy-replication-group-idPara Windows:
aws elasticache list-allowed-node-type-modifications ^ --replication-group-idmy-replication-group-idA saída do comando acima é semelhante a esta (formato JSON).
{ "ScaleUpModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] "ScaleDownModifications": [ "cache.t2.micro", "cache.t2.small ", "cache.t2.medium ", "cache.t1.small" ] }Para obter mais informações, consulte list-allowed-node-type-modifications na AWS CLI Referência.
-
Modifique seu grupo de replicação para reduzir para o novo tipo de nó menor usando o comando AWS CLI da
modify-replication-groupcom os seguintes parâmetros.--replication-group-id: o nome do grupo de replicação que você está reduzindo a escala na vertical.--cache-node-type: o novo tipo de nó para o qual você deseja escalar o cluster. Esse valor deve ser um dos tipos de nós retornados pelo comandolist-allowed-node-type-modificationsna etapa 1.--cache-parameter-group-name– [Opcional] Use esse parâmetro se estiver usandoreserved-memorypara gerenciar a memória reservada do cluster. Especifique um parameter group de cache personalizado que reserve a quantidade correta de memória para o seu novo tipo de nó. Se estiver usandoreserved-memory-percent, você poderá omitir esse parâmetro.--apply-immediately: faz com que o processo de aumento de escala vertical seja aplicado imediatamente. Para adiar o processo de redução para a próxima janela de manutenção do cluster, use o parâmetro--no-apply-immediately.
Para Linux, macOS ou Unix:
aws elasticache modify-replication-group \ --replication-group-idmy-redis-cluster\ --cache-node-typecache.t2.micro\ --apply-immediatelyPara Windows:
aws elasticache modify-replication-group ^ --replication-group-idmy-redis-cluster^ --cache-node-typecache.t2.micro^ --apply-immediatelyA saída do comando acima é semelhante a esta (formato JSON).
{ "ReplicationGroup": { "Status": "modifying", "Description": "my-redis-cluster", "NodeGroups": [ { "Status": "modifying", "Slots": "0-16383", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-east-1f", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-001" }, { "PreferredAvailabilityZone": "us-east-1d", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "my-redis-cluster", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "07:30-08:30", "MemberClusters": [ "my-redis-cluster-0001-001", "my-redis-cluster-0001-002" ], "CacheNodeType": "cache.t2.micro", "DataTiering": "disabled" "PendingModifiedValues": {} } }Para obter mais informações, consulte modify-replication-group na AWS CLI Referência.
-
Se você usou
--apply-immediately, verifique o status do cluster usando o comandodescribe-cache-clustersda AWS CLI com o seguinte parâmetro. Quando o status mudar para available, você poderá começar a usar o novo nó de cluster menor.
Redução de escala na vertical de clusters do Valkey ou Redis OSS (API do ElastiCache)
O processo a seguir escala seu grupo de replicação do tipo de nó atual para um novo tipo de nó menor usando a API do ElastiCache. Durante esse processo, o cluster do Valkey ou Redis OSS continuará a atender solicitações com tempo de inatividade mínimo.
O tempo necessário para reduzir a escala verticalmente até um tipo de nó menor varia, dependendo do tipo de nó e da quantidade de dados no seu cluster atual.
Redução de escala vertical (API do ElastiCache)
-
Determine quais tipos de nós você pode reduzir a escala vertical usando a ação
ListAllowedNodeTypeModificationsda API do ElastiCache com o seguinte parâmetro.ReplicationGroupId- o nome do grupo de replicação. Use esse parâmetro para descrever um determinado grupo de replicação em vez de todos os grupos de replicação.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>Para obter mais informações, consulte ListAllowedNodeTypeModifications na Referência da API do Amazon ElastiCache.
-
Reduza a escala vertical do seu grupo de replicação atual para o novo tipo de nó usando a ação
ModifyReplicationGroupda API do ElastiCache e com os seguintes parâmetros.ReplicationGroupId- o nome do grupo de replicação.CacheNodeType: o novo tipo de nó menor dos clusters nesse grupo de replicação. Esse valor deve ser um dos tipos de instância retornados pela açãoListAllowedNodeTypeModificationsna etapa anterior.CacheParameterGroupName– [Opcional] Use esse parâmetro se estiver usandoreserved-memorypara gerenciar a memória reservada do cluster. Especifique um parameter group de cache personalizado que reserve a quantidade correta de memória para o seu novo tipo de nó. Se estiver usandoreserved-memory-percent, você poderá omitir esse parâmetro.ApplyImmediately: defina comotruepara fazer com que o processo de redução seja aplicado imediatamente. Para adiar o processo de redução até a próxima janela de manutenção, useApplyImmediately=false.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.t2.micro &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>Para obter mais informações, consulte ModifyReplicationGroup na Referência da API do Amazon ElastiCache.