

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Repartage en ligne pour MemoryDB
<a name="cluster-resharding-online"></a>

En utilisant le repartage en ligne et avec MemoryDB, vous pouvez redimensionner votre MemoryDB de manière dynamique sans temps d'arrêt. Cette approche signifie que votre cluster peut continuer à traiter des demandes même lorsqu'une mise à l'échelle ou un rééquilibrage est en cours.

Vous pouvez effectuer les opérations suivantes :
+ **Extensibilité** : augmentez la capacité de lecture et d'écriture en ajoutant des partitions à votre cluster MemoryDB.

  Si vous ajoutez une ou plusieurs partitions à votre cluster, le nombre de nœuds de chaque nouvelle partition est identique au nombre de nœuds de la plus petite partition existante.
+ **Mise à l'échelle** : réduisez la capacité de lecture et d'écriture, et donc les coûts, en supprimant les partitions de votre cluster MemoryDB.

Actuellement, les restrictions suivantes s'appliquent au repartage en ligne de MemoryDB :
+ Il existe des limitations pour les emplacements et les espaces de clés ou les éléments volumineux :

  Si l'une des clés d'une partition contient un élément volumineux, cette clé n'est pas migrée vers une nouvelle partition lors de la mise à l'échelle. Cette fonctionnalité peut se traduire par des partitions non équilibrées.

  Si l'une des clés d'une partition contient un élément volumineux (supérieur à 256 Mo après sérialisation), cette partition n'est pas supprimée lors de l'agrandissement. Cette fonctionnalité peut se traduire par le fait que certaines partitions ne sont pas supprimées.
+ Lors de la mise à l'échelle, le nombre de nœuds dans les nouvelles partitions est égal au nombre de nœuds dans les partitions existantes.

Pour de plus amples informations, veuillez consulter [Bonnes pratiques : redimensionnement des clusters en ligne](best-practices-online-resharding.md).

Vous pouvez redimensionner horizontalement vos clusters MemoryDB à l'aide de l'API AWS Management Console, du AWS CLI, et de l'API MemoryDB.

## Ajout de partitions avec le repartitionnement en ligne
<a name="cluster-resharding-online-add"></a>

Vous pouvez ajouter des partitions à votre cluster MemoryDB à l'aide de l'API AWS Management Console AWS CLI, ou MemoryDB.

### Ajout de partitions (console)
<a name="cluster-resharding-online-add-console"></a>

Vous pouvez utiliser le AWS Management Console pour ajouter une ou plusieurs partitions à votre cluster MemoryDB. La procédure suivante décrit le processus.

****

1. Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. Dans la liste des clusters, choisissez le nom du cluster à partir duquel vous souhaitez ajouter une partition.

1. Sous l'onglet **Partitions et nœuds, choisissez **Ajouter/Supprimer** des partitions**

1. Dans **Nouveau nombre de partitions**, entrez le nombre de partitions que vous souhaitez. 

1. Choisissez **Confirmer** pour conserver les modifications ou **Annuler** pour les ignorer.

### Ajout de partitions (AWS CLI)
<a name="cluster-resharding-online-add-cli"></a>

Le processus suivant décrit comment reconfigurer les partitions de votre cluster MemoryDB en ajoutant des partitions à l'aide du. AWS CLI

Utilisez les paramètres suivants avec `update-cluster`.

**Parameters**
+ `--cluster-name` : obligatoire. Spécifie le cluster (cluster) sur lequel l'opération de reconfiguration de partition doit être effectuée.
+ `--shard-configuration` : obligatoire. Permet de définir le nombre de partitions. 
  + `ShardCount`— Définissez cette propriété pour spécifier le nombre de partitions que vous souhaitez. 

**Example**  
L'exemple suivant modifie le nombre de partitions du cluster `my-cluster` à 2.   
Pour Linux, macOS ou Unix :  

```
aws memorydb update-cluster \
    --cluster-name my-cluster \
    --shard-configuration \
        ShardCount=2
```
Pour Windows :  

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

Elle renvoie la réponse JSON suivante :

```
{
    "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
    }
}
```

Pour afficher les détails du cluster mis à jour une fois que son statut passe de *mise à jour* à *disponible*, utilisez la commande suivante :

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Il renverra la réponse JSON suivante :

```
{
    "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
        }
    ]
}
```

Pour plus d'informations, consultez [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html) dans la référence des AWS CLI commandes.

### Ajouter des partitions (API MemoryDB)
<a name="cluster-resharding-online-add-api"></a>

Vous pouvez utiliser l'API MemoryDB pour reconfigurer les partitions de votre cluster MemoryDB en ligne à l'aide de l'opération. `UpdateCluster`

Utilisez les paramètres suivants avec `UpdateCluster`.

**Parameters**
+ `ClusterName` : obligatoire. Spécifie sur quel cluster l'opération de reconfiguration de partition doit être effectuée.
+ `ShardConfiguration` : obligatoire. Permet de définir le nombre de partitions. 
  + `ShardCount`— Définissez cette propriété pour spécifier le nombre de partitions que vous souhaitez. 

Pour de plus amples informations, veuillez consulter [UpdateCluster](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_UpdateCluster.html).

## Suppression de partitions avec le repartitionnement en ligne
<a name="cluster-resharding-online-remove"></a>

Vous pouvez supprimer des partitions de votre cluster MemoryDB à l'aide de l'API AWS Management Console AWS CLI, ou MemoryDB.

### Suppression de partitions (console)
<a name="cluster-resharding-online-remove-console"></a>

Le processus suivant décrit comment reconfigurer les partitions de votre cluster MemoryDB en supprimant les partitions à l'aide du. AWS Management Console

**Important**  
Avant de supprimer des partitions de votre cluster, MemoryDB s'assure que toutes vos données rentreront dans les partitions restantes. Si les données sont correctes, les fragments sont supprimés du cluster comme demandé. Si les données ne rentrent pas dans les partitions restantes, le processus est interrompu et le cluster se retrouve avec la même configuration de partition qu'avant la demande.

Vous pouvez utiliser le AWS Management Console pour supprimer une ou plusieurs partitions de votre cluster MemoryDB. Vous ne pouvez pas supprimer tous les fragments d'un cluster. Vous devez plutôt supprimer le cluster. Pour de plus amples informations, veuillez consulter [Étape 5 : Suppression d’un cluster](getting-started.md#clusters.delete). La procédure suivante décrit le processus de suppression d'une ou de plusieurs partitions.

****

1. Connectez-vous à la console MemoryDB AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/)

1. Dans la liste des clusters, choisissez le nom du cluster dont vous souhaitez supprimer une partition.

1. Sous l'onglet **Partitions et nœuds, choisissez **Ajouter/Supprimer** des partitions**

1. Dans **Nouveau nombre de partitions**, entrez le nombre de partitions que vous souhaitez (avec un minimum de 1). 

1. Choisissez **Confirmer** pour conserver les modifications ou **Annuler** pour les ignorer.

### Suppression de partitions (AWS CLI)
<a name="cluster-resharding-online-remove-cli"></a>

Le processus suivant décrit comment reconfigurer les partitions de votre cluster MemoryDB en supprimant les partitions à l'aide du. AWS CLI

**Important**  
Avant de supprimer des partitions de votre cluster, MemoryDB s'assure que toutes vos données rentreront dans les partitions restantes. Si les données sont correctes, les partitions sont supprimées du cluster comme demandé et leurs espaces clés sont mappés dans les partitions restantes. Si les données ne rentrent pas dans les partitions restantes, le processus est interrompu et le cluster se retrouve avec la même configuration de partition qu'avant la demande.

Vous pouvez utiliser le AWS CLI pour supprimer une ou plusieurs partitions de votre cluster MemoryDB. Vous ne pouvez pas supprimer tous les fragments d'un cluster. Vous devez plutôt supprimer le cluster. Pour de plus amples informations, veuillez consulter [Étape 5 : Suppression d’un cluster](getting-started.md#clusters.delete).

Utilisez les paramètres suivants avec `update-cluster`.

**Parameters**
+ `--cluster-name` : obligatoire. Spécifie le cluster (cluster) sur lequel l'opération de reconfiguration de partition doit être effectuée.
+ `--shard-configuration` : obligatoire. Permet de définir le nombre de partitions à l'aide de la `ShardCount` propriété : 

  `ShardCount`— Définissez cette propriété pour spécifier le nombre de partitions que vous souhaitez. 

**Example**  
L'exemple suivant modifie le nombre de partitions du cluster `my-cluster` à 2.   
Pour Linux, macOS ou Unix :  

```
aws memorydb update-cluster \
    --cluster-name my-cluster \
    --shard-configuration \
        ShardCount=2
```
Pour Windows :  

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

Elle renvoie la réponse JSON suivante :

```
{
    "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
    }
}
```

Pour afficher les détails du cluster mis à jour une fois que son statut passe de *mise à jour* à *disponible*, utilisez la commande suivante :

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Il renverra la réponse JSON suivante :

```
{
    "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
        }
    ]
}
```

Pour plus d'informations, consultez [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/memorydb/update-cluster.html) dans la référence des AWS CLI commandes.

### Supprimer des partitions (API MemoryDB)
<a name="cluster-resharding-online-remove-api"></a>

Vous pouvez utiliser l'API MemoryDB pour reconfigurer les partitions de votre cluster MemoryDB en ligne à l'aide de l'opération. `UpdateCluster`

Le processus suivant décrit comment reconfigurer les partitions de votre cluster MemoryDB en supprimant les partitions à l'aide de l'API MemoryDB.

**Important**  
Avant de supprimer des partitions de votre cluster, MemoryDB s'assure que toutes vos données rentreront dans les partitions restantes. Si les données sont correctes, les partitions sont supprimées du cluster comme demandé et leurs espaces clés sont mappés dans les partitions restantes. Si les données ne rentrent pas dans les partitions restantes, le processus est interrompu et le cluster se retrouve avec la même configuration de partition qu'avant la demande.

Vous pouvez utiliser l'API MemoryDB pour supprimer une ou plusieurs partitions de votre cluster MemoryDB. Vous ne pouvez pas supprimer tous les fragments d'un cluster. Vous devez plutôt supprimer le cluster. Pour de plus amples informations, veuillez consulter [Étape 5 : Suppression d’un cluster](getting-started.md#clusters.delete).

Utilisez les paramètres suivants avec `UpdateCluster`.

**Parameters**
+ `ClusterName` : obligatoire. Spécifie le cluster (cluster) sur lequel l'opération de reconfiguration de partition doit être effectuée.
+ `ShardConfiguration` : obligatoire. Permet de définir le nombre de partitions à l'aide de la `ShardCount` propriété : 

  `ShardCount`— Définissez cette propriété pour spécifier le nombre de partitions que vous souhaitez. 