Reduzindo os clusters Redis OSS com réplicas - Amazon ElastiCache (Redis OSS)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Reduzindo os clusters Redis OSS com réplicas

As seções a seguir explicam como escalar um cluster de cache Redis OSS (modo de cluster desativado) com nós de réplica até um tipo de nó menor. Garantir que o novo tipo de nó menor seja suficientemente grande para acomodar todos os dados e a sobrecarga é muito importante para o sucesso. Para ter mais informações, consulte Garantindo que você tenha memória suficiente para criar um instantâneo do Redis OSS.

nota

Para clusters que executam o tipo de nó r6gd, você só pode escalar para tamanhos de nó dentro da família de nós r6gd.

Importante

Se seu grupo de parâmetros costuma reservar memória para reserved-memory a sobrecarga do Redis OSS, antes de começar a escalar, certifique-se de ter um grupo de parâmetros personalizado que reserve a quantidade correta de memória para seu novo tipo de nó. Como alternativa, você pode modificar um parameter group personalizado para que ele use reserved-memory-percent e usar esse parameter group para seu novo cluster.

Se você estiver usando reserved-memory-percent, não será necessário fazer isso.

Para ter mais informações, consulte Gerenciamento da memória reservada.

Tópicos

    O processo a seguir dimensiona seu cluster Redis OSS com nós de réplica para um tipo de nó menor usando o console. ElastiCache

    Para reduzir um cluster Redis OSS com nós de réplica (console)
    1. Certifique-se de que o tipo de nó menor seja adequado para suas necessidades de dados e sobrecarga.

    2. Se seu grupo de parâmetros costuma reserved-memory reservar memória para sobrecarga do Redis OSS, certifique-se de ter um grupo de parâmetros personalizado para reservar a quantidade correta de memória para seu novo tipo de nó.

      Alternativamente, você pode modificar seu parameter group personalizado para usar reserved-memory-percent. Para ter mais informações, consulte Gerenciamento da memória reservada.

    3. Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/.

    4. Na lista de clusters, escolha o cluster que você deseja reduzir. Esse cluster deve estar executando o mecanismo Redis OSS e não o mecanismo Clustered Redis OSS.

    5. Escolha Modificar.

    6. No assistente Modify Cluster:

      1. Na lista Node type (Tipo de nó), escolha o tipo de nó para o qual deseja reduzir.

      2. Se você estiver usando reserved-memory para gerenciar sua memória, na lista Parameter Group, escolha o parameter group personalizado que reserva a quantidade correta de memória para o seu novo tipo de nó.

    7. Se desejar executar o processo de redução imediatamente, escolha a caixa de seleção Apply immediately (Aplicar imediatamente). Se a caixa de seleção 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.

    8. Escolha Modificar.

    9. Quando o status do cluster muda de modifying para available, significa que o seu cluster foi dimensionado para o novo tipo de nó. Não é necessário atualizar os endpoints no seu aplicativo.

    O processo a seguir dimensiona grupo de replicação do tipo de nó atual para um novo tipo de nó menor usando a AWS CLI. Durante esse processo, o ElastiCache (Redis OSS) atualiza as entradas de DNS para que elas apontem para os novos nós. Por isso, você não precisa atualizar os endpoints no seu aplicativo. Para o Redis OSS 5.0.5 e versões posteriores, você pode escalar clusters habilitados para failover automático enquanto o cluster continua on-line e atende às solicitações recebidas. Nas versões 4.0.10 e anteriores, você perceberá uma breve interrupção de leituras e gravações em versões anteriores do nó primário enquanto a entrada de DNS é atualizada.

    No entanto, as leituras dos clusters de cache de réplica de leitura continuam ininterruptas.

    O tempo necessário para reduzir até um tipo de nó menor varia, dependendo do tipo de nó e da quantidade de dados no seu cluster de cache atual.

    Para reduzir um grupo de replicação do Redis OSS ()AWS CLI
    1. Determine para quais tipos de nós você pode reduzir executando o AWS CLI list-allowed-node-type-modifications comando com o parâmetro a seguir.

      • --replication-group-id - 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.

      Para Linux, macOS ou Unix:

      aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-repl-group

      Para Windows:

      aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-repl-group

      O resultado dessa operação é semelhante a este (formato JSON).

      { "ScaleDownModifications": [ "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" ] }

      Para obter mais informações, consulte list-allowed-node-type-modifications na AWS CLI Referência.

    2. Dimensione seu grupo de replicação atual até o novo tipo de nó usando o AWS CLI modify-replication-group comando com os parâmetros a seguir.

      • --replication-group-id - o nome do grupo de replicação.

      • --cache-node-type: o novo tipo de nó menor dos clusters de cache nesse grupo de replicação. Esse valor deve ser um dos tipos de instância retornados pelo comando list-allowed-node-type-modifications na etapa 1.

      • --cache-parameter-group-name – [Opcional] Use esse parâmetro se estiver usando reserved-memory para 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 usando reserved-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 a operação de expansão para a próxima janela de manutenção, use --no-apply-immediately.

      Para Linux, macOS ou Unix:

      aws elasticache modify-replication-group \ --replication-group-id my-repl-group \ --cache-node-type cache.t2.small \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Para Windows:

      aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.t2.small ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      O resultado desse comando é semelhante a este (formato JSON).

      {"ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } } ], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002", ], "PendingModifiedValues": {} } }

      Para obter mais informações, consulte modify-replication-group na AWS CLI Referência.

    3. Se você usou o --apply-immediately parâmetro, monitore o status do grupo de replicação usando o AWS CLI describe-replication-group comando com o parâmetro a seguir. Quando o status mudar de modifying (modificando) para available (disponível), você poderá começar a gravar no seu novo grupo de replicação reduzido.

      • --replication-group-id - 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.

      Para Linux, macOS ou Unix:

      aws elasticache describe-replication-group \ --replication-group-id my-replication-group

      Para Windows:

      aws elasticache describe-replication-groups ^ --replication-group-id my-replication-group

      Para obter mais informações, consulte describe-replication-groupsna AWS CLI Referência.

    O processo a seguir escala seu grupo de replicação do tipo de nó atual para um novo tipo de nó menor usando a ElastiCache API. Durante esse processo, o ElastiCache (Redis OSS) atualiza as entradas de DNS para que elas apontem para os novos nós. Por isso, você não precisa atualizar os endpoints no seu aplicativo. Para o Redis OSS 5.0.5 e versões posteriores, você pode escalar clusters habilitados para failover automático enquanto o cluster continua on-line e atende às solicitações recebidas. Nas versões 4.0.10 e anteriores, você perceberá uma breve interrupção de leituras e gravações em versões anteriores do nó primário enquanto a entrada de DNS é atualizada. No entanto, as leituras dos clusters de cache de réplica de leitura continuam ininterruptas.

    O tempo necessário para reduzir até um tipo de nó menor varia, dependendo do tipo de nó e da quantidade de dados no seu cluster de cache atual.

    Para reduzir um grupo de replicação (API) do Redis OSS ElastiCache
    1. Determine quais tipos de nós você pode reduzir usando a ListAllowedNodeTypeModifications ação da ElastiCache API com o parâmetro a seguir.

      • 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 a Amazon ElastiCache API Reference.

    2. Dimensione seu grupo de replicação atual até o novo tipo de nó usando a ação da ModifyRedplicationGroup ElastiCache API e com os parâmetros a seguir.

      • ReplicationGroupId - o nome do grupo de replicação.

      • CacheNodeType: o novo tipo de nó menor dos clusters de cache nesse grupo de replicação. Esse valor deve ser um dos tipos de instância retornados pela ação ListAllowedNodeTypeModifications na etapa 1.

      • CacheParameterGroupName – [Opcional] Use esse parâmetro se estiver usando reserved-memory para 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 usando reserved-memory-percent, você poderá omitir esse parâmetro.

      • ApplyImmediately: defina como true para fazer com que o processo de aumento de escala vertical seja aplicado imediatamente. Para adiar o processo de redução até a próxima janela de manutenção, use ApplyImmediately=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 a Amazon ElastiCache API Reference.

    3. Se você usou ApplyImmediately=true, monitore o status do grupo de replicação usando a DescribeReplicationGroups ação da ElastiCache API com os parâmetros a seguir. Quando o status mudar de modifying (modificando) para available (disponível), você poderá começar a gravar no seu novo grupo de replicação reduzido.

      • 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 a Amazon ElastiCache API Reference.