Cambios en las particiones y reequilibrado de particiones en línea para MemoryDB - Amazon MemoryDB

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.

Cambios en las particiones y reequilibrado de particiones en línea para MemoryDB

Mediante el uso del cambio y el reequilibrio de las particiones en línea con MemoryDB, puede escalar su MemoryDB dinámicamente sin tiempo de inactividad. Este enfoque significa que el clúster puede seguir atendiendo las solicitudes, incluso mientras esté en curso el escalado o el reequilibrado.

Puede hacer lo siguiente:

  • Escalar horizontalmente: aumente la capacidad de lectura y escritura añadiendo particiones a su clúster de MemoryDB.

    Si agrega uno o varias particiones a su clúster, el número de nodos de cada nueva partición es el mismo que el número de nodos en el menor de las particiones existentes.

  • Reducción horizontal: reduzca la capacidad de lectura y escritura, y, por lo tanto, los costos, eliminando particiones del clúster de MemoryDB.

En la actualidad, las siguientes limitaciones se aplican a los cambios de particiones en línea de MemoryDB:

  • Existen limitaciones con ranuras o espacios de claves y grandes elementos:

    Si alguna de las claves de una partición contiene un elemento grande, la clave no se puede migrar a una partición nueva en el escalado ascendente o el reequilibrado. Esta funcionalidad puede provocar particiones desequilibradas.

    Si alguna de las claves de una partición contiene un elemento grande (elementos mayores que 256 MB después de la serialización), esa partición no se elimina en la reducción horizontal. Esta funcionalidad puede provocar que algunas particiones no se eliminen.

  • Al realizar el escalado horizontal, el número de nodos de cualquier partición nueva es igual al número de nodo de la partición existente.

Para obtener más información, consulte Prácticas recomendadas: redimensionamiento de clústeres en línea.

Puede escalar horizontalmente o reequilibrar sus clústeres de MemoryDB mediante la AWS Management Console, la AWS CLI y la API de MemoryDB.

Adición de particiones con los cambios de particiones en línea

Puede añadir fragmentos a su clúster de MemoryDB mediante la API AWS Management Console AWS CLI, o MemoryDB.

Puede utilizar el AWS Management Console para añadir uno o más fragmentos a su clúster de MemoryDB. El siguiente procedimiento describe el proceso.

  1. Inicie sesión en la consola de AWS Management Console MemoryDB y ábrala en https://console.aws.amazon.com/memorydb/.

  2. En la lista de clústeres, elija el nombre del clúster del que desea agregar una partición.

  3. En la pestaña Particiones y nodos, seleccione Agregar o eliminar particiones

  4. En Nuevo número de particiones, introduzca el número de particiones que desee.

  5. Seleccione Confirmar para conservar los cambios o Cancelar para descartarlos.

En el siguiente proceso se describe cómo reconfigurar las particiones de su clúster de MemoryDB añadiendo particiones mediante la AWS CLI.

Use los siguientes parámetros con update-cluster.

Parámetros
  • --cluster-name: obligatorio. Especifica en qué clúster (clúster) se debe realizar la operación de reconfiguración de particiones.

  • --shard-configuration: obligatorio. Le permite establecer el número de particiones.

    • ShardCount: defina esta propiedad para especificar el número de particiones que desea.

En el siguiente ejemplo, se modifica el número de particiones del clúster my-cluster a 2.

Para Linux, macOS o Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Para Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Devuelve la siguiente respuesta JSON:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Para ver los detalles del clúster actualizado una vez que su estado cambie de actualizado a disponible, utilice el siguiente comando:

Para Linux, macOS o Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Para Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Devuelve la siguiente respuesta JSON:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Para obtener más información, consulte update-cluster en la Referencia de AWS CLI comandos.

Puede usar la API de MemoryDB para reconfigurar las particiones de su clúster de MemoryDB online mediante la operación UpdateCluster.

Use los siguientes parámetros con UpdateCluster.

Parámetros
  • ClusterName: obligatorio. Especifica en qué clúster se debe realizar la operación de reconfiguración de particiones.

  • ShardConfiguration: obligatorio. Le permite establecer el número de particiones.

    • ShardCount: defina esta propiedad para especificar el número de particiones que desea.

Para obtener más información, consulte. UpdateCluster

Eliminación de particiones con los cambios de particiones en línea

Puede eliminar fragmentos de su clúster de MemoryDB mediante la API AWS Management Console AWS CLI, o MemoryDB.

En el siguiente proceso se describe cómo reconfigurar las particiones de su clúster de MemoryDB eliminando particiones mediante la AWS Management Console.

importante

Antes de eliminar particiones de su clúster, MemoryDB comprueba que todos los datos van a caber en las particiones restantes. Si los datos caben, las particiones se eliminan del clúster según lo solicitado. Si los datos no van a caber en las particiones restantes, el proceso se termina y el clúster se deja con la misma configuración de partición de antes de que se hiciera la solicitud.

Puede usar el AWS Management Console para eliminar uno o más fragmentos de su clúster de MemoryDB. No puede eliminar todas las particiones de un clúster. En su lugar, debe eliminar el clúster. Para obtener más información, consulte Paso 4: eliminar un clúster. El siguiente procedimiento describe el proceso para eliminar una o varias particiones.

  1. Inicie sesión en la consola de AWS Management Console MemoryDB y ábrala en https://console.aws.amazon.com/memorydb/.

  2. En la lista de clústeres, elija el nombre del clúster del que desea quitar una partición.

  3. En la pestaña Particiones y nodos, seleccione Agregar o eliminar particiones

  4. En Nuevo número de particiones, introduzca el número de particiones que desee (con un mínimo de 1).

  5. Seleccione Confirmar para conservar los cambios o Cancelar para descartarlos.

En el siguiente proceso se describe cómo reconfigurar las particiones de su clúster de MemoryDB eliminando particiones mediante la AWS CLI.

importante

Antes de eliminar particiones de su clúster, MemoryDB comprueba que todos los datos van a caber en las particiones restantes. Si los datos caben, las particiones especificadas se eliminan del clúster según lo solicitado y sus espacios de claves se asignan a las particiones restantes. Si los datos no van a caber en las particiones restantes, el proceso se termina y el clúster se deja con la misma configuración de partición de antes de que se hiciera la solicitud.

Puede usar el AWS CLI para eliminar uno o más fragmentos de su clúster de MemoryDB. No puede eliminar todas las particiones de un clúster. En su lugar, debe eliminar el clúster. Para obtener más información, consulte Paso 4: eliminar un clúster.

Use los siguientes parámetros con update-cluster.

Parámetros
  • --cluster-name: obligatorio. Especifica en qué clúster (clúster) se debe realizar la operación de reconfiguración de particiones.

  • --shard-configuration: obligatorio. Le permite establecer el número de particiones mediante la propiedad ShardCount:

    ShardCount: defina esta propiedad para especificar el número de particiones que desea.

En el siguiente ejemplo, se modifica el número de particiones del clúster my-cluster a 2.

Para Linux, macOS o Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Para Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Devuelve la siguiente respuesta JSON:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Para ver los detalles del clúster actualizado una vez que su estado cambie de actualizado a disponible, utilice el siguiente comando:

Para Linux, macOS o Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Para Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Devuelve la siguiente respuesta JSON:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Para obtener más información, consulte update-cluster en la Referencia de comandos. AWS CLI

Puede usar la API de MemoryDB para reconfigurar las particiones de su clúster de MemoryDB online mediante la operación UpdateCluster.

En el siguiente proceso se describe cómo reconfigurar las particiones de su clúster de MemoryDB eliminando particiones mediante la API de MemoryDB.

importante

Antes de eliminar particiones de su clúster, MemoryDB comprueba que todos los datos van a caber en las particiones restantes. Si los datos caben, las particiones especificadas se eliminan del clúster según lo solicitado y sus espacios de claves se asignan a las particiones restantes. Si los datos no van a caber en las particiones restantes, el proceso se termina y el clúster se deja con la misma configuración de partición de antes de que se hiciera la solicitud.

Puede usar la API de MemoryDB para eliminar una o varias particiones de su clúster de MemoryDB. No puede eliminar todas las particiones de un clúster. En su lugar, debe eliminar el clúster. Para obtener más información, consulte Paso 4: eliminar un clúster.

Use los siguientes parámetros con UpdateCluster.

Parámetros
  • ClusterName: obligatorio. Especifica en qué clúster (clúster) se debe realizar la operación de reconfiguración de particiones.

  • ShardConfiguration: obligatorio. Le permite establecer el número de particiones mediante la propiedad ShardCount:

    ShardCount: defina esta propiedad para especificar el número de particiones que desea.