Adición de nodos a un clúster de ElastiCache - Amazon ElastiCache

Adición de nodos a un clúster de ElastiCache

Si se agregan nodos a un clúster de Memcached, se incrementa el número de particiones del clúster. Cuando se modifica el número de particiones de un clúster, algunos de los espacios de claves deben reasignarse para que se correspondan con el nodo adecuado. Si los espacios de clave se reasignan temporalmente, aumentará el número de errores de caché en el clúster. Para obtener más información, consulte Configuración de su cliente de ElastiCache para un equilibrio de carga eficaz (Memcached).

Para volver a configurar el clúster de Valkey o Redis OSS (modo de clúster habilitado), consulte Escalado de clústeres en Valkey o Redis OSS (modo de clúster habilitado).

Puede utilizar la consola de administración de ElastiCache, la AWS CLI o la API de ElastiCache para agregar nodos al clúster.

Si desea añadir un nodo a un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) de un solo nodo (uno sin la replicación habilitada), el proceso conlleva dos pasos: en primer lugar, añadir la replicación y, a continuación, añadir un nodo de réplica.

El siguiente procedimiento añade la replicación a un clúster de Valkey o Redis OSS de un solo nodo sin la replicación habilitada. Al agregar la reproducción, el nodo existente se convierte en el nodo principal en el clúster con la reproducción habilitada. Tras agregar la reproducción, puede agregar hasta 5 nodos de réplica al clúster.

Adición de replicación a un clúster de Valkey o Redis OSS sin particiones
  1. Inicie sesión en la AWS Management Console 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.

    Se mostrará una lista de clústeres que ejecutan el motor.

  3. Elija el nombre de un clúster al que desea agregar nodos, pero no la casilla situada a la izquierda del nombre del clúster.

    En un clúster de Redis OSS que no tiene la replicación habilitada, se dan las siguientes condiciones:

  4. Seleccione Add replication (Agregar reproducción).

  5. En Agregar reproducción, escriba una descripción para este clúster con la reproducción habilitada.

  6. Elija Añadir.

    Cuando el estado del clúster vuelva a ser available, podrá continuar con el siguiente procedimiento y agregar réplicas al clúster.

Adición de nodos a un clúster de ElastiCache (consola)

El siguiente procedimiento se puede utilizar para agregar nodos a un clúster.

  1. Inicie sesión en la AWS Management Console y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija el motor que se ejecuta en el clúster en el que desea agregar nodos.

    Se mostrará una lista de los clústeres que ejecutan el motor elegido.

  3. En la lista de clústeres, para el clúster al que desea agregar un nodo, elija su nombre.

    Si el clúster es un clúster de Valkey o Redis OSS (modo de clúster habilitado), consulte Escalado de clústeres en Valkey o Redis OSS (modo de clúster habilitado).

    Si el clúster es un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) sin particiones, en primer lugar, complete los pasos de Adición de replicación a un clúster de Valkey o Redis OSS sin particiones.

  4. Elija Add node (Agregar nodo).

  5. Rellene la información que se solicita en el cuadro de diálogo Add Node (Agregar nodo).

  6. Seleccione el botón Apply Immediately - Yes (Aplicar inmediatamente: sí) para aplicar este cambio de inmediato o seleccione No para aplazar el cambio hasta el próximo periodo de mantenimiento del clúster.

    Impacto de las nuevas solicitudes de adición y eliminación en las solicitudes pendientes
    Escenarios Operación pendiente Solicitud nueva Resultados

    Escenario 1

    Delete

    Delete

    La nueva solicitud de eliminación, pendiente o inmediata, reemplaza a la solicitud de eliminación pendiente.

    Por ejemplo, si los nodos 0001, 0003 y 0007 se encuentran pendientes de eliminación y se emite una solicitud nueva para eliminar los nodos 0002 y 0004, solo se eliminarán los nodos 0002 y 0004. Los nodos 0001, 0003 y 0007 no se eliminarán.

    Escenario 2

    Delete

    Creación

    La nueva solicitud de creación, pendiente o inmediata, reemplaza a la solicitud de eliminación pendiente.

    Por ejemplo, si los nodos 0001, 0003 y 0007 se encuentran pendientes de eliminación y se emite una solicitud nueva para crear un nodo, se creará un nodo nuevo y no se eliminarán los nodos 0001, 0003 y 0007.

    Escenario 3

    Creación

    Delete

    La nueva solicitud de eliminación, pendiente o inmediata, reemplaza a la solicitud de creación pendiente.

    Por ejemplo, si hay una solicitud pendiente para crear dos nodos y se emite una solicitud nueva para eliminar el nodo 0003, no se crearán nodos nuevos y se eliminará el nodo 0003.

    Escenario 4

    Creación

    Creación

    La nueva solicitud de creación se agrega a la solicitud de creación pendiente.

    Por ejemplo, si hay una solicitud pendiente para crear dos nodos y se emite una solicitud nueva para crear tres nodos, las solicitudes nuevas se agregarán a la solicitud pendiente y se crearán cinco nodos.

    importante

    Si la nueva solicitud de creación se establece en Apply Immediately - Yes (Aplicar de inmediato: sí), todas las solicitudes de creación se ejecutan de inmediato. Si la nueva solicitud de creación se establece en Apply Immediately - No (Aplicar de inmediato: no), todas las solicitudes de creación quedarán pendientes.

    Para determinar qué operaciones se encuentran pendientes, elija la pestaña de Description (Descripción) y verifique cuántas creaciones o eliminaciones pendientes se muestran. No puede tener creaciones y eliminaciones pendientes al mismo tiempo.

  7. Seleccione el botón Add (Agregar).

    Después de unos minutos, los nuevos nodos deberían aparecer en la lista de nodos con el estado creating. Si no aparecen, actualice página del navegador. Cuando el estado cambie a nodo disponible el nuevo nodo puede usarse.

Para agregar nodos a un clúster utilizando la AWS CLI, use la operación AWS CLI de la modify-cache-cluster con los parámetros siguientes:

  • --cache-cluster-id El ID del clúster de caché al que desea agregar nodos.

  • --num-cache-nodes El parámetro --num-cache-nodes especifica el número de nodos que desea en este clúster una vez aplicada la modificación. Para añadir nodos a este clúster, el valor de --num-cache-nodes debe ser mayor que el número actual de nodos en este clúster. Si este valor es menor que el número actual de nodos, ElastiCache espera el parámetro cache-node-ids-to-remove y una lista de nodos que quitar del clúster. Para obtener más información, consulte Uso de la AWS CLI con ElastiCache.

  • --apply-immediately o --no-apply-immediately, que especifica si desea añadir estos nodos de forma inmediata o durante el próximo periodo de mantenimiento.

Para Linux, macOS o Unix:

aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --num-cache-nodes 5 \ --apply-immediately

Para Windows:

aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cluster ^ --num-cache-nodes 5 ^ --apply-immediately

Esta operación produce un resultado similar al siguiente (formato JSON):

{ "CacheCluster": { "Engine": "memcached", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "my-cluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "rlh-mem000.7alc7bf-example.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "NumCacheNodes": 2, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": { "NumCacheNodes": 5 }, "PreferredMaintenanceWindow": "sat:09:00-sat:10:00", "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", } }

Para obtener más información, consulte el tema de la AWS CLI modify-cache-cluster.

Si desea añadir nodos a un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) existente que no tiene la replicación habilitada, primero debe crear el grupo de replicación y establecer el clúster existente como principal. Para obtener más información, consulte Creación de un grupo de replicación mediante un clúster de caché de Valkey o Redis OSS (AWS CLI). Una vez que el estado del grupo de replicación sea available, puede continuar con el siguiente proceso.

Para agregar nodos a un clúster utilizando la AWS CLI, use la operación AWS CLI de la increase-replica-count con los parámetros siguientes:

  • --replication-group-id: el ID del grupo de reproducción al que desea agregar nodos.

  • --new-replica-count especifica el número de nodos que desea en este grupo de reproducción una vez que se aplica la modificación. Para añadir nodos a este clúster, el valor de --new-replica-count debe ser mayor que el número actual de nodos en este clúster.

  • --apply-immediately o --no-apply-immediately, que especifica si desea añadir estos nodos de forma inmediata o durante el próximo periodo de mantenimiento.

Para Linux, macOS o Unix:

aws elasticache increase-replica-count \ --replication-group-id my-replication-group \ --new-replica-count 4 \ --apply-immediately

Para Windows:

aws elasticache increase-replica-count ^ --replication-group-id my-replication-group ^ --new-replica-count 4 ^ --apply-immediately

Esta operación produce un resultado similar al siguiente (formato JSON):

{ "ReplicationGroup": { "ReplicationGroupId": "node-test", "Description": "node-test", "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "node-test-001", "node-test-002", "node-test-003", "node-test-004", "node-test-005" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "modifying", "PrimaryEndpoint": { "Address": "node-test.zzzzzz.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "node-test.zzzzzz.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "node-test-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-001.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "node-test-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-002.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2c", "CurrentRole": "replica" }, { "CacheClusterId": "node-test-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-003.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" } ] } ], "SnapshottingClusterId": "node-test-002", "AutomaticFailover": "enabled", "MultiAZ": "enabled", "SnapshotRetentionLimit": 1, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.large", "DataTiering": "disabled", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false, "ARN": "arn:aws:elasticache:us-west-2:123456789012:replicationgroup:node-test" } }

Para obtener más información, consulte el tema de la AWS CLI increase-replica-count.

Si desea añadir nodos a un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) existente que no tiene la replicación habilitada, primero debe crear el grupo de replicación y establecer el clúster existente como principal. Para obtener más información, consulte Adición de réplicas a un clúster independiente de Valkey o Redis OSS (modo de clúster deshabilitado) (API de ElastiCache). Una vez que el estado del grupo de replicación sea available, puede continuar con el siguiente proceso.

Para agregar nodos a un clúster (API de ElastiCache)
  • Realice una llamada a la operación API IncreaseReplicaCount con los parámetros siguientes:

    • ReplicationGroupId El ID del clúster al que desea agregar nodos.

    • NewReplicaCount El parámetro NewReplicaCount especifica el número de nodos que desea en este clúster una vez aplicada la modificación. Para añadir nodos a este clúster, el valor de NewReplicaCount debe ser mayor que el número actual de nodos en este clúster. Si este valor es menor que el número actual de nodos, utilice la API DecreaseReplicaCount con el número de nodos que se debe quitar del clúster.

    • ApplyImmediately especifica si desea añadir estos nodos de forma inmediata o durante el próximo periodo de mantenimiento.

    • Region especifica la región de AWS del clúster al que desea agregar nodos.

    En el siguiente ejemplo se muestra una llamada para añadir nodos a un clúster.

    https://elasticache.us-west-2.amazonaws.com/ ?Action=IncreaseReplicaCount &ApplyImmediately=true &NumCacheNodes=4 &ReplicationGroupId=my-replication-group &Region=us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &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 el tema de la API de ElastiCache IncreaseReplicaCount.

Para agregar nodos a un clúster (API de ElastiCache)
  • Realice una llamada a la operación API ModifyCacheCluster con los parámetros siguientes:

    • CacheClusterId El ID del clúster al que desea agregar nodos.

    • NumCacheNodes El parámetro NumCachNodes especifica el número de nodos que desea en este clúster una vez aplicada la modificación. Para añadir nodos a este clúster, el valor de NumCacheNodes debe ser mayor que el número actual de nodos en este clúster. Si este valor es menor que el número actual de nodos, ElastiCache espera el parámetro CacheNodeIdsToRemove con una lista de nodos que quitar del clúster (consulte Uso de la API de ElastiCache con Memcached).

    • ApplyImmediately especifica si desea añadir estos nodos de forma inmediata o durante el próximo periodo de mantenimiento.

    • Region especifica la región de AWS del clúster al que desea agregar nodos.

    En el siguiente ejemplo se muestra una llamada para añadir nodos a un clúster.

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &NumCacheNodes=5 &CacheClusterId=my-cluster &Region=us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &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 el tema de la API de ElastiCache ModifyCacheCluster.