Réduction de la taille des clusters Redis OSS grâce à des répliques - Amazon ElastiCache (RedisOSS)

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.

Réduction de la taille des clusters Redis OSS grâce à des répliques

Les sections suivantes vous expliquent comment redimensionner un cluster de cache Redis OSS (mode cluster désactivé) avec des nœuds de réplication jusqu'à 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 que vous disposez de suffisamment de mémoire pour créer un instantané Redis OSS.

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 est utilisé reserved-memory pour réserver de la mémoire pour la surcharge de Redis OSS, avant de commencer le dimensionnement, assurez-vous de disposer d'un groupe de paramètres personnalisé qui réserve la quantité de mémoire correcte pour 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 fait évoluer votre cluster Redis OSS avec des nœuds de réplication vers un type de nœud plus petit à l'aide de la ElastiCache console.

    Pour réduire la taille d'un cluster Redis OSS avec des nœuds de réplication (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 est utilisé reserved-memory pour réserver de la mémoire pour la surcharge de Redis OSS, assurez-vous de disposer d'un groupe de paramètres personnalisé pour réserver la quantité de mémoire appropriée pour 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 ElastiCache console AWS Management Console et ouvrez-la à 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 OSS et non le moteur Redis OSS en cluster.

    5. Sélectionnez 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 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 (Redis OSS) 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 OSS 5.0.5 et versions ultérieures, vous pouvez faire évoluer les clusters compatibles avec le basculement automatique pendant que le cluster continue de rester en ligne et de traiter les demandes entrantes. Sur les versions 4.0.10 ou antérieures, 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 la taille d'un groupe de réplication Redis OSS ()AWS CLI
    1. Déterminez les types de nœuds que vous pouvez réduire en exécutant la AWS CLI list-allowed-node-type-modifications commande 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. Adaptez votre groupe de réplication actuel au nouveau type de nœud à l'aide de la AWS CLI modify-replication-group commande 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 --apply-immediately paramètre, surveillez l'état du groupe de réplication à l'aide de la AWS CLI describe-replication-group commande 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, reportez-vous describe-replication-groupsà la section AWS CLI Référence.

    Le processus suivant fait passer votre groupe de réplication de son type de nœud actuel à un nouveau type de nœud plus petit à l'aide de l' ElastiCache API. Au cours de ce processus, ElastiCache (Redis OSS) 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 OSS 5.0.5 et versions ultérieures, vous pouvez faire évoluer les clusters compatibles avec le basculement automatique pendant que le cluster continue de rester en ligne et de traiter les demandes entrantes. Sur les versions 4.0.10 ou antérieures, 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 la taille d'un groupe de réplication Redis OSS (ElastiCache API)
    1. Déterminez les types de nœuds que vous pouvez réduire à l'aide de l'ListAllowedNodeTypeModificationsaction d' ElastiCache API 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, consultez ListAllowedNodeTypeModifications le Amazon ElastiCache API Reference.

    2. Adaptez votre groupe de réplication actuel au nouveau type de nœud à l'aide de l'action ModifyRedplicationGroup ElastiCache API et avec les 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, consultez ModifyReplicationGroup le Amazon ElastiCache API Reference.

    3. Si vous l'avez utilisé ApplyImmediately=true, surveillez l'état du groupe de réplication à l'aide de l'DescribeReplicationGroupsaction ElastiCache API 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, consultez DescribeReplicationGroups le Amazon ElastiCache API Reference.