Reducir los clústeres de Redis OSS con réplicas - Amazon ElastiCache (RedisOSS)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Reducir los clústeres de Redis OSS con réplicas

En las siguientes secciones, se explica cómo escalar un clúster de caché de Redis OSS (modo de clúster desactivado) con nodos de réplica a un tipo de nodo más pequeño. Para que el proceso se realice correctamente, es muy importante asegurarse de que el nuevo tipo de nodo más pequeño sea lo suficientemente grande para alojar todos los datos, más la capacidad adicional. Para obtener más información, consulte Asegurarse de tener suficiente memoria para crear una instantánea de Redis OSS.

nota

Para los clústeres que ejecutan el tipo de nodo r6gd, solo puede escalar a tamaños de nodo dentro de la familia de nodos r6gd.

importante

Si su grupo de parámetros reserved-memory solía reservar memoria para la sobrecarga de Redis OSS, antes de empezar a escalar, asegúrese de tener un grupo de parámetros personalizado que reserve la cantidad correcta de memoria para el nuevo tipo de nodo. De forma alternativa, puede modificar un grupo de parámetros personalizado para que use reserved-memory-percent y utilizar ese grupo de parámetros para su nuevo clúster.

Si va a utilizar reserved-memory-percent, esto no es necesario.

Para obtener más información, consulte Administración de la memoria reservada.

Temas

    El siguiente proceso escala el clúster OSS de Redis con nodos de réplica a un tipo de nodo más pequeño mediante la consola. ElastiCache

    Para reducir la escala de un clúster de OSS de Redis con nodos de réplica (consola)
    1. Asegúrese de que el tipo de nodo más pequeño es adecuado para sus necesidades de datos y de capacidad adicional.

    2. Si su grupo de parámetros reserved-memory solía reservar memoria para la sobrecarga de Redis OSS, asegúrese de tener un grupo de parámetros personalizado para reservar la cantidad de memoria correcta para el nuevo tipo de nodo.

      De forma alternativa, puede modificar su grupo de parámetros personalizado para utilizar reserved-memory-percent. Para obtener más información, consulte Administración de la memoria reservada.

    3. Inicie sesión en la ElastiCache consola AWS Management Console y ábrala en https://console.aws.amazon.com/elasticache/.

    4. En la lista de clústeres, seleccione el clúster que desee reducir. Este clúster debe ejecutar el motor OSS de Redis y no el motor OSS de Redis agrupado.

    5. Elija Modificar.

    6. En el asistente Modify Cluster:

      1. Elija el tipo de nodo que desee reducir en la lista Node type (Tipo de nodo).

      2. Si va a utilizar reserved-memory para administrar su memoria, en la lista Parameter Group, elija el grupo de parámetros personalizado que reserve la cantidad correcta de memoria para su nuevo tipo de nodo.

    7. Si desea realizar el proceso de reducción de forma inmediata, elija la casilla de verificación Apply immediately (Aplicar inmediatamente). Si no se deja seleccionada la casilla de verificación Apply immediately (Aplicar inmediatamente), el proceso de reducción se realizará durante el siguiente periodo de mantenimiento de este clúster.

    8. Elija Modificar.

    9. Cuando el estado del clúster cambie de modifying a available, el clúster se habrá escalado al nuevo tipo de nodo. No es necesario actualizar los puntos de enlace de su aplicación.

    El siguiente proceso escala su grupo de reproducción de su tipo de nodo actual a un nuevo tipo de nodo más pequeño utilizando AWS CLI. Durante este proceso, ElastiCache (Redis OSS) actualiza las entradas de DNS para que apunten a los nuevos nodos. Por ello, no tiene que actualizar los puntos de enlace de su aplicación. Para Redis OSS 5.0.5 y versiones posteriores, puede escalar los clústeres habilitados para la conmutación automática por error mientras el clúster permanece en línea y atiende las solicitudes entrantes. En la versión 4.0.10 y anteriores, puede observar una breve interrupción de las versiones de lectura y escritura del nodo principal mientras se actualiza la entrada de DNS.

    Sin embargo, las lecturas de los clústeres de caché de la réplica de lectura continuarán de forma ininterrumpida.

    El tiempo que se tarda en la realización del escalado descendente a un tipo de nodo más pequeño varía en función de su tipo de nodo y de la cantidad de datos de su clúster de caché actual.

    Para reducir un grupo de replicación de Redis OSS ()AWS CLI
    1. Determine a qué tipos de nodos puede reducir la escala ejecutando el AWS CLI list-allowed-node-type-modifications comando con el siguiente parámetro.

      • --replication-group-id: nombre del grupo de replicación. Use este parámetro para describir un determinado grupo de replicación en lugar de todos los grupos de replicación.

      Para Linux, macOS o 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

      La salida de esta operación tiene un aspecto similar al siguiente (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 obtener más información consulte list-allowed-node-type-modifications en la Referencia de la AWS CLI .

    2. Amplíe su grupo de replicación actual hasta el nuevo tipo de nodo mediante el AWS CLI modify-replication-group comando con los siguientes parámetros.

      • --replication-group-id: nombre del grupo de replicación.

      • --cache-node-type: el nuevo tipo de nodo más pequeño de clústeres de caché en este grupo de reproducción. Este valor debe ser uno de los tipos de instancia devueltos por el comando list-allowed-node-type-modifications en el paso 1.

      • --cache-parameter-group-name: [Opcional] Utilice este parámetro si va a utilizar reserved-memory para administrar la memoria reservada de su clúster. Especifique un grupo de parámetros de caché personalizado que reserve la cantidad correcta de memoria para el nuevo tipo de nodo. Si va a utilizar reserved-memory-percent, puede omitir este parámetro.

      • --apply-immediately: hace que el proceso de escalado vertical se aplique de inmediato. Para aplazar la operación de ampliación al siguiente periodo de mantenimiento, utilice --no-apply-immediately.

      Para Linux, macOS o 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

      La salida de este comando tiene un aspecto similar al siguiente (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 obtener más información consulte modify-replication-group en la Referencia de la AWS CLI .

    3. Si utilizó el --apply-immediately parámetro, supervise el estado del grupo de replicación mediante el AWS CLI describe-replication-group comando con el siguiente parámetro. Cuando el estado cambie de modifying a available, podrá empezar a escribir en su nuevo grupo de replicación reducido.

      • --replication-group-id: nombre del grupo de replicación. Use este parámetro para describir un determinado grupo de replicación en lugar de todos los grupos de replicación.

      Para Linux, macOS o 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 obtener más información, consulte describe-replication-groupsla AWS CLI Referencia.

    El siguiente proceso escala el grupo de replicación desde su tipo de nodo actual a un tipo de nodo nuevo y más pequeño mediante la ElastiCache API. Durante este proceso, ElastiCache (Redis OSS) actualiza las entradas de DNS para que apunten a los nuevos nodos. Por ello, no tiene que actualizar los puntos de enlace de su aplicación. Para Redis OSS 5.0.5 y versiones posteriores, puede escalar los clústeres habilitados para la conmutación automática por error mientras el clúster permanece en línea y atiende las solicitudes entrantes. En la versión 4.0.10 y anteriores, puede observar una breve interrupción de las versiones de lectura y escritura del nodo principal mientras se actualiza la entrada de DNS. Sin embargo, las lecturas de los clústeres de caché de la réplica de lectura continuarán de forma ininterrumpida.

    El tiempo que se tarda en la realización del escalado descendente a un tipo de nodo más pequeño varía en función de su tipo de nodo y de la cantidad de datos de su clúster de caché actual.

    Para reducir un grupo de replicación (API) de Redis OSS ElastiCache
    1. Determine los tipos de nodos a los que puede reducir la escala mediante la ListAllowedNodeTypeModifications acción de la ElastiCache API con el siguiente parámetro.

      • ReplicationGroupId: nombre del grupo de replicación. Use este parámetro para describir un grupo de replicación específico en lugar de todos los grupos de replicación.

      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 obtener más información, consulta ListAllowedNodeTypeModifications la referencia de la ElastiCache API de Amazon.

    2. Amplíe su grupo de replicación actual hasta el nuevo tipo de nodo mediante la acción de la ModifyRedplicationGroup ElastiCache API y con los siguientes parámetros.

      • ReplicationGroupId: nombre del grupo de replicación.

      • CacheNodeType: el nuevo tipo de nodo más pequeño de clústeres de caché en este grupo de reproducción. Este valor debe ser uno de los tipos de instancia devueltos por la acción ListAllowedNodeTypeModifications en el paso 1.

      • CacheParameterGroupName: [Opcional] Utilice este parámetro si va a utilizar reserved-memory para administrar la memoria reservada de su clúster. Especifique un grupo de parámetros de caché personalizado que reserve la cantidad correcta de memoria para el nuevo tipo de nodo. Si va a utilizar reserved-memory-percent, puede omitir este parámetro.

      • ApplyImmediately: establézcalo en true para que el proceso de escalado vertical se aplique de inmediato. Para aplazar el proceso de escalado descendente al siguiente periodo de mantenimiento, utilice 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 obtener más información, consulta ModifyReplicationGroup la referencia de la ElastiCache API de Amazon.

    3. Si lo utilizó ApplyImmediately=true, supervise el estado del grupo de replicación mediante la DescribeReplicationGroups acción de la ElastiCache API con los siguientes parámetros. Cuando el estado cambie de modifying a available, podrá empezar a escribir en su nuevo grupo de replicación reducido.

      • ReplicationGroupId: nombre del grupo de replicación. Use este parámetro para describir un determinado grupo de replicación en lugar de todos los grupos de replicación.

      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 obtener más información, consulta DescribeReplicationGroups la referencia de la ElastiCache API de Amazon.