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.
Temas
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
Inicie sesión en la AWS Management Console y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/
. -
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.
-
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:
-
Ejecuta Redis OSS, no Redis OSS en clúster.
-
No tiene ningún fragmento.
Si el clúster tiene algún fragmento, la reproducción ya está habilitada y podrá continuar con Adición de nodos a un clúster de ElastiCache (consola).
-
-
Seleccione Add replication (Agregar reproducción).
-
En Agregar reproducción, escriba una descripción para este clúster con la reproducción habilitada.
-
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.
Inicie sesión en la AWS Management Console y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/
. -
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.
-
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.
-
Elija Add node (Agregar nodo).
-
Rellene la información que se solicita en el cuadro de diálogo Add Node (Agregar nodo).
-
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.
-
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ámetrocache-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-nodes5
\ --apply-immediately
Para Windows:
aws elasticache modify-cache-cluster ^ --cache-cluster-id
my-cluster
^ --num-cache-nodes5
^ --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-count4
\ --apply-immediately
Para Windows:
aws elasticache increase-replica-count ^ --replication-group-id
my-replication-group
^ --new-replica-count4
^ --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ámetroNewReplicaCount
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 deNewReplicaCount
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 APIDecreaseReplicaCount
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ámetroNumCachNodes
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 deNumCacheNodes
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ámetroCacheNodeIdsToRemove
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
.