Repartitionnement en ligne et rééquilibrage de la partition pour Redis (mode cluster activé) - Amazon ElastiCache for Redis

Repartitionnement en ligne et rééquilibrage de la partition pour Redis (mode cluster activé)

En utilisant le repartitionnement en ligne et le rééquilibrage des partitions avec Amazon ElastiCache for Redis version 3.2.10 ou ultérieure, vous pouvez mettre à l'échelle votre ElastiCache for Redis (mode cluster activé) dynamiquement sans aucune interruption. 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 actions suivantes :

  • Monter en puissance – Augmentez la capacité de lecture et d'écriture en ajoutant des partitions (groupes de nœuds) à votre cluster (groupe de réplication) Redis (mode cluster activé).

    Si vous ajoutez une ou plusieurs partitions à votre groupe de réplication, le nombre de nœuds de chaque nouvelle partition est identique au nombre de nœuds de la plus petite des partitions existantes.

  • Reduire en puissance – Réduisez la capacité de lecture et d'écriture, et de ce fait les coûts, en supprimant des partitions de votre cluster Redis (mode cluster activé).

  • Rééquilibrage – Déplacez les Keyspaces entre les partitions de votre cluster ElastiCache for Redis (mode cluster activé de telle sorte qu'ils soient aussi également répartis que possible entre les partitions.

Vous ne pouvez pas exécuter les actions suivantes :

  • Configurer les partitions indépendamment:

    Vous ne pouvez pas spécifier l'espace de clés des partitions indépendamment. Pour ce faire, vous devez utiliser le processus hors ligne.

Actuellement, les limitations suivantes s'appliquent au rééquilibrage et à la mise à l'échelle en ligne ElastiCache for Redis :

  • Ces processus requièrent la version du moteur Redis 3.2.10 ou version plus récente. Pour plus d'informations sur la mise à niveau de la version de votre moteur, consultez Mise à niveau des versions de moteur.

  • 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é ne peut pas faire l'objet d'une nouvelle migration lors d'une montée en charge ou d'un rééquilibrage. 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 l'agrandissement, le nombre de nœuds des nouvelles partitions est égal au nombre de nœuds de la plus petite partition existante.

  • Lors de la réduction, les balises communes à toutes les partitions existantes sont copiées sur les nouvelles partitions.

Pour plus d’informations, consultez Bonnes pratiques : redimensionnement des clusters en ligne.

Vous pouvez mettre à l'échelle horizontalement ou rééquilibrer vos clusters ElastiCache for Redis (mode cluster activé) à l'aide de la AWS Management Console, la AWS CLI et l'API ElastiCache.

Ajout de partitions avec le repartitionnement en ligne

Vous pouvez ajouter des partitions à votre cluster Redis (mode cluster activé) à l'aide de la AWS Management Console, de la AWS CLI, ou l'API ElastiCache. Lorsque vous ajoutez des partitions à un cluster Redis (mode cluster activé), les balises des partitions existantes sont copiées sur les nouvelles partitions.

Rubriques

    Vous pouvez utiliser la AWS Management Console pour ajouter une ou plusieurs partitions à votre cluster Redis (mode cluster activé). La procédure suivante décrit le processus.

    Pour ajouter des partitions à votre cluster Redis (mode cluster activé)

    1. Ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

    2. Dans le volet de navigation, choisissez Redis.

    3. Dans la liste des clusters, localisez et choisissez le nom du cluster, pas la case à gauche du nom du cluster, du cluster Redis (mode cluster activé) auquel vous souhaitez ajouter des partitions.

      Astuce

      Redis (mode cluster activé) affiche Clusterered Redis (Redis en cluster) dans la colonne Mode

    4. Choisissez Ajouter une partition.

      1. Pour Nombre de partitions à ajouter, choisissez le nombre de partitions que vous voulez ajouter au cluster.

      2. Pour Zones de disponibilité, choisissez Aucune préférence ou Spécifier les zones de disponibilité.

      3. Si vous choisissez Spécifier les zones de disponibilité, pour chaque nœud de chaque partition, sélectionnez la zone de disponibilité du nœud dans la liste Zones de disponibilité.

      4. Choisissez Add (Ajouter).

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en ajoutant des partitions à l'aide de la AWS CLI.

    Utilisez les paramètres suivants avec modify-replication-group-shard-configuration.

    Parameters

    • --apply-immediately – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • --replication-group-id – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • --node-group-count – Obligatoire. Spécifie le nombre de partitions (groupes de nœuds) qui doivent exister une fois l'opération terminée. Lors de l'ajout des partitions, la valeur de --node-group-count doit être supérieure au nombre actuel de partitions.

      Le cas échéant, vous pouvez spécifier la zone de disponibilité de chaque nœud du groupe de réplication avec --resharding-configuration.

    • --resharding-configuration – Facultatif. Liste des zones de disponibilité favorites de chaque nœud de chaque partition du groupe de réplication. N'utilisez ce paramètre que si la valeur de --node-group-count est supérieure au nombre actuel de partitions. Si ce paramètre n'est pas spécifié lors de l'ajout de partitions, Amazon ElastiCache sélectionne les zones de disponibilité des nouveaux nœuds.

    L'exemple suivant reconfigure les Keyspaces sur les autre partitions du cluster Redis (mode cluster activé) my-cluster. L'exemple spécifie aussi la zone de disponibilité de chaque nœud de chaque partition. L'opération commence immédiatement.

    Exemple - Ajout de partitions

    Pour Linux, macOS ou Unix :

    aws elasticache modify-replication-group-shard-configuration \ --replication-group-id my-cluster \ --node-group-count 4 \ --resharding-configuration \ "PreferredAvailabilityZones=us-east-2a,us-east-2c" \ "PreferredAvailabilityZones=us-east-2b,us-east-2a" \ "PreferredAvailabilityZones=us-east-2c,us-east-2d" \ "PreferredAvailabilityZones=us-east-2d,us-east-2c" \ --apply-immediately

    Pour Windows :

    aws elasticache modify-replication-group-shard-configuration ^ --replication-group-id my-cluster ^ --node-group-count 4 ^ --resharding-configuration ^ "PreferredAvailabilityZones=us-east-2a,us-east-2c" ^ "PreferredAvailabilityZones=us-east-2b,us-east-2a" ^ "PreferredAvailabilityZones=us-east-2c,us-east-2d" ^ "PreferredAvailabilityZones=us-east-2d,us-east-2c" ^ --apply-immediately

    Pour plus d'informations, consultez modify-replication-group-shard-configuration dans la documentation de l'AWS CLI.

    Vous pouvez utiliser l'API ElastiCache pour reconfigurer les partitions de votre cluster Redis (mode cluster activé) en ligne à l'aide de l'opération ModifyReplicationGroupShardConfiguration.

    Utilisez les paramètres suivants avec ModifyReplicationGroupShardConfiguration.

    Parameters

    • ApplyImmediately=true – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • ReplicationGroupId – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • NodeGroupCount – Obligatoire. Spécifie le nombre de partitions (groupes de nœuds) qui doivent exister une fois l'opération terminée. Lors de l'ajout des partitions, la valeur de NodeGroupCount doit être supérieure au nombre actuel de partitions.

      Le cas échéant, vous pouvez spécifier la zone de disponibilité de chaque nœud du groupe de réplication avec ReshardingConfiguration.

    • ReshardingConfiguration – Facultatif. Liste des zones de disponibilité favorites de chaque nœud de chaque partition du groupe de réplication. N'utilisez ce paramètre que si la valeur de NodeGroupCount est supérieure au nombre actuel de partitions. Si ce paramètre n'est pas spécifié lors de l'ajout de partitions, Amazon ElastiCache sélectionne les zones de disponibilité des nouveaux nœuds.

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en ajoutant des partitions à l'aide de l'API ElastiCache.

    Exemple - Ajout de partitions

    L'exemple suivant ajoute des groupes de nœuds au cluster Redis (mode cluster activé) my-cluster, de telle sorte qu'il existe un total de quatre groupes de nœuds lorsque l'opération se termine. L'exemple spécifie aussi la zone de disponibilité de chaque nœud de chaque partition. L'opération commence immédiatement.

    https://elasticache.us-east-2.amazonaws.com/ ?Action=ModifyReplicationGroupShardConfiguration &ApplyImmediately=true &NodeGroupCount=4 &ReplicationGroupId=my-cluster &ReshardingConfiguration.ReshardingConfiguration.1.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2a &ReshardingConfiguration.ReshardingConfiguration.1.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2c &ReshardingConfiguration.ReshardingConfiguration.2.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2b &ReshardingConfiguration.ReshardingConfiguration.2.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2a &ReshardingConfiguration.ReshardingConfiguration.3.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2c &ReshardingConfiguration.ReshardingConfiguration.3.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2d &ReshardingConfiguration.ReshardingConfiguration.4.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2d &ReshardingConfiguration.ReshardingConfiguration.4.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2c &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20171002T192317Z &X-Amz-Credential=<credential>

    Pour de plus amples informations, veuillez consulter ModifyReplicationGroupShardConfiguration dans la Référence d'API ElastiCache.

    Suppression de partitions avec le repartitionnement en ligne

    Vous pouvez supprimer des partitions de votre cluster Redis (mode cluster activé) à l'aide de la AWS Management Console, de la AWS CLI, ou l'API ElastiCache.

    Suppression de partitions (console)

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en supprimant des partitions à l'aide de la AWS Management Console.

    Avant de supprimer les groupes de nœuds (partitions) de votre groupe de réplication, ElastiCache s'assure que toutes vos données tiendront dans les partitions restantes. Si c'est le cas, les partitions spécifiées sont supprimées du groupe de réplication comme requis. Si les données ne tiennent pas dans les groupes de nœuds restants, la procédure est interrompue et le groupe de réplication est maintenu dans la même configuration de groupe de nœuds qu'avant que la demande ne soit envoyée.

    Vous pouvez utiliser la AWS Management Console pour supprimer une ou plusieurs partitions de votre cluster Redis (mode cluster activé). Vous pouvez supprimer toutes les partitions d'un groupe de réplication. Vous devez à la place supprimer l'ancien groupe de réplication. Pour plus d’informations, consultez Suppression d'un groupe de réplication. La procédure suivante décrit la suppression d'une ou plusieurs partitions.

    Pour supprimer des partitions de votre cluster Redis (mode cluster activé)

    1. Ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

    2. Dans le volet de navigation, choisissez Redis.

    3. Dans la liste des clusters, localisez et choisissez le nom du cluster, pas la case à gauche du nom du cluster, du cluster Redis (mode cluster activé) dont vous souhaitez supprimer des partitions.

      Astuce

      Les clusters Redis (mode cluster activé) ont une valeur égale ou supérieure à 1 dans la colonne Partitions.

    4. Dans la liste des partitions, cochez la case à gauche du nom de chaque partition que vous souhaitez supprimer.

    5. Choisissez Supprimer une partition.

    Suppression de partitions (AWS CLI)

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en supprimant des partitions à l'aide de la AWS CLI.

    Important

    Avant de supprimer les groupes de nœuds (partitions) de votre groupe de réplication, ElastiCache s'assure que toutes vos données tiendront dans les partitions restantes. Si c'est le cas, les partitions spécifiées (--node-groups-to-remove) sont supprimés du groupe de réplication comme demandé, puis leurs espaces de clés sont mappés dans les partitions restantes. Si les données ne tiennent pas dans les groupes de nœuds restants, la procédure est interrompue et le groupe de réplication est maintenu dans la même configuration de groupe de nœuds qu'avant que la demande ne soit envoyée.

    Vous pouvez utiliser la AWS CLI pour supprimer une ou plusieurs partitions de votre cluster Redis (mode cluster activé). Vous pouvez supprimer toutes les partitions d'un groupe de réplication. Vous devez à la place supprimer l'ancien groupe de réplication. Pour plus d’informations, consultez Suppression d'un groupe de réplication.

    Utilisez les paramètres suivants avec modify-replication-group-shard-configuration.

    Parameters

    • --apply-immediately – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • --replication-group-id – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • --node-group-count – Obligatoire. Spécifie le nombre de partitions (groupes de nœuds) qui doivent exister une fois l'opération terminée. Lors de la suppression des partitions, la valeur de --node-group-count doit être inférieure au nombre actuel de partitions.

    • --node-groups-to-remove – Obligatoire quand --node-group-count est inférieur au nombre actuel de groupes de nœuds (partitions). Liste des ID de partition (groupe de nœuds) à supprimer du groupe de réplication.

    La procédure suivante décrit la suppression d'une ou plusieurs partitions.

    Exemple – Suppression de partitions

    L'exemple suivant supprime deux groupes de nœuds du cluster Redis (mode cluster activé) my-cluster, de telle sorte qu'il existe un total de deux groupes de nœuds lorsque l'opération se termine. Les espaces de clés des partitions supprimées sont répartis également sur les partitions restantes.

    Pour Linux, macOS ou Unix :

    aws elasticache modify-replication-group-shard-configuration \ --replication-group-id my-cluster \ --node-group-count 2 \ --node-groups-to-remove "0002" "0003" \ --apply-immediately

    Pour Windows :

    aws elasticache modify-replication-group-shard-configuration ^ --replication-group-id my-cluster ^ --node-group-count 2 ^ --node-groups-to-remove "0002" "0003" ^ --apply-immediately

    Suppression des partitions (API ElastiCache)

    Vous pouvez utiliser l'API ElastiCache pour reconfigurer les partitions de votre cluster Redis (mode cluster activé) en ligne à l'aide de l'opération ModifyReplicationGroupShardConfiguration.

    La procédure suivante montre comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en supprimant des partitions à l'aide de l'API ElastiCache.

    Important

    Avant de supprimer les groupes de nœuds (partitions) de votre groupe de réplication, ElastiCache s'assure que toutes vos données tiendront dans les partitions restantes. Si c'est le cas, les partitions spécifiées (NodeGroupsToRemove) sont supprimés du groupe de réplication comme demandé, puis leurs espaces de clés sont mappés dans les partitions restantes. Si les données ne tiennent pas dans les groupes de nœuds restants, la procédure est interrompue et le groupe de réplication est maintenu dans la même configuration de groupe de nœuds qu'avant que la demande ne soit envoyée.

    Vous pouvez utiliser l'API ElastiCache pour supprimer un ou plusieurs partitions de votre cluster Redis (mode cluster activé). Vous pouvez supprimer toutes les partitions d'un groupe de réplication. Vous devez à la place supprimer l'ancien groupe de réplication. Pour plus d’informations, consultez Suppression d'un groupe de réplication.

    Utilisez les paramètres suivants avec ModifyReplicationGroupShardConfiguration.

    Parameters

    • ApplyImmediately=true – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • ReplicationGroupId – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • NodeGroupCount – Obligatoire. Spécifie le nombre de partitions (groupes de nœuds) qui doivent exister une fois l'opération terminée. Lors de la suppression des partitions, la valeur de NodeGroupCount doit être inférieure au nombre actuel de partitions.

    • NodeGroupsToRemove – Obligatoire quand --node-group-count est inférieur au nombre actuel de groupes de nœuds (partitions). Liste des ID de partition (groupe de nœuds) à supprimer du groupe de réplication.

    La procédure suivante décrit la suppression d'une ou plusieurs partitions.

    Exemple – Suppression de partitions

    L'exemple suivant supprime deux groupes de nœuds du cluster Redis (mode cluster activé) my-cluster, de telle sorte qu'il existe un total de deux groupes de nœuds lorsque l'opération se termine. Les espaces de clés des partitions supprimées sont répartis également sur les partitions restantes.

    https://elasticache.us-east-2.amazonaws.com/ ?Action=ModifyReplicationGroupShardConfiguration &ApplyImmediately=true &NodeGroupCount=2 &ReplicationGroupId=my-cluster &NodeGroupsToRemove.member.1=0002 &NodeGroupsToRemove.member.2=0003 &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20171002T192317Z &X-Amz-Credential=<credential>

    Rééquilibrage en ligne des partitions

    Vous pouvez rééquilibrer les partitions de votre cluster Redis (mode cluster activé) à l'aide de la AWS Management Console, de la AWS CLI, ou l'API ElastiCache.

    Rééquilibrage en ligne des partitions (console)

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en rééquilibrant des partitions à l'aide de la AWS Management Console.

    Pour rééquilibrer les Keyspaces entre les partitions de votre cluster Redis (mode cluster activé)

    1. Ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

    2. Dans le volet de navigation, choisissez Redis.

    3. Choisissez le nom, pas la case à gauche du nom, du cluster Redis (mode cluster activé) que vous souhaitez rééquilibrer.

      Astuce

      Les clusters Redis (mode cluster activé) ont une valeur égale ou supérieure à 1 dans la colonne Partitions.

    4. Choisissez Rééquilibrer.

    5. À l'invite, choisissez Rééquilibrer. Un message similaire à celui-ci peut apparaître : Les emplacements du groupe de réplication sont uniformément répartis. Vous n'avez rien à faire. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidReplicationGroupState; Request ID: 2246cebd-9721-11e7-8d5b-e1b0f086c8cf). Sinon, choisissez Annuler.

    Rééquilibrage des partitions en ligne (AWS CLI)

    Utilisez les paramètres suivants avec modify-replication-group-shard-configuration.

    Parameters

    • -apply-immediately – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • --replication-group-id – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • --node-group-count – Obligatoire. Pour rééquilibrer l'espace de clés entre toutes les partitions du cluster, cette valeur doit être identique au nombre actuel de partitions.

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en rééquilibrant des partitions à l'aide de la AWS CLI.

    Exemple – Rééquilibrage des partitions d'un cluster

    L'exemple suivant rééquilibre les emplacements du cluster Redis (mode cluster activé) my-cluster de telle sorte que les emplacements soient répartis aussi également que possible. La valeur de --node-group-count (4) est le nombre de partitions actuellement dans le cluster.

    Pour Linux, macOS ou Unix :

    aws elasticache modify-replication-group-shard-configuration \ --replication-group-id my-cluster \ --node-group-count 4 \ --apply-immediately

    Pour Windows :

    aws elasticache modify-replication-group-shard-configuration ^ --replication-group-id my-cluster ^ --node-group-count 4 ^ --apply-immediately

    Rééquilibrage des partitions en ligne (API ElastiCache)

    Vous pouvez utiliser l'API ElastiCache pour reconfigurer les partitions de votre cluster Redis (mode cluster activé) en ligne à l'aide de l'opération ModifyReplicationGroupShardConfiguration.

    Utilisez les paramètres suivants avec ModifyReplicationGroupShardConfiguration.

    Parameters

    • ApplyImmediately=true – Obligatoire. Spécifie que l'opération de reconfiguration des partitions doit démarrer immédiatement.

    • ReplicationGroupId – Obligatoire. Spécifie sur quel groupe de réplication (cluster) l'opération de reconfiguration des partitions doit être exécutée.

    • NodeGroupCount – Obligatoire. Pour rééquilibrer l'espace de clés entre toutes les partitions du cluster, cette valeur doit être identique au nombre actuel de partitions.

    La procédure suivante décrit comment reconfigurer les partitions de votre cluster Redis (mode cluster activé) en rééquilibrant les partitions à l'aide de l'API ElastiCache.

    Exemple – Rééquilibrage d'un cluster

    L'exemple suivant rééquilibre les emplacements du cluster Redis (mode cluster activé) my-cluster de telle sorte que les emplacements soient répartis aussi également que possible. La valeur de NodeGroupCount (4) est le nombre de partitions actuellement dans le cluster.

    https://elasticache.us-east-2.amazonaws.com/ ?Action=ModifyReplicationGroupShardConfiguration &ApplyImmediately=true &NodeGroupCount=4 &ReplicationGroupId=my-cluster &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20171002T192317Z &X-Amz-Credential=<credential>