Démarrage rapide : configurer la mise à l’échelle automatique pour les applications dans le plan de consommation et dédié Standard d’Azure Spring Apps
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s'applique à : ✅ Consommation standard et dédiée (Aperçu) ❎ Basique/Standard ❎ Entreprise
Cet article explique comment configurer des règles de mise à l’échelle automatique pour vos applications dans le plan de consommation et dédié Standard d’Azure Spring Apps. Le plan utilise un environnement Azure Container Apps pour héberger vos applications Spring et fournit la gestion et le support suivants :
- Gère la mise à l’échelle horizontale automatique en utilisant un ensemble de règles de mise à l’échelle déclaratives.
- Prend en charge toutes les règles de mise à l’échelle que Azure Container Apps prend en charge.
Pour plus d’informations, consultez la documentation de Azure Container Apps.
Prérequis
- Un abonnement Azure. Si vous n’avez pas de souscription Azure, consultez compte gratuit Azure avant de commencer.
- Une instance de service de plan de consommation et dédié Standard d’Azure Spring Apps. Pour en savoir plus, consultez Démarrage rapide : approvisionner une instance de service de plan de consommation et dédié Standard d’Azure Spring Apps.
- Une application Spring déployée sur Azure Spring Apps.
Définition de mise à l’échelle
La mise à l’échelle est définie par la combinaison de limites et de règles.
Les limites sont le nombre minimal et maximal d’instances autorisées par votre Spring.
Limite de la mise à l’échelle Valeur par défaut Valeur min Valeur max Nombre d’instances minimum par déploiement 1 0 30 Nombre d’instances maximum par déploiement 10 1 30 Par défaut, le nombre minimal d’instances de votre application Spring est défini sur 1 pour garantir que votre déploiement est toujours en cours d’exécution. Si vous souhaitez effectuer un scale-in à zéro, vous pouvez définir le nombre minimal d’instances sur zéro.
Les règles sont les critères auxquels la mise à l’échelle automatique se conforme pour ajouter ou supprimer des instances. Les règles de mise à l’échelle incluent des règles HTTP, TCP et personnalisées, comme décrit dans la section Règles de mise à l’échelle de l’article Définir des règles de mise à l’échelle dans Azure Container Apps.
Si vous définissez plusieurs règles d’échelle, la mise à l’échelle automatique commence lorsque la première condition d’une règle est remplie.
L’intervalle d’interrogation et la période de refroidissement sont deux intervalles de temps qui se produisent pendant la mise à l’échelle automatique.
- L’intervalle d’interrogation définit l’intervalle de temps entre chaque action d’interrogation des données en temps réel, tel que défini par vos règles. L’intervalle d’interrogation est défini sur 30 secondes par défaut.
- La période de refroidissement s’applique uniquement lors de la mise à l’échelle vers zéro, par exemple, pour attendre cinq minutes après la dernière vérification de la mise à l’échelle automatique de la file d’attente des messages et qu’elle était vide.
Configurer les paramètres de mise à l'échelle automatique
Vous pouvez configurer les paramètres de mise à l’échelle automatique pour votre application à l’aide de la Portail Azure ou de Azure CLI.
Utilisez les étapes suivantes pour définir des paramètres et des règles de mise à l’échelle automatique.
- Connectez-vous au portail Azure.
- Sélectionnez Azure Spring Apps sous Services Azure.
- Dans la colonne Nom , sélectionnez l’instance Azure Spring Apps que vous souhaitez mettre à l’échelle automatiquement.
- Dans la page vue d’ensemble de votre instance Azure Spring Apps, sélectionnez Applications dans le volet de navigation.
- Sélectionnez l'application à mettre automatiquement à l’échelle.
- Dans la page vue d’ensemble de l’application sélectionnée, sélectionnez Monter en puissance dans le volet de navigation.
- Dans la page Scale-out (préversion), sélectionnez le déploiement que vous souhaitez mettre à l’échelle automatiquement.
- Configurez les limites d’instance de votre déploiement.
- Sélectionnez Ajouter pour ajouter vos règles de mise à l’échelle.
Règles de mise à l’échelle personnalisées
Pour plus d’informations sur la définition de règles personnalisées, consultez Échelles Keda. Les sections suivantes présentent deux exemples de définition de règles d’échelle sur MySQL et Cron.
Configurer des règles de mise à l’échelle automatique sur une base de données MySQL
Les commandes CLI suivantes vous montrent comment mettre à l’échelle automatiquement votre application Spring en fonction de Keda MySQL Scaler. Tout d’abord, créez un secret pour stocker votre chaîne de connexion SQL. Ce secret sera utilisé pour l’authentification de votre règle de mise à l’échelle. Ensuite, configurez une règle qui mettra à l’échelle l’application en fonction du nombre de lignes d’une table.
Remarque
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure, comme pour les bases de données, les caches, la messagerie ou les services IA, demande un degré de confiance très élevé dans l'application et comporte des risques non présents dans d'autres flux. Utilisez ce flux uniquement lorsque des options plus sécurisées, telles que les identités managées pour les connexions sans mot de passe ou sans clé, ne sont pas viables. Pour les opérations d’ordinateur local, préférez les identités utilisateur pour les connexions sans mot de passe ou sans clé.
az spring app update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>"
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type mysql \
--scale-rule-name <your rule name> \
--scale-rule-auth "connectionString=mysqlconnectionstring" \
--scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
--min-replicas 0 \
--max-replicas 3
Créer une règle basée sur Linux cron
Les commandes suivantes vous montrent comment configurer une règle basée sur Keda Cron Scaler. Les réplicas sont mis à l’échelle jusqu’au nombre souhaité pendant l’intervalle de temps cron.
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type cron \
--scale-rule-name testscalerule \
--scale-rule-metadata timezone="Asia/Shanghai" \
start="10 * * * *" \
end="15 * * * *" \
desiredReplicas="3" \
--min-replicas 0 \
--max-replicas 3
Événements de mise à l’échelle
Vous pouvez rechercher les événements de mise à l’échelle à partir des journaux système de votre application conteneur sous-jacente et filtrer eventSource à l’aide de KEDA
, comme illustré dans l’exemple suivant :
ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'
Nettoyer les ressources
Assurez-vous de supprimer les ressources que vous avez créées dans cet article lorsque vous n’en aurez plus besoin. Pour supprimer les ressources, supprimez simplement le groupe de ressources qui les contient. Vous pouvez supprimer le groupe de ressources à l’aide du portail Azure. Vous pouvez aussi supprimer le groupe de ressources à l’aide d’Azure CLI et des commandes suivantes :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."