Pourquoi ne puis-je pas réduire la taille de mon cluster ElastiCache ?

Dernière mise à jour : 28/06/2022

Pourquoi ne puis-je pas réduire la taille de mon cluster Amazon ElastiCache ?

Solution

Si vous ne parvenez pas à réduire la taille de votre cluster, vérifiez les éléments suivants :

Taille des données du cache

Le nouveau type de nœud ne dispose peut-être pas de suffisamment de mémoire pour stocker les données du cache. Chaque nœud ElastiCache dispose d'une quantité de mémoire dédiée réservée au moteur Redis. Par exemple, le type de nœud cache.m5.xlarge possède 12,93 Gio de stockage. Par défaut, ElastiCache réserve 25 % de la mémoire totale pour les tâches administratives telles que la synchronisation complète et la création d'instantanés. Vous pouvez modifier ce pourcentage à l'aide du paramètre reserved-memory-percent.

Pour obtenir la liste des types de nœuds et des quantités de stockage, reportez-vous à la section Tarification d'Amazon ElastiCache.

En utilisant le nœud cache.m5.xlarge comme exemple, le moteur Redis peut utiliser 9,69 Gio (mémoire maximale) pour conserver l'espace de clé. La mémoire restante est conservée en tant que mémoire de réserve. Votre type de nœud actuel utilise toute la mémoire disponible pour les données. Le nouveau type de nœud fournit moins de 9,69 Gio de mémoire. C'est pourquoi la réduction de la taille échoue.

Utilisez la commande info memory pour vérifier l'utilisation de la mémoire indiquée dans les paramètres used_memory et maxmemory du nœud. Notez que la commande info memory affiche la mémoire en « Go ». La page de tarification d'Amazon ElastiCache affiche la mémoire en « Gio ».

test.xm4oz6.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:5579416
used_memory_human:5.32M
used_memory_rss:11218944
used_memory_rss_human:10.70M
used_memory_peak:5856480
used_memory_peak_human:5.59M
maxmemory:10418941287
maxmemory_human:9.70G

S'il n'y a pas assez de mémoire disponible sur le nœud, réduisez vos données de cache. Vous pouvez également choisir un type de nœud doté d'une plus grande capacité.

Types de nœuds disponibles

Déterminez les types de nœuds que vous pouvez sélectionner parmi votre type de nœud actuel lors de l'augmentation ou de la réduction de la taille. Pour ce faire, vous pouvez utiliser l'appel d'API ListAllowedNodeTypeModifications. Cet appel d'API répertorie tous les types de nœuds disponibles sur lesquels vous pouvez mettre à l'échelle le type de nœud actuel de votre cluster Redis ou de votre groupe de réplication.

Pour afficher les types de nœuds disponibles pour votre cluster Redis, exécutez l'appel d'API ListAllowedNodeTypeModifications à partir de l'interface de la ligne de commande AWS (AWS CLI). La liste qui en résulte affiche les types de nœuds sur lesquels vous pouvez effectuer une mise à l'échelle.

Remarque : si vous recevez des erreurs lors de l'exécution de commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d'AWS CLI.

$aws elasticache list-allowed-node-type-modifications --replication-group-id checkout-cache-test

{
  "ScaleUpModifications": [
    "cache.r4.16xlarge",
    "cache.r5.12xlarge",
    "cache.r5.24xlarge",
    "cache.r5.4xlarge"
  ],
  "ScaleDownModifications": [
    "cache.m3.2xlarge",
    "cache.m3.large",
    "cache.m3.medium",
    "cache.m3.xlarge",
    "cache.m4.2xlarge",
    "cache.m4.4xlarge",
    "cache.m4.large",
    "cache.m4.xlarge",
    "cache.r3.2xlarge",
    "cache.r3.large",
    "cache.r3.xlarge",
    "cache.r4.2xlarge",
    "cache.r4.large",
    "cache.r4.xlarge",
    "cache.t2.medium",
    "cache.t2.micro",
    "cache.t2.small",
    "cache.t3.medium",
    "cache.t3.micro",
    "cache.t3.small"
  ]
}

Remarque : le temps nécessaire pour passer à un type de nœud plus petit dépend de votre type de nœud et de la quantité de données dans votre cluster de cache actuel.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?