Escalado vertical en línea mediante la modificación del tipo de nodo - Amazon ElastiCache

Escalado vertical en línea mediante la modificación del tipo de nodo

Al utilizar el escalado vertical en línea con Valkey versión 7.2 o posteriores, o Redis OSS versión 3.2.10 o posteriores, puede escalar sus clústeres de Valkey o Redis OSS dinámicamente con el tiempo de inactividad mínimo. Esto permite que el clúster de Valkey o Redis OSS atienda solicitudes incluso mientras se escala.

nota

No se admite el escalado entre un clúster de organización de datos en niveles (por ejemplo, un clúster que utiliza un tipo de nodo r6gd) y un clúster que no utiliza la organización de datos en niveles (por ejemplo, un clúster que utiliza un tipo de nodo r6g). Para obtener más información, consulte Organización de datos en niveles en ElastiCache.

Puede hacer lo siguiente:

  • Escalado vertical: aumente la capacidad de lectura y escritura ajustando el tipo de nodo del clúster de Valkey o Redis OSS para utilizar un tipo de nodo más grande.

    ElastiCache redimensiona de forma dinámica su clúster mientras permanece en línea y atiende solicitudes.

  • Reducción vertical: reduzca verticalmente la capacidad de lectura y escritura al ajustar el tipo de nodo para utilizar un nodo más pequeño. Nuevamente, ElastiCache redimensiona de forma dinámica su clúster mientras permanece en línea y atiende solicitudes. En este caso, reduzca los costos reduciendo el tamaño del nodo.

nota

Los procesos de escalado ascendente y descendente dependen de la creación de clústeres con tipos de nodo seleccionados recientemente y la sincronización de los nuevos nodos con los anteriores. Para garantizar un flujo de escalado ascendente/descendente uniforme, realice el siguiente procedimiento:

  • Asegúrese de tener suficiente capacidad ENI (Elastic Network Interface, interfaz de red elástica). Si se aplica el escalado descendiente, asegúrese de que el nodo de tamaño más reducido tenga suficiente memoria para absorber el tráfico esperado.

    Consulte para conocer las prácticas recomendadas sobre la administración de memoria Administración de la memoria reservada para Valkey y Redis OSS.

  • Aunque el proceso de escalado vertical está diseñado para que sea completamente online, se basa en la sincronización de datos entre el nodo antiguo y el nuevo. Recomendamos que inicie el escalado ascendente/descendente durante las horas en las que espera que el tráfico de datos sea mínimo.

  • Pruebe el comportamiento de la aplicación durante el escalado en un entorno de ensayo, si es posible.

Escalado vertical en línea

Escalado vertical de clústeres de Valkey o Redis OSS (consola)

El siguiente procedimiento describe cómo escalar verticalmente un clúster de Valkey o Redis OSS mediante la consola de administración de ElastiCache. Durante este proceso, el clúster seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

Escalado vertical de un clúster de Valkey o Redis OSS (consola)
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija Clústeres de Valkey o Clústeres de Redis OSS.

  3. En la lista de clústeres, elija el clúster.

  4. Elija Modificar.

  5. En el asistente Modify Cluster:

    1. Elija el tipo de nodo que desee ampliar en la lista Node type. Para aplicar el escalado ascendente, seleccione un tipo de nodo superior a su nodo existente.

  6. Si desea realizar el proceso de escalado ascendente de forma inmediata, elija el cuadro Apply immediately (Aplicar inmediatamente). Si no selecciona el cuadro Apply immediately, el proceso de ampliación se realizará durante el siguiente periodo de mantenimiento de este clúster.

  7. Elija Modify (Modificar).

    Si eligió Apply immediately (Aplicar inmediatamente) en el paso anterior, el estado del clúster cambiará a modifying (en modificación). Cuando el estado cambie a available (disponible), la modificación se habrá completado y podrá empezar a utilizar el nuevo clúster.

Escalado vertical de clústeres de Valkey o Redis OSS (AWS CLI)

El siguiente procedimiento describe cómo escalar verticalmente un clúster de Valkey o Redis OSS mediante la AWS CLI. Durante este proceso, el clúster seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

Cómo escalar verticalmente un clúster de Valkey o Redis OSS (AWS CLI)
  1. Determine los tipos de nodos a los que puede ampliar ejecutando el comando AWS CLI de la list-allowed-node-type-modifications con el siguiente parámetro.

    Para Linux, macOS o Unix:

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

    Para Windows:

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

    La salida del comando anterior es similar a la siguiente (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 obtener más información consulte list-allowed-node-type-modifications en la Referencia de la AWS CLI.

  2. Modifique su grupo de reproducción para aplicar el escalado ascendente al nuevo tipo de nodo más amplio con el comando AWS CLI de la modify-replication-group y los siguientes parámetros.

    • --replication-group-id: el nombre del grupo de reproducción al que va a escalar verticalmente.

    • --cache-node-type: tipo de nodo nuevo al que desea escalar el clúster. Este valor debe ser uno de los tipos de nodos 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 el proceso de ampliación al siguiente periodo de mantenimiento del clúster, utilice el parámetro --no-apply-immediately.

    Para Linux, macOS o Unix:

    aws elasticache modify-replication-group \ --replication-group-id my-redis-cluster \ --cache-node-type cache.m3.xlarge \ --apply-immediately

    Para Windows:

    aws elasticache modify-replication-group ^ --replication-group-id my-redis-cluster ^ --cache-node-type cache.m3.xlarge ^ --apply-immediately

    La salida del comando anterior es similar a la siguiente (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 obtener más información consulte modify-replication-group en la Referencia de la AWS CLI.

  3. Si ha utilizado --apply-immediately, compruebe el estado del clúster utilizando el comando describe-cache-clusters de la AWS CLIcon el siguiente parámetro. Cuando el estado cambie a disponible, podrá comenzar a usar el nuevo nodo de clúster de la caché de mayor tamaño.

Escalado vertical de clústeres de Valkey o Redis OSS (API de ElastiCache)

El siguiente proceso escala su clúster de su tipo de nodo actual a un nuevo tipo de nodo más grande mediante la API de ElastiCache. Durante este proceso, ElastiCache 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. En Valkey 7.2 y versiones posteriores y en Redis OSS 5.0.5 y versiones posteriores, puede escalar clústeres con la conmutación por error habilitada mientras el clúster permanece en línea y atiende solicitudes de entrada. En Redis OSS 4.0.10 y versiones anteriores, puede observar una breve interrupción de las lecturas y escrituras del nodo principal mientras se actualiza la entrada de DNS.

El tiempo que se tarda en el escalado vertical a un tipo de nodo más grande varía en función de su tipo de nodo y de la cantidad de datos de su clúster actual.

Escalado vertical de un clúster de caché de Valkey o Redis OSS (API de ElastiCache)
  1. Determine a qué tipos de nodos puede escalar verticalmente mediante la acción ListAllowedNodeTypeModifications de la API de ElastiCache 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, consulte ListAllowedNodeTypeModifications en la Referencia de la API de Amazon ElastiCache.

  2. Escale verticalmente su grupo de reproducción actual al nuevo tipo de nodo mediante la acción ModifyReplicationGroup de la API de ElastiCache y con los siguientes parámetros.

    • ReplicationGroupId: nombre del grupo de replicación.

    • CacheNodeType: nuevo tipo de nodo más grande de los clústeres en este grupo de replicación. Este valor debe ser uno de los tipos de instancia devueltos por la acción ListAllowedNodeTypeModifications en el paso anterior.

    • 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 ampliación 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, consulte ModifyReplicationGroup en la Referencia de la API de Amazon ElastiCache.

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

    • 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, consulte DescribeReplicationGroups en la Referencia de la API de Amazon ElastiCache.

Reducción vertical en línea

Reducción vertical de clústeres de Valkey o Redis OSS (consola)

El siguiente procedimiento describe cómo reducir verticalmente un clúster de Valkey o Redis OSS mediante la consola de administración de ElastiCache. Durante este proceso, el clúster de Valkey o Redis OSS seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

Reducción vertical de un clúster de Valkey o Redis OSS (consola)
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija Clústeres de Valkey o Clústeres de Redis OSS.

  3. En la lista de clústeres, elija el clúster preferido.

  4. Elija Modificar.

  5. En el asistente Modify Cluster:

    1. Elija el tipo de nodo que desee ampliar en la lista Node type. Para aplicar el escalado descendente, seleccione un tipo de nodo inferior a su nodo existente. Tenga en cuenta que no todos los tipos de nodos están disponibles para el proceso de reducción.

  6. Si desea realizar el proceso de escalado descendente de forma inmediata, elija el cuadro Apply immediately (Aplicar inmediatamente). Si no selecciona el cuadro Apply immediately (Aplicar inmediatamente), el proceso de escalado descendente se realizará durante el siguiente periodo de mantenimiento de este clúster.

  7. Elija Modify (Modificar).

    Si eligió Apply immediately (Aplicar inmediatamente) en el paso anterior, el estado del clúster cambiará a modifying (en modificación). Cuando el estado cambie a available (disponible), la modificación se habrá completado y podrá empezar a utilizar el nuevo clúster.

Reducción vertical de clústeres de Valkey o Redis OSS (AWS CLI)

El siguiente procedimiento describe cómo reducir verticalmente un clúster de Valkey o Redis OSS mediante la AWS CLI. Durante este proceso, el clúster seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

Cómo reducir verticalmente un clúster de Valkey o Redis OSS (AWS CLI)
  1. Determine los tipos de nodos a los que puede aplicar el escalado descendente ejecutando el comando AWS CLI de la list-allowed-node-type-modifications con el siguiente parámetro.

    Para Linux, macOS o Unix:

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

    Para Windows:

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

    La salida del comando anterior es similar a la siguiente (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 obtener más información consulte list-allowed-node-type-modifications en la Referencia de la AWS CLI.

  2. Modifique su grupo de reproducción para aplicar el escalado descendente al nuevo tipo de nodo más pequeño con el comando AWS CLI de la modify-replication-group y los siguientes parámetros.

    • --replication-group-id: el nombre del grupo de reproducción al que va a reducir verticalmente.

    • --cache-node-type: tipo de nodo nuevo al que desea escalar el clúster. Este valor debe ser uno de los tipos de nodos 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 el proceso de reducción al siguiente periodo de mantenimiento del clúster, utilice el parámetro --no-apply-immediately.

    Para Linux, macOS o Unix:

    aws elasticache modify-replication-group \ --replication-group-id my-redis-cluster \ --cache-node-type cache.t2.micro \ --apply-immediately

    Para Windows:

    aws elasticache modify-replication-group ^ --replication-group-id my-redis-cluster ^ --cache-node-type cache.t2.micro ^ --apply-immediately

    La salida del comando anterior es similar a la siguiente (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 obtener más información consulte modify-replication-group en la Referencia de la AWS CLI.

  3. Si ha utilizado --apply-immediately, compruebe el estado del clúster utilizando el comando describe-cache-clusters de la AWS CLIcon el siguiente parámetro. Cuando el estado cambie a disponible, puede comenzar con el nuevo nodo de clúster de menor tamaño.

Reducción vertical de clústeres de Valkey o Redis OSS (API de ElastiCache)

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 mediante la API de ElastiCache. Durante este proceso, el clúster de Valkey o Redis OSS seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

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 actual.

Reducción vertical (API de ElastiCache)
  1. Determine a qué tipos de nodos puede reducir verticalmente mediante la acción ListAllowedNodeTypeModifications de la API de ElastiCache 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, consulte ListAllowedNodeTypeModifications en la Referencia de la API de Amazon ElastiCache.

  2. Aplique el escalado horizontal a su grupo de reproducción actual al nuevo tipo de nodo mediante la acción ModifyReplicationGroup de la API de ElastiCache y con los siguientes parámetros.

    • ReplicationGroupId: nombre del grupo de replicación.

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

    • 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 reducción 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.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 obtener más información, consulte ModifyReplicationGroup en la Referencia de la API de Amazon ElastiCache.