Mise à l’échelle du cache Azure pour RedisHow to Scale Azure Cache for Redis

Le cache Azure pour Redis offre différents types de caches, permettant de choisir parmi plusieurs tailles et fonctionnalités de cache en toute flexibilité.Azure Cache for Redis has different cache offerings, which provide flexibility in the choice of cache size and features. Après la création d’un cache, vous pouvez mettre à l’échelle la taille et le niveau de tarification du cache si les exigences de votre application changent.After a cache is created, you can scale the size and the pricing tier of the cache if the requirements of your application change. Cet article montre comment mettre à l’échelle votre cache à l’aide du portail Azure et d’outils tels qu’Azure PowerShell et Azure CLI.This article shows you how to scale your cache using the Azure portal, and tools such as Azure PowerShell, and Azure CLI.

Quand mettre à l’échelle ?When to scale

Les fonctionnalités de surveillance du cache Azure pour Redis permettent de surveiller l’intégrité et les performances de votre cache et de déterminer la nécessité de le mettre à l’échelle.You can use the monitoring features of Azure Cache for Redis to monitor the health and performance of your cache and help determine when to scale the cache.

Vous pouvez surveiller les mesures suivantes pour déterminer si vous avez besoin d’effectuer une mise à l’échelle.You can monitor the following metrics to help determine if you need to scale.

  • Charge du serveur RedisRedis Server Load
  • Utilisation de la mémoireMemory Usage
  • Bande passante réseauNetwork Bandwidth
  • Utilisation du processeurCPU Usage

Si vous déterminez que votre cache ne répond plus aux besoins de votre application, vous pouvez passer à un niveau de tarification de cache plus important ou plus réduit, adapté à votre application.If you determine that your cache is no longer meeting your application's requirements, you can scale to a larger or smaller cache pricing tier that is right for your application. Pour plus d’informations sur la détermination des niveaux de tarification de cache à utiliser, consultez la section Quelle offre et quelle taille de cache Azure pour Redis utiliser ?.For more information on determining which cache pricing tier to use, see What Azure Cache for Redis offering and size should I use.

Mise à l’échelle d’un cacheScale a cache

Pour mettre à l’échelle votre cache, accédez au cache dans le portail Azure, puis cliquez sur Mettre à l’échelle dans le menu Ressources.To scale your cache, browse to the cache in the Azure portal and click Scale from the Resource menu.

Scale

Sélectionnez le niveau de tarification souhaité dans le panneau Sélectionner un niveau tarifaire, puis cliquez sur Sélectionner.Select the desired pricing tier from the Select pricing tier blade and click Select.

Niveau tarifaire

Vous pouvez choisir un niveau tarifaire différent avec les restrictions suivantes :You can scale to a different pricing tier with the following restrictions:

  • Vous ne pouvez pas passer d’un niveau de tarification supérieur à un niveau de tarification inférieur.You can't scale from a higher pricing tier to a lower pricing tier.
    • Vous ne pouvez pas passer d’un cache Premium à un cache Standard ou De base.You can't scale from a Premium cache down to a Standard or a Basic cache.
    • Vous ne pouvez pas passer d’un cache Standard à un cache De base.You can't scale from a Standard cache down to a Basic cache.
  • Vous pouvez passer d’un cache De base à un cache Standard, mais vous ne pouvez pas modifier la taille en même temps.You can scale from a Basic cache to a Standard cache but you can't change the size at the same time. Si vous avez besoin d'une taille différente, vous pouvez effectuer ultérieurement une opération de mise à l'échelle vers la taille voulue.If you need a different size, you can do a subsequent scaling operation to the desired size.
  • Vous ne pouvez pas passer directement d’un cache De base à un cache Premium.You can't scale from a Basic cache directly to a Premium cache. Vous devez commencer par passer du niveau De base au niveau Standard en une opération de mise à l’échelle, puis du niveau Standard au niveau Premium en une deuxième opération.First, scale from Basic to Standard in one scaling operation, and then from Standard to Premium in a subsequent scaling operation.
  • Vous ne pouvez pas mettre à l’échelle depuis une taille supérieure vers la taille C0 (250 Mo) .You can't scale from a larger size down to the C0 (250 MB) size.

Lorsqu’un cache est mis à l’échelle vers un nouveau niveau tarifaire, le statut Mise à l’échelle s’affiche sur le panneau Cache Azure pour Redis.While the cache is scaling to the new pricing tier, a Scaling status is displayed in the Azure Cache for Redis blade.

Mise à l'échelle

Une fois la mise à l’échelle terminée, le statut passe de Mise à l’échelle à En cours d’exécution.When scaling is complete, the status changes from Scaling to Running.

Automatisation d’une opération de mise à l’échelleHow to automate a scaling operation

En plus de la mise à l’échelle de vos instances de cache dans le portail Azure, vous pouvez effectuer une mise à l’échelle en utilisant les applets de commande PowerShell, l’interface de ligne de commande Azure et les Bibliothèques de gestion Microsoft Azure (MAML).In addition to scaling your cache instances in the Azure portal, you can scale using PowerShell cmdlets, Azure CLI, and by using the Microsoft Azure Management Libraries (MAML).

Mise à l’échelle à l’aide de PowerShellScale using PowerShell

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Vous pouvez mettre à l’échelle vos instances de cache Azure pour Redis avec PowerShell à l’aide de la cmdlet Set-AzRedisCache lorsque les propriétés Size, Sku ou ShardCount sont modifiées.You can scale your Azure Cache for Redis instances with PowerShell by using the Set-AzRedisCache cmdlet when the Size, Sku, or ShardCount properties are modified. L’exemple suivant montre comment mettre à l’échelle un cache nommé myCache vers un cache de 2,5 Go.The following example shows how to scale a cache named myCache to a 2.5 GB cache.

Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 2.5GB

Pour plus d’informations sur la mise à l’échelle avec PowerShell, consultez Pour mettre à l’échelle un cache Azure pour Redis à l’aide de PowerShell.For more information on scaling with PowerShell, see To scale an Azure Cache for Redis using Powershell.

Mise à l’échelle à l’aide de l’interface de ligne de commande AzureScale using Azure CLI

Pour mettre à l’échelle vos instances de cache Azure pour Redis à l’aide de l’interface de ligne de commande Azure, appelez la commande azure rediscache set et transmettez les modifications de configuration souhaitées qui incluent une nouvelle taille, la référence (SKU) ou la taille de cluster, en fonction de l’opération de mise à l’échelle souhaitée.To scale your Azure Cache for Redis instances using Azure CLI, call the azure rediscache set command and pass in the desired configuration changes that include a new size, sku, or cluster size, depending on the desired scaling operation.

Pour plus d’informations sur la mise à l’échelle avec l’interface de ligne de commande Azure, consultez Modification des paramètres d’un cache Azure pour Redis existant.For more information on scaling with Azure CLI, see Change settings of an existing Azure Cache for Redis.

Mise à l’échelle à l’aide de MAMLScale using MAML

Pour mettre à l’échelle vos instances du cache Azure pour Redis à l’aide des Bibliothèques de gestion Microsoft Azure (MAML), appelez la méthode IRedisOperations.CreateOrUpdate et transmettez la nouvelle taille de RedisProperties.SKU.Capacity.To scale your Azure Cache for Redis instances using the Microsoft Azure Management Libraries (MAML), call the IRedisOperations.CreateOrUpdate method and pass in the new size for the RedisProperties.SKU.Capacity.

static void Main(string[] args)
{
    // For instructions on getting the access token, see
    // https://azure.microsoft.com/documentation/articles/cache-configure/#access-keys
    string token = GetAuthorizationHeader();

    TokenCloudCredentials creds = new TokenCloudCredentials(subscriptionId,token);

    RedisManagementClient client = new RedisManagementClient(creds);
    var redisProperties = new RedisProperties();

    // To scale, set a new size for the redisSKUCapacity parameter.
    redisProperties.Sku = new Sku(redisSKUName,redisSKUFamily,redisSKUCapacity);
    redisProperties.RedisVersion = redisVersion;
    var redisParams = new RedisCreateOrUpdateParameters(redisProperties, redisCacheRegion);
    client.Redis.CreateOrUpdate(resourceGroupName,cacheName, redisParams);
}

Pour plus d’informations, consultez l’exemple Gestion du cache Azure pour Redis en utilisant les bibliothèques de gestion Microsoft Azure .For more information, see the Manage Azure Cache for Redis using MAML sample.

FAQ sur la mise à l’échelleScaling FAQ

La liste suivante présente différentes réponses aux questions les plus fréquemment posées sur la mise à l’échelle du cache Azure pour Redis.The following list contains answers to commonly asked questions about Azure Cache for Redis scaling.

Puis-je mettre à l’échelle vers, depuis ou au sein d’un cache Premium ?Can I scale to, from, or within a Premium cache?

  • Vous ne pouvez pas passer d’un niveau tarifaire de cache Premium à un niveau tarifaire De base ou Standard.You can't scale from a Premium cache down to a Basic or Standard pricing tier.

  • Vous pouvez passer d’un niveau tarifaire de cache Premium à un autre.You can scale from one Premium cache pricing tier to another.

  • Vous ne pouvez pas passer directement d’un cache De base à un cache Premium.You can't scale from a Basic cache directly to a Premium cache. Vous devez commencer par passer du niveau De base au niveau Standard en une opération de mise à l’échelle, puis du niveau Standard au niveau Premium en une deuxième opération.First, scale from Basic to Standard in one scaling operation, and then from Standard to Premium in a subsequent scaling operation.

  • Si vous avez activé le clustering lorsque vous avez créé votre cache Premium , vous pouvez changer la taille du cluster.If you enabled clustering when you created your Premium cache, you can change the cluster size. Si votre cache a été créé sans que le clustering soit activé, vous pourrez configurer le clustering par la suite.If your cache was created without clustering enabled, you can configure clustering at a later time.

    Pour plus d’informations, consultez Comment configurer le clustering Redis pour un cache Azure pour Redis Premium.For more information, see How to configure clustering for a Premium Azure Cache for Redis.

Après la mise à l’échelle, dois-je modifier le nom ou les clés d’accès de mon cache ?After scaling, do I have to change my cache name or access keys?

Non, le nom et les clés d’accès de votre cache n’ont pas à être modifiés durant une opération de mise à l’échelle.No, your cache name and keys are unchanged during a scaling operation.

Comment fonctionne la mise à l’échelle ?How does scaling work?

  • Lorsqu’un cache De base est mis à l’échelle vers une taille différente, il est arrêté et un nouveau cache est approvisionné avec la nouvelle taille définie.When a Basic cache is scaled to a different size, it is shut down and a new cache is provisioned using the new size. Pendant ce temps, le cache n’est pas disponible et toutes les données qu’il contenait sont perdues.During this time, the cache is unavailable and all data in the cache is lost.
  • Lorsqu’un cache De base est mis à l’échelle vers un cache Standard, un cache de réplica est approvisionné. Les données sont ensuite copiées du cache principal vers le cache de réplica.When a Basic cache is scaled to a Standard cache, a replica cache is provisioned and the data is copied from the primary cache to the replica cache. Le cache reste disponible pendant le processus de mise à l'échelle.The cache remains available during the scaling process.
  • Quand un cache Standard est mis à l’échelle vers une taille différente ou vers un cache Premium, l’un des réplicas est arrêté et réapprovisionné avec la nouvelle taille tandis que les données sont transférées. L’autre réplica effectue ensuite un basculement avant d’être réapprovisionné, selon le même processus, durant un basculement de l’un des nœuds du cache.When a Standard cache is scaled to a different size or to a Premium cache, one of the replicas is shut down and reprovisioned to the new size and the data transferred over, and then the other replica performs a failover before it is reprovisioned, similar to the process that occurs during a failure of one of the cache nodes.

Vais-je perdre mes données de cache durant la mise à l’échelle ?Will I lose data from my cache during scaling?

  • Lors de la mise à l’échelle d’un cache De base vers une nouvelle taille, toutes les données sont perdues et le cache n’est plus disponible pendant l’exécution de la mise à l’échelle.When a Basic cache is scaled to a new size, all data is lost and the cache is unavailable during the scaling operation.
  • Lorsqu’un cache De base est mis à l’échelle vers un cache Standard, les données qui se trouvent dans le cache sont généralement conservées.When a Basic cache is scaled to a Standard cache, the data in the cache is typically preserved.
  • Lors de la mise à l’échelle d’un cache Standard vers une taille ou un niveau supérieur, ou d’un cache Premium vers un niveau supérieur, toutes les données sont généralement conservées.When a Standard cache is scaled to a larger size or tier, or a Premium cache is scaled to a larger size, all data is typically preserved. Lors de la mise à l’échelle d’un cache Standard ou Premium vers une plus petite taille, il est possible que des données soient perdues si la quantité de données placées dans le cache est supérieure à la nouvelle taille du cache mis à l’échelle.When scaling a Standard or Premium cache down to a smaller size, data may be lost depending on how much data is in the cache related to the new size when it is scaled. En cas de pertes de données lors de la descente en puissante, les clés sont supprimées à l'aide de la stratégie d’éviction allkeys-lru .If data is lost when scaling down, keys are evicted using the allkeys-lru eviction policy.

Les paramètres personnalisés de mes bases de données sont-ils affectés au cours de la mise à l’échelle ?Is my custom databases setting affected during scaling?

Si vous avez configuré une valeur personnalisée pour le paramètre databases lors de la création du cache, n’oubliez pas que certains niveaux de tarification appliquent des limites des bases de données différentes.If you configured a custom value for the databases setting during cache creation, keep in mind that some pricing tiers have different databases limits. Voici quelques considérations relatives à la mise à l’échelle dans le cadre de ce scénario :Here are some considerations when scaling in this scenario:

  • Lors d’une mise à l’échelle vers un niveau de tarification associé à une limite databases plus faible que le niveau de tarification actuel :When scaling to a pricing tier with a lower databases limit than the current tier:
    • Si vous utilisez le nombre par défaut de databases, c’est-à-dire 16 pour tous les niveaux de tarification, vous ne perdrez aucune donnée.If you are using the default number of databases, which is 16 for all pricing tiers, no data is lost.
    • Si vous utilisez un nombre de databases personnalisé qui se situe dans les limites du niveau de tarification vers lequel vous effectuez la mise à l’échelle, ce paramètre databases sera conservé et vous ne perdrez aucune donnée.If you are using a custom number of databases that falls within the limits for the tier to which you are scaling, this databases setting is retained and no data is lost.
    • Si vous utilisez un nombre de databases personnalisé qui dépasse les limites du nouveau niveau de tarification, le paramètre databases sera réduit aux limites du nouveau niveau et toutes les données contenues dans les bases de données supprimées seront perdues.If you are using a custom number of databases that exceeds the limits of the new tier, the databases setting is lowered to the limits of the new tier and all data in the removed databases is lost.
  • Lors d’une mise à l’échelle vers un niveau de tarification associé à une limite databases identique ou supérieure à celle du niveau actuel, le paramètre databases est conservé et vous ne perdez aucune donnée.When scaling to a pricing tier with the same or higher databases limit than the current tier, your databases setting is retained and no data is lost.

Si les caches standard et premium ont un contrat SLA garantissant une disponibilité à 99,9 %, il n’existe pas de contrat SLA contre la perte de données.While Standard and Premium caches have a 99.9% SLA for availability, there is no SLA for data loss.

Mon cache reste-t-il disponible durant la mise à l’échelle ?Will my cache be available during scaling?

  • Les caches Standard et Premium restent disponibles pendant l’opération de mise à l’échelle.Standard and Premium caches remain available during the scaling operation. Toutefois, des spots de connexion peuvent se produire lors de la mise à l’échelle des caches standard vers des caches premium, ainsi que des caches de base vers des caches standard.However, connection blips can occur while scaling Standard and Premium caches, and also while scaling from Basic to Standard caches. Ces spots de connexion sont supposés être petits, et les clients Redis doivent être en mesure de rétablir leur connexion instantanément.These connection blips are expected to be small and redis clients should be able to re-establish their connection instantly.
  • Les caches de base sont hors connexion pendant les opérations de mise à l’échelle vers une taille différente.Basic caches are offline during scaling operations to a different size. Les caches de base restent disponibles lors de la mise à l’échelle du niveau de base vers le niveau standard, mais peuvent rencontrer un petit spot de connexion.Basic caches remain available when scaling from Basic to Standard but, may experience a small connection blip. Si un spot de connexion se produit, les clients Redis doivent être en mesure de rétablir leur connexion instantanément.If a connection blip occurs, redis clients should be able to re-establish their connection instantly.

Limitations de la mise à l’échelle avec la géoréplicationScaling limitations with Geo-replication

Si vous ajoutez un lien de géoréplication entre deux caches, vous pourrez plus lancer une opération de mise à l’échelle ni modifier le nombre de partitions d’un cluster.Once you have added a Geo-replication link between two caches, you will no longer be able to initiate a scaling operation or change the number of shards in a cluster. Il vous faudra supprimer le lien du cache pour pouvoir émettre ces commandes.You must unlink the cache to issue these commands. Pour plus d’informations, consultez la page Configurer la géoréplication.For more information, see Configure Geo-replication.

Quelles sont les opérations qui ne sont pas prises en charge ?Operations that are not supported

  • Vous ne pouvez pas passer d’un niveau de tarification supérieur à un niveau de tarification inférieur.You can't scale from a higher pricing tier to a lower pricing tier.
    • Vous ne pouvez pas passer d’un cache Premium à un cache Standard ou De base.You can't scale from a Premium cache down to a Standard or a Basic cache.
    • Vous ne pouvez pas passer d’un cache Standard à un cache De base.You can't scale from a Standard cache down to a Basic cache.
  • Vous pouvez passer d’un cache De base à un cache Standard, mais vous ne pouvez pas modifier la taille en même temps.You can scale from a Basic cache to a Standard cache but you can't change the size at the same time. Si vous avez besoin d'une taille différente, vous pouvez effectuer ultérieurement une opération de mise à l'échelle vers la taille voulue.If you need a different size, you can do a subsequent scaling operation to the desired size.
  • Vous ne pouvez pas passer directement d’un cache De base à un cache Premium.You can't scale from a Basic cache directly to a Premium cache. Vous devez passer du niveau de base au niveau standard en une opération de mise à l’échelle, puis du niveau standard au niveau premium en une deuxième opération.First scale from Basic to Standard in one scaling operation, and then scale from Standard to Premium in a subsequent operation.
  • Vous ne pouvez pas mettre à l’échelle depuis une taille supérieure vers la taille C0 (250 Mo) .You can't scale from a larger size down to the C0 (250 MB) size.

En cas d’échec d’une opération de mise à l’échelle, le service essaie d’annuler l’opération et le cache reviendra à sa taille d’origine.If a scaling operation fails, the service tries to revert the operation, and the cache will revert to the original size.

Quelle est la durée d’une mise à l’échelle ?How long does scaling take?

Une mise à l’échelle prend environ 20 minutes, selon la quantité de données dans le cache.Scaling takes approximately 20 minutes, depending on how much data is in the cache.

Comment savoir quand la mise à l’échelle est terminée ?How can I tell when scaling is complete?

Le déroulement de l’opération de mise à l’échelle est affiché dans le portail Azure.In the Azure portal, you can see the scaling operation in progress. Une fois la mise à l’échelle terminée, le statut passe à En cours d’exécution.When scaling is complete, the status of the cache changes to Running.