Dimensionnement ElastiCache - Amazon ElastiCache

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.

Dimensionnement ElastiCache

Vous pouvez adapter votre ElastiCache cache à vos besoins. Les caches sans serveur et les clusters conçus par nos soins offrent plusieurs options de mise à l'échelle.

Mise à l'échelle ElastiCache sans serveur

ElastiCache Serverless s'adapte automatiquement au trafic de votre charge de travail à mesure qu'il augmente ou diminue. Pour chaque cache ElastiCache sans serveur, suit ElastiCache en permanence l'utilisation des ressources telles que CPU la mémoire et le réseau. Lorsque l'une de ces ressources est limitée, ElastiCache Serverless évolue en ajoutant une nouvelle partition et en redistribuant les données vers la nouvelle partition, sans aucune interruption de service pour votre application. Vous pouvez surveiller les ressources consommées par votre cache en CloudWatch surveillant la BytesUsedForCache métrique pour le stockage des données du cache et ElastiCacheProcessingUnits (ECPU) pour l'utilisation du calcul.

Définition de limites de mise à l’échelle pour gérer les coûts

Vous pouvez choisir de configurer une utilisation maximale à la fois pour le stockage des données du cache et pour ECPU /seconde pour votre cache afin de contrôler les coûts du cache. Cela garantira que l’utilisation de votre cache ne dépassera jamais l’utilisation maximale configurée.

Si vous définissez un maximum de dimensionnement, votre application risque de connaître une baisse des performances du cache lorsque celui-ci atteint le maximum. Lorsque vous définissez un maximum de stockage de données en cache et que votre stockage de données en cache atteint le maximum, ElastiCache les données de votre cache pour lesquelles un Time-To-Live (TTL) est défini commencent à être expulsées, en utilisant la LRU logique. Si aucune donnée ne peut être expulsée, les demandes d'écriture de données supplémentaires recevront un message d'erreur Out Of Memory (OOM). Lorsque vous définissez un maximum de ECPU /second et que l'utilisation de calcul de votre charge de travail dépasse cette valeur, ElastiCache les demandes commencent à être limitées.

Si vous définissez une limite maximale sur BytesUsedForCache ouElastiCacheProcessingUnits, nous vous recommandons vivement de configurer une CloudWatch alarme à une valeur inférieure à la limite maximale afin que vous soyez averti lorsque votre cache fonctionne à proximité de ces limites. Nous vous recommandons de définir une alarme à 75 % de la limite maximale que vous avez définie. Consultez la documentation pour savoir comment configurer les CloudWatch alarmes.

Pré-dimensionnement avec Serverless ElastiCache

ElastiCache Prédimensionnement sans serveur

Avec le prédimensionnement, également appelé préchauffage, vous pouvez définir des limites minimales prises en charge pour votre ElastiCache cache. Vous pouvez définir ces minimums pour les unités de ElastiCache traitement (ECPUs) par seconde ou pour le stockage des données. Cela peut être utile pour préparer les événements de mise à l'échelle prévus. Par exemple, si une société de jeux prévoit une multiplication par 5 du nombre de connexions dès la première minute de lancement de son nouveau jeu, elle peut préparer son cache pour cette augmentation significative de l'utilisation.

Vous pouvez effectuer un pré-dimensionnement à l'aide de la ElastiCache consoleCLI, ouAPI. ElastiCache Serverless met à jour le ECPUs /seconde disponible sur le cache dans les 60 minutes et envoie une notification d'événement lorsque la mise à jour de la limite minimale est terminée.

Comment fonctionne le pré-dimensionnement

Lorsque la limite minimale de ECPUs /seconde ou de stockage de données est mise à jour via la console CLIAPI, ou lorsque cette nouvelle limite est disponible dans un délai d'une heure. ElastiCache Serverless prend en charge 30 000 ECPUs €/seconde sur un cache vide, et jusqu'à 90 ECPUs 000/sec lors de l'utilisation de la fonction Read from Replica. ElastiCache peut doubler ECPUs /seconde toutes les 10 à 12 minutes. Cette vitesse de mise à l'échelle est suffisante pour la plupart des charges de travail. Si vous prévoyez qu'un événement de dimensionnement à venir pourrait dépasser ce taux, nous vous recommandons de définir le minimum ECPUs /seconde par rapport au pic ECPUs /sec attendu au moins 60 minutes avant l'événement de pointe. Dans le cas contraire, l'application risque de connaître une latence élevée et un ralentissement des demandes.

Une fois la mise à jour de la limite minimale terminée, ElastiCache Serverless commencera à vous mesurer pour le nouveau minimum ECPUs par seconde ou le nouveau minimum de stockage. Cela se produit même si votre application n'exécute pas de requêtes dans le cache ou si votre utilisation du stockage de données est inférieure au minimum. Lorsque vous abaissez la limite minimale par rapport à son paramètre actuel, la mise à jour est immédiate, de sorte que ElastiCache Serverless commence immédiatement à mesurer la nouvelle limite minimale.

Note
  • Lorsque vous définissez une limite d'utilisation minimale, celle-ci vous est facturée même si votre utilisation réelle est inférieure à la limite d'utilisation minimale. ECPUou l'utilisation du stockage de données qui dépasse la limite d'utilisation minimale est facturée au tarif normal. Par exemple, si vous définissez une limite d'utilisation minimale de 100 000 ECPUs €/seconde, vous serez facturé au moins 1,224$ par heure (en utilisant ECPU les prix indiqués dans us-east-1), même si votre utilisation est inférieure à ce minimum défini.

  • ElastiCache Serverless prend en charge l'échelle minimale requise au niveau agrégé du cache. ElastiCache Serverless prend également en charge un maximum de 30 000 ECPUs €/seconde par slot (90 ECPUs 000/seconde lors de l'utilisation de Read from Replica à l'aide de connexions). READONLY Il est recommandé que votre application veille à ce que la distribution des clés entre les OSS emplacements Valkey ou Redis et le trafic entre les clés soient aussi uniformes que possible.

Définition des limites de mise à l'échelle à l'aide de la console et AWS CLI

Définition des limites de dimensionnement à l'aide de la AWS console

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

  2. Dans le volet de navigation, choisissez le moteur s’exécutant sur le cache que vous voulez modifier.

  3. La liste des caches exécutant le moteur choisi s’affiche.

  4. Choisissez le cache à modifier en cliquant sur le bouton d’option situé à gauche du nom du cache.

  5. Choisissez Actions, puis Modifier.

  6. Sous Limites d'utilisation, définissez les limites de mémoire ou de calcul appropriées.

  7. Cliquez sur Prévisualiser les modifications, puis sur Enregistrer les modifications.

Définition des limites d'échelle à l'aide du AWS CLI

Pour modifier les limites de mise à l'échelle à l'aide duCLI, utilisez le modify-serverless-cacheAPI.

Linux :

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Suppression des limites d'échelle à l'aide du CLI

Pour supprimer les limites de mise à l'échelle à l'aide duCLI, définissez les paramètres de limite minimale et maximale sur 0.

Linux :

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'