Réduction des clusters Redis avec réplicas - Amazon ElastiCache for Redis

Réduction des clusters Redis avec réplicas

Les sections suivantes vous guident à travers la mise à l'échelle d'un cluster de cache Redis (mode cluster désactivé) avec des nœuds de réplica vers un type de nœud plus petit. Pour des raisons de performances, il faut s'assurer que le nouveau type de nœud plus petit a une capacité suffisante pour supporter toutes les données et les besoins de traitement. Pour plus d’informations, consultez S'assurer d'avoir suffisamment de mémoire pour créer un instantané Redis.

Note

Pour les clusters exécutant le type de nœud r6gd, vous pouvez uniquement mettre à l’échelle en fonction des tailles de nœuds au sein de la famille de nœuds r6gd.

Important

Si votre groupe de paramètres utilise reserved-memory afin de mettre de côté de la mémoire pour la surcharge Redis, avant de commencer la mise à l'échelle, vous devez veiller à disposer d'un groupe de paramètres personnalisé qui réserve la quantité de mémoire nécessaire à votre nouveau type de nœud. Vous pouvez aussi modifier un groupe de paramètres personnalisé de façon à ce qu'il utilise reserved-memory-percent et vous servir de ce groupe de paramètres pour votre nouveau cluster.

Si vous utilisez reserved-memory-percent, cette opération n'est pas nécessaire.

Pour plus d’informations, consultez Gestion de la mémoire réservée.

Rubriques

    Le processus suivant dimensionne votre cluster Redis avec nœuds de réplica vers un nouveau type de nœud plus petit à l'aide de la console ElastiCache.

    Pour réduire un cluster Redis avec nœuds de réplica (console)

    1. Assurez-vous que le type de nœud plus petit soit suffisant pour supporter vos données et les besoins de traitement.

    2. Si votre groupe de paramètres utilise reserved-memory afin de mettre de côté de la mémoire pour la surcharge Redis, vous devez veiller à disposer d'un groupe de paramètres personnalisé pour mettre de côté la quantité de mémoire nécessaire à votre nouveau type de nœud.

      Vous pouvez aussi modifier votre groupe de paramètres personnalisé de façon à utiliser reserved-memory-percent. Pour plus d’informations, consultez Gestion de la mémoire réservée.

    3. Connectez-vous à la AWS Management Console et ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

    4. Dans la liste des clusters, choisissez le cluster que dont vous souhaitez baisser la capacité. Ce cluster doit exécuter le moteur Redis et non le moteur Clustered Redis.

    5. Sélectionnez Modify (Modifier).

    6. Dans l'assistant Modifier le cluster :

      1. Choisissez le type de nœud dont vous souhaitez baisser la capacité dans la liste Type de nœud.

      2. Si vous utilisez reserved-memory pour gérer la mémoire, dans la liste Groupe de paramètres, choisissez le groupe de paramètres personnalisé qui réserve la quantité de mémoire nécessaire à votre nouveau type de nœud.

    7. Si vous souhaitez effectuer le processus de diminution de la capacité immédiatement, choisissez la case Apply immediately. Si la case Apply immediately est décochée, le processus de diminution de la capacité est effectué lors du créneau de maintenance suivant du cluster.

    8. Sélectionnez Modify (Modifier).

    9. Lorsque le statut du cluster passe de modifying à available, cela signifie que votre cluster est passé au nouveau type de nœud. Il n'est pas nécessaire de mettre à jour les points de terminaison dans votre application.

    Le processus suivant met à l'échelle votre groupe de réplication à partir de son type de nœud actuel vers un nouveau type de nœud plus petit à l'aide de l' AWS CLI. Au cours de ce processus, ElastiCache for Redis met à jour les entrées DNS afin qu'elles pointent vers les nouveaux nœuds. Ainsi, vous n'aurez plus besoin de mettre à jour les points de terminaison de votre application. Pour Redis 5.0.5 ou version ultérieure, vous pouvez mettre à l'échelle les clusters avec basculement automatique activé pendant que le cluster continue de rester en ligne et d'exécuter les demandes entrantes. Sur la version 5.0.4 ou antérieure, vous pouvez remarquer une brève interruption des lectures et des écritures sur les versions précédentes à partir du nœud primaire pendant que l'entrée DNS est mise à jour.

    Toutefois, les lectures des clusters de cache des réplicas en lecture continuent sans interruption.

    La durée nécessaire à la réduction vers un type de nœud plus petit varie selon le type de nœud et la quantité de données dans votre cluster de cache actuel.

    Pour réduire un groupe de réplication Redis (AWS CLI)

    1. Déterminez les types de nœud que vous voulez réduire en exécutant la commande AWS CLI de l'list-allowed-node-type-modifications avec le paramètre suivant.

      • --replication-group-id – Le nom du groupe de réplication. Utilisez ce paramètre pour décrire un groupe de réplication particulier plutôt que tous les groupes de réplication.

      Pour Linux, macOS ou Unix :

      aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-repl-group

      Pour Windows :

      aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-repl-group

      Le résultat de cette opération doit ressembler à ce qui suit (format JSON).

      { "ScaleDownModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] }

      Pour plus d'informations, consultez list-allowed-node-type-modifications dans la référence AWS CLI.

    2. Dimensionnez votre groupe de réplication actuel vers le nouveau type de nœud à l'aide de la commande AWS CLI de l'modify-replication-group avec les paramètres suivants.

      • --replication-group-id – Le nom du groupe de réplication.

      • --cache-node-type – le nouveau type de nœud plus petit des clusters de cache dans ce groupe de réplication. Cette valeur doit correspondre à l'un des types d'instance renvoyés par la commande list-allowed-node-type-modifications lors de l'étape 1.

      • --cache-parameter-group-name – [Facultatif] Utilisez ce paramètre si vous avez recours à reserved-memory pour gérer la mémoire réservée de votre cluster. Spécifiez un groupe de paramètres de cache personnalisé qui réserve la quantité de mémoire nécessaire à votre nouveau type de nœud. Si vous utilisez reserved-memory-percent, vous pouvez omettre ce paramètre.

      • --apply-immediately – Ce paramètre entraîne l'application immédiate du processus d'augmentation. Pour reporter l'opération de mise à l'échelle au créneau de maintenance suivant, utilisez --no-apply-immediately.

      Pour Linux, macOS ou Unix :

      aws elasticache modify-replication-group \ --replication-group-id my-repl-group \ --cache-node-type cache.t2.small \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Pour Windows :

      aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.t2.small ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Le résultat de cette commande doit ressembler à ce qui suit (format JSON).

      {"ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } } ], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002", ], "PendingModifiedValues": {} } }

      Pour plus d'informations, consultez modify-replication-group dans la référence AWS CLI.

    3. Si vous avez utilisé le paramètre --apply-immediately, surveillez l'état du groupe de réplication à l'aide de la commande AWS CLI de l'describe-replication-group avec le paramètre suivant. Lorsque le statut passe de modification à disponible, vous pouvez commencer à écrire dans votre nouveau groupe de réplication réduit.

      • --replication-group-id – Le nom du groupe de réplication. Utilisez ce paramètre pour décrire un groupe de réplication particulier plutôt que tous les groupes de réplication.

      Pour Linux, macOS ou Unix :

      aws elasticache describe-replication-group \ --replication-group-id my-replication-group

      Pour Windows :

      aws elasticache describe-replication-groups ^ --replication-group-id my-replication-group

      Pour plus d'informations, consultez describe-replication-groups dans la Référence de l'AWS CLI.

    Le processus suivant dimensionne votre groupe de réplication à partir de son type de nœud actuel vers un nouveau type de nœud plus petit à l'aide de l'API ElastiCache. Au cours de ce processus, ElastiCache for Redis met à jour les entrées DNS afin qu'elles pointent vers les nouveaux nœuds. Ainsi, vous n'aurez plus besoin de mettre à jour les points de terminaison de votre application. Pour Redis 5.0.5 ou version ultérieure, vous pouvez mettre à l'échelle les clusters avec basculement automatique activé pendant que le cluster continue de rester en ligne et d'exécuter les demandes entrantes. Sur la version 5.0.4 ou antérieure, vous pouvez remarquer une brève interruption des lectures et des écritures sur les versions précédentes à partir du nœud primaire pendant que l'entrée DNS est mise à jour. Toutefois, les lectures des clusters de cache des réplicas en lecture continuent sans interruption.

    La durée nécessaire à la réduction vers un type de nœud plus petit varie selon le type de nœud et la quantité de données dans votre cluster de cache actuel.

    Pour rédurie un groupe de réplication Redis (API ElastiCache)

    1. Déterminez les types de nœud que vous voulez réduire à l'aide de l'action ListAllowedNodeTypeModifications de l'API ElastiCache avec le paramètre suivant.

      • ReplicationGroupId – Le nom du groupe de réplication. Utilisez ce paramètre pour décrire un groupe de réplication spécifique plutôt que tous les groupes de réplication.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

      Pour plus d'informations, voir ListAllowedNodeTypeModifications dans la référence d’API Amazon ElastiCache.

    2. Dimensionnez votre groupe de réplication actuel vers le nouveau type de nœud à l'aide de l'action ModifyRedplicationGroup de l'API ElastiCache et des paramètres suivants.

      • ReplicationGroupId – Le nom du groupe de réplication.

      • CacheNodeType – le nouveau type de nœud plus petit des clusters de cache dans ce groupe de réplication. Cette valeur doit correspondre à l'un des types d'instance renvoyés par l'action ListAllowedNodeTypeModifications lors de l'étape 1.

      • CacheParameterGroupName – [Facultatif] Utilisez ce paramètre si vous avez recours à reserved-memory pour gérer la mémoire réservée de votre cluster. Spécifiez un groupe de paramètres de cache personnalisé qui réserve la quantité de mémoire nécessaire à votre nouveau type de nœud. Si vous utilisez reserved-memory-percent, vous pouvez omettre ce paramètre.

      • ApplyImmediately – Lorsqu'il est défini sur true, il entraîne l'application immédiate du processus d'augmentation. Pour reporter le processus de réduction à la prochaine fenêtre de maintenance, utilisez ApplyImmediately=false.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

      Pour plus d'informations, voir ModifyReplicationGroup dans la référence d’API Amazon ElastiCache.

    3. Si vous avez utilisé le paramètre ApplyImmediately=true, surveillez l'état du groupe de réplication à l'aide de l'action DescribeReplicationGroups de l'API ElastiCache avec les paramètres suivants. Lorsque le statut passe de modification à disponible, vous pouvez commencer à écrire dans votre nouveau groupe de réplication réduit.

      • ReplicationGroupId – Le nom du groupe de réplication. Utilisez ce paramètre pour décrire un groupe de réplication particulier plutôt que tous les groupes de réplication.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

      Pour plus d'informations, voir DescribeReplicationGroups dans la référence d’API Amazon ElastiCache.