

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.

# Escalado
<a name="scaling"></a>

La cantidad de datos que necesita su aplicación para procesar casi nunca es fija. Aumenta y disminuye a medida que su negocio crece o experimenta las fluctuaciones normales de la demanda. Si administra por sí mismo sus aplicaciones, necesita aprovisionar suficiente hardware para los picos de demanda, lo cual puede resultar caro. Al utilizar MemoryDB, puede escalar para satisfacer la demanda actual, pagando solo por lo que utilice.

Lo siguiente lo ayuda a encontrar el tema correcto para las acciones de escalado que desea realizar.


**Escalar MemoryDB**  

| Action | MemoryDB | 
| --- | --- | 
|  Escalado ascendente  |  [Cambios en las particiones con conexión para MemoryDB](cluster-resharding-online.md)  | 
|  Cambios de tipos de nodos  |  [Escalado vertical en línea mediante la modificación del tipo de nodo](cluster-vertical-scaling.md)  | 
|  Cambio del número de particiones  |  [Escalado de clústeres de MemoryDB](scaling-cluster.md)  | 

# Escalado de clústeres de MemoryDB
<a name="scaling-cluster"></a>

A medida que cambie la demanda en los clústeres, puede decidir mejorar el desempeño o reducir los costos cambiando el número de particiones en su clúster de MemoryDB. Recomendamos que utilice el escalado horizontal online, ya que permite que el clúster continúe sirviendo las solicitudes durante el proceso de escalado.

Entre las condiciones en las que puede decidir cambiar el escalado de su clúster se incluyen las siguientes:
+ **Presión de memoria:**

  Si los nodos del clúster tienen presión de la memoria, puede decidir realizar un escalado ascendente para tener más recursos con el fin de almacenar los datos y servir las solicitudes mejor.

  Puede determinar si sus nodos están bajo presión de memoria supervisando las siguientes métricas: *FreeableMemory*SwapUsage**, y *BytesUsedForMemoryDB*.
+ **Cuello de botella de CPU o de red:**

  Si su clúster está plagado de latency/throughput problemas, es posible que tenga que ampliarlo para resolverlos.

  Puede supervisar sus niveles de latencia y rendimiento supervisando las siguientes métricas: *CPUUtilization*,, *NetworkBytesIn*NetworkBytesOut*CurrConnections***, y. *NewConnections*
+ **El escalado del clúster es excesivo:**

  La demanda actual en su clúster es tal que el escalado descendente no afecta al rendimiento y reduce los costos.

  Puede supervisar el uso del clúster para determinar si puede ampliarlo de forma segura utilizando las siguientes métricas: *FreeableMemory*, *SwapUsage*, *BytesUsedForMemoryDB *CPUUtilization**, *NetworkBytesIn*, *NetworkBytesOut*CurrConnections**, y *NewConnections*.

**Impacto de rendimiento del escalado**  
Cuando escala utilizando el proceso sin conexión, el clúster no está en línea durante una parte importante del proceso y, por tanto, no puede atender las solicitudes. Cuando escala utilizando el método online, como el escalado es una operación que realiza un uso intensivo de computación, se deteriora algo el rendimiento, aunque el clúster sigue atendiendo las solicitudes en toda la operación de escalado. El nivel de deterioro de la experiencia depende del uso normal de la CPU y sus datos.

Existen dos formas de escalar el clúster de MemoryDB: el escalado horizontal y vertical.
+ El escalado horizontal le permite cambiar el número de particiones del clúster agregando o eliminando particiones. El proceso de refragmentación en línea permite escalar in/out mientras el clúster sigue atendiendo las solicitudes entrantes. 
+ Escalado vertical: cambie el tipo de nodo para cambiar el tamaño del clúster. El escalado vertical en línea permite el escalado up/down mientras el clúster continúa atendiendo las solicitudes entrantes.

Si reduce el tamaño y la capacidad de memoria del clúster, ya sea reduciendo horizontal o verticalmente, asegúrese de que la nueva configuración disponga de memoria suficiente para sus datos y la capacidad adicional del motor. 

# Cambios en las particiones sin conexión para MemoryDB
<a name="cluster-resharding-offline"></a>

La ventaja principal que obtiene de la reconfiguración de particiones sin conexión es que puede hacer algo más que agregar o eliminar particiones de su clúster. Al hacer cambios de las particiones sin conexión, además de cambiar el número de particiones del clúster, puede hacer lo siguiente:
+ Cambia el tipo de nodo de su clúster.
+ Actualizar a una nueva versión del motor.

**nota**  
Los cambios de particiones sin conexión no se admiten en los clústeres con la organización de datos en niveles habilitada. Para obtener más información, consulte [Organización de datos en niveles](data-tiering.md)..

La desventaja principal de la reconfiguración de particiones sin conexión es que el clúster está sin conexión al comentar la parte de restauración del proceso y así continuará hasta que actualice los puntos de conexión de la aplicación. El tiempo que el clúster está sin conexión varía según la cantidad de datos del clúster.

**Para reconfigurar las particiones del clúster de MemoryDB sin conexión**

1. Cree una instantánea manual de su clúster de MemoryDB existente. Para obtener más información, consulte [Toma de instantáneas manuales](snapshots-manual.md).

1. Cree un nuevo clúster restaurándolo a partir de la instantánea. Para obtener más información, consulte [Restauración a partir de una instantánea](snapshots-restoring.md).

1. Actualice los puntos de conexión de la aplicación a los puntos de conexión del nuevo clúster. Para obtener más información, consulte [Búsqueda de puntos de conexión](endpoints.md).

# Cambios en las particiones con conexión para MemoryDB
<a name="cluster-resharding-online"></a>

Con ayuda del cambio de particiones con conexión y 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.

Se 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 al escalar horizontalmente. 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](best-practices-online-resharding.md).

Puede escalar horizontalmente sus clústeres de MemoryDB mediante la Consola de administración de AWS, la AWS CLI y la API de MemoryDB.

## Adición de particiones con los cambios de particiones en línea
<a name="cluster-resharding-online-add"></a>

Puede añadir fragmentos a su clúster de MemoryDB mediante la API Consola de administración de AWS AWS CLI, o MemoryDB.

### Adición de particiones (consola)
<a name="cluster-resharding-online-add-console"></a>

Puede utilizar el Consola de administración de AWS 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 Consola de administración de AWS MemoryDB y ábrala en. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

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

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

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

1. Seleccione **Confirmar** para conservar los cambios o **Cancelar** para descartarlos.

### Adición de particiones (AWS CLI)
<a name="cluster-resharding-online-add-cli"></a>

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

**Parameters**
+ `--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. 

**Example**  
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](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html) en la Referencia de AWS CLI comandos.

### Adición de particiones (API de MemoryDB)
<a name="cluster-resharding-online-add-api"></a>

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

**Parameters**
+ `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](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html).

## Eliminación de particiones con los cambios de particiones en línea
<a name="cluster-resharding-online-remove"></a>

Puede eliminar fragmentos de su clúster de MemoryDB mediante la API Consola de administración de AWS, AWS CLI o MemoryDB.

### Eliminación de particiones (consola)
<a name="cluster-resharding-online-remove-console"></a>

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

**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 Consola de administración de AWS 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 5: eliminar un clúster](getting-started.md#clusters.delete). El siguiente procedimiento describe el proceso para eliminar una o varias particiones.

****

1. Inicie sesión en la consola de Consola de administración de AWS MemoryDB y ábrala en. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

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

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

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

1. Seleccione **Confirmar** para conservar los cambios o **Cancelar** para descartarlos.

### Eliminación de particiones (AWS CLI)
<a name="cluster-resharding-online-remove-cli"></a>

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 5: eliminar un clúster](getting-started.md#clusters.delete).

Use los siguientes parámetros con `update-cluster`.

**Parameters**
+ `--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. 

**Example**  
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](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html) en la Referencia de comandos. AWS CLI 

### Eliminación de particiones (API de MemoryDB)
<a name="cluster-resharding-online-remove-api"></a>

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 5: eliminar un clúster](getting-started.md#clusters.delete).

Use los siguientes parámetros con `UpdateCluster`.

**Parameters**
+ `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. 

# Escalado vertical en línea mediante la modificación del tipo de nodo
<a name="cluster-vertical-scaling"></a>

Mediante el escalado vertical en línea con MemoryDB, puede escalar el clúster dinámicamente con un tiempo de inactividad mínimo. Esto permite que el clúster 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](data-tiering.md).

Se puede hacer lo siguiente:
+ **Escalado vertical**: aumente la capacidad de lectura y escritura ajustando el tipo de nodo del clúster de MemoryDB para utilizar un tipo de nodo más grande.

  MemoryDB redimensiona dinámicamente 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, MemoryDB redimensiona dinámicamente 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 up/down flujo uniforme de la báscula, haga lo siguiente:  
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
<a name="cluster-vertical-scaling-scaling-up"></a>

**Topics**
+ [Escalado vertical de clústeres de MemoryDB (consola)](#cluster-vertical-scaling-console)
+ [Ampliación de clústeres de MemoryDB (CLI)AWS](#scaling.scaleUp.cli)
+ [Ampliación de clústeres de MemoryDB (API de MemoryDB)](#verticalscaling.scaleup.api)

## Escalado vertical de clústeres de MemoryDB (consola)
<a name="cluster-vertical-scaling-console"></a>

El siguiente procedimiento describe cómo escalar verticalmente un clúster de MemoryDB mediante la Consola de administración de AWS. Durante este proceso, el clúster de MemoryDB seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

**Para escalar verticalmente un clúster (consola)**

1. Inicie sesión en la consola de MemoryDB Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

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

1. Elija **Actions** (Acciones) y después **Modify** (Modificar).

1. En el cuadro de diálogo **Modificar clúster**:

   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. 

1. Seleccione **Save changes (Guardar cambios)**.

   El estado del clúster cambia a estado de *modificación*. Cuando el estado cambie a *available (disponible)*, la modificación se habrá completado y podrá empezar a utilizar el nuevo clúster.

## Ampliación de clústeres de MemoryDB (CLI)AWS
<a name="scaling.scaleUp.cli"></a>

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

**Para ampliar un clúster de MemoryDB (CLI)AWS**

1. Determine los tipos de nodos a los que puede escalar ejecutando el AWS CLI `list-allowed-node-type-updates` comando con el siguiente parámetro.

   Para Linux, macOS o Unix:

   ```
   aws memorydb list-allowed-node-type-updates \
   	    --cluster-name my-cluster-name
   ```

   Para Windows:

   ```
   aws memorydb list-allowed-node-type-updates ^
   	    --cluster-name my-cluster-name
   ```

   La salida del comando anterior es similar a la siguiente (formato JSON).

   ```
   {
   	    "ScaleUpNodeTypes": [
   	        "db.r6g.2xlarge", 
   	        "db.r6g.large"	        
   	    ],
   	    "ScaleDownNodeTypes": [
   	        "db.r6g.large"	        
   	    ], 
   }
   ```

   Para obtener más información, consulte [list-allowed-node-type-updates](https://docs.aws.amazon.com/cli/latest/reference/memorydb/list-allowed-node-type-updates.html) en la *AWS CLI Referencia*.

1. Modifique el clúster para ampliarlo al nuevo tipo de nodo, de mayor tamaño, mediante el AWS CLI `update-cluster` comando y los siguientes parámetros.
   + `--cluster-name`: nombre del clúster que está escalando verticalmente. 
   + `--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-updates` en el paso 1.

   Para Linux, macOS o Unix:

   ```
   aws memorydb update-cluster  \
   	--cluster-name my-cluster \
   	--node-type db.r6g.2xlarge
   ```

   Para Windows:

   ```
   aws memorydb update-cluster ^
   	    --cluster-name my-cluster ^
   	    --node-type db.r6g.2xlarge ^
   ```

   Para obtener más información, consulte [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html).

## Ampliación de clústeres de MemoryDB (API de MemoryDB)
<a name="verticalscaling.scaleup.api"></a>

El siguiente proceso escala su clúster de su tipo de nodo actual a un nuevo tipo de nodo más grande utilizando la API de MemoryDB. Durante este proceso, MemoryDB actualiza las entradas de DNS para que apunten a los nuevos nodos. Puede escalar clústeres con la conmutación por error habilitada mientras el clúster permanece en línea y atiende solicitudes de entrada.

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.

**Para escalar verticalmente a un clúster de MemoryDB (API de MemoryDB)**

1. Determine qué tipos de nodos puede escalar verticalmente usando la acción `ListAllowedNodeTypeUpdates` de la API de MemoryDB con el siguiente parámetro.
   + `ClusterName`: el nombre del clúster. Use este parámetro para describir un clúster específico en lugar de todos los clústeres.

   ```
   https://memory-db.us-east-1.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeUpdates
   	   &ClusterName=MyCluster
   	   &Version=2021-01-01
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20210802T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   Para obtener más información, consulta la [ListAllowedNodeTypeUpdates](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_ListAllowedNodeTypeUpdates.html)referencia de la *API de MemoryDB*.

1. Escale verticalmente su clúster actual al nuevo tipo de nodo utilizando la acción `UpdateCluster` de la API de MemoryDB con los siguientes parámetros.
   + `ClusterName`: el nombre del clúster.
   + `NodeType`: el nuevo tipo de nodo más grande de clústeres en este clúster. Este valor debe ser uno de los tipos de instancia devueltos por la acción `ListAllowedNodeTypeUpdates` en el paso 1.

   ```
   https://memory-db.us-east-1.amazonaws.com/
   	   ?Action=UpdateCluster	  
   	   &NodeType=db.r6g.2xlarge
   	   &ClusterName=myCluster
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20210801T220302Z
   	   &Version=2021-01-01
   	   &X-Amz-Algorithm=Amazon4-HMAC-SHA256
   	   &X-Amz-Date=20210801T220302Z
   	   &X-Amz-SignedHeaders=Host
   	   &X-Amz-Expires=20210801T220302Z
   	   &X-Amz-Credential=<credential>
   	   &X-Amz-Signature=<signature>
   ```

   Para obtener más información, consulte [UpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html).

# Reducción vertical en línea
<a name="cluster-vertical-scaling-scaling-down"></a>

**Topics**
+ [Reducción vertical de clústeres de MemoryDB (consola)](#cluster-vertical-scaling-down-console)
+ [Reducir el tamaño de los clústeres de MemoryDB (CLI)AWS](#scaling.scaledown.cli)
+ [Reducir el tamaño de los clústeres de MemoryDB (API de MemoryDB)](#scaling.vertical.scaledown.api)

## Reducción vertical de clústeres de MemoryDB (consola)
<a name="cluster-vertical-scaling-down-console"></a>

El siguiente procedimiento describe cómo reducir verticalmente un clúster de MemoryDB de un único nodo mediante la Consola de administración de AWS. Durante este proceso, el clúster de MemoryDB seguirá atendiendo solicitudes con un tiempo de inactividad mínimo.

**Para reducir verticalmente un clúster de MemoryDB (consola)**

1. Inicie sesión en la consola de MemoryDB Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

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

1. Elija **Actions** (Acciones) y después **Modify** (Modificar).

1. En el cuadro de diálogo **Modificar clúster**:

   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.

1. Seleccione **Save changes (Guardar cambios)**.

   El estado del clúster cambia a estado de *modificación*. Cuando el estado cambie a *available (disponible)*, la modificación se habrá completado y podrá empezar a utilizar el nuevo clúster.

## Reducir el tamaño de los clústeres de MemoryDB (CLI)AWS
<a name="scaling.scaledown.cli"></a>

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

**Para reducir un clúster de MemoryDB (CLI)AWS**

1. Determine los tipos de nodos a los que puede reducir la escala ejecutando el AWS CLI `list-allowed-node-type-updates` comando con el siguiente parámetro.

   Para Linux, macOS o Unix:

   ```
   aws memorydb list-allowed-node-type-updates \
   	    --cluster-name my-cluster-name
   ```

   Para Windows:

   ```
   aws memorydb list-allowed-node-type-updates ^
   	    --cluster-name my-cluster-name
   ```

   La salida del comando anterior es similar a la siguiente (formato JSON).

   ```
   {
   	    "ScaleUpNodeTypes": [
   	        "db.r6g.2xlarge", 
   	        "db.r6g.large"	        
   	    ],
   	    "ScaleDownNodeTypes": [
   	        "db.r6g.large"	        
   	    ], 
   }
   ```

   Para obtener más información, consulte [list-allowed-node-type-updates](https://docs.aws.amazon.com/cli/latest/reference/memorydb/list-allowed-node-type-updates.html).

1. Modifique su clúster para reducirlo verticalmente al nuevo tipo de nodo más pequeño con el comando `update-cluster` y los siguientes parámetros.
   + `--cluster-name`: nombre del clúster que se reduce verticalmente. 
   + `--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-updates` en el paso 1.

   Para Linux, macOS o Unix:

   ```
   aws memorydb update-cluster  \
   	    --cluster-name my-cluster \
   	    --node-type db.r6g.large
   ```

   Para Windows:

   ```
   aws memorydb update-cluster ^
   	    --cluster-name my-cluster ^
   	    --node-type db.r6g.large
   ```

   Para obtener más información, consulte [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html).

## Reducir el tamaño de los clústeres de MemoryDB (API de MemoryDB)
<a name="scaling.vertical.scaledown.api"></a>

El siguiente proceso escala su clúster de su tipo de nodo actual a un nuevo tipo de nodo más pequeño utilizando la API de MemoryDB. Durante este proceso, el clúster de MemoryDB 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 MemoryDB)**

1. Determina los tipos de nodos a los que puedes reducir la escala mediante la [ListAllowedNodeTypeUpdates](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_ListAllowedNodeTypeUpdates.html)API con el siguiente parámetro:
   + `ClusterName`: el nombre del clúster. Use este parámetro para describir un clúster específico en lugar de todos los clústeres.

   ```
   https://memory-db.us-east-1.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeUpdates
   	   &ClusterName=MyCluster
   	   &Version=2021-01-01
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20210802T192317Z
   	   &X-Amz-Credential=<credential>
   ```

1. Reduce tu clúster actual al nuevo tipo de nodo mediante la [UpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html)API con los siguientes parámetros.
   + `ClusterName`: el nombre del clúster.
   + `NodeType`: el nuevo tipo de nodo más pequeño de clústeres en este clúster. Este valor debe ser uno de los tipos de instancia devueltos por la acción `ListAllowedNodeTypeUpdates` en el paso 1.

   ```
   https://memory-db.us-east-1.amazonaws.com/
   	   ?Action=UpdateCluster	   
   	   &NodeType=db.r6g.2xlarge
   	   &ClusterName=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20210801T220302Z
   	   &Version=2021-01-01
   	   &X-Amz-Algorithm=Amazon4-HMAC-SHA256
   	   &X-Amz-Date=20210801T220302Z
   	   &X-Amz-SignedHeaders=Host
   	   &X-Amz-Expires=20210801T220302Z
   	   &X-Amz-Credential=<credential>
   	   &X-Amz-Signature=<signature>
   ```