Créer des workflows d’application logique standard pour le déploiement hybride sur votre propre infrastructure (préversion)
S’applique à : Azure Logic Apps (Standard)
Remarque
Cette fonctionnalité est en préversion, entraîne des frais d’utilisation et est soumise aux conditions d’utilisation supplémentaires des préversions Microsoft Azure.
Pour les scénarios où vous devez utiliser, contrôler et gérer votre propre infrastructure, vous pouvez créer des workflows d’application logique standard à l’aide du modèle de déploiement hybride dans Azure Logic Apps. Ce modèle fournit des fonctionnalités permettant de créer et d’héberger des solutions d’intégration pour des environnements partiellement connectés qui nécessitent un traitement local, un stockage et un accès réseau. Votre infrastructure peut inclure des systèmes locaux, des clouds privés et des clouds publics. Avec le modèle hybride, votre workflow d’application logique standard est alimenté par le runtime Azure Logic Apps, qui est hébergé localement dans le cadre d’une extension Azure Container Apps.
Pour obtenir une vue d’ensemble architecturale montrant où les workflows d’application logique standard sont hébergés et exécutés dans un environnement partiellement connecté, consultez Configurer les exigences d’infrastructure pour le déploiement hybride pour les applications logiques standard.
Ce guide pratique montre comment créer et déployer un workflow d’application logique standard à l’aide du modèle de déploiement hybride après avoir configuré les ressources locales nécessaires pour héberger votre application.
Limites
Le déploiement hybride pour les applications logiques standard est disponible et pris en charge uniquement dans les mêmes régions qu’Azure Container Apps sur Azure Arc-enabled AKS.
Les fonctionnalités suivantes ne sont actuellement pas disponibles dans cette préversion :
- Authentification d’une identité managée
- Accès SAP via le connecteur intégré SAP
- Code personnalisé C# avec .NET Framework et l’action intégrée nommée Appeler une fonction locale dans cette application logique
- XSLT 1.0 pour le code personnalisé
Actuellement, les clusters Kubernetes avec Azure Arc ne prennent pas en charge l’authentification d’identité managée pour les connexions d’API managées. Au lieu de cela, vous devez créer votre propre inscription d’application à l’aide de Microsoft Entra ID. Pour plus d’informations, suivez ces étapes plus loin dans ce guide.
Certains déclencheurs basés sur des fonctions, tels qu’Azure Blob, Cosmos DB et Event Hubs, nécessitent une connexion au compte de stockage Azure associé à votre application logique standard. Si vous utilisez des déclencheurs basés sur des fonctions, dans les variables d’environnement de votre application logique standard dans le portail Azure ou dans le fichier local.settings.json de votre projet d’application logique dans Visual Studio Code, ajoutez le paramètre d’application suivant et fournissez la chaîne de connexion de votre compte de stockage :
"Values": { "name": "AzureWebJobsStorage", "value": "{storage-account-connection-string}" }
Prérequis
Un compte et un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.
Les ressources locales suivantes, qui doivent toutes exister dans le même réseau pour la connectivité requise :
- Un cluster Azure Kubernetes Service connecté à votre Azure Arc
- Une base de données SQL pour stocker en local l’historique des exécutions de workflow, les entrées et les sorties pour le traitement
- Un partage de fichiers SMB (Server Message Block) pour stocker en local les artefacts utilisés par vos workflows
Pour répondre à ces exigences, configurez ces ressources locales pour prendre en charge le déploiement hybride pour les applications logiques standard.
Pour travailler dans Visual Studio Code, vous avez besoin de l’extension Azure Logic Apps (standard) pour Visual Studio Code avec les prérequis associés.
Conseil
Si vous disposez d’une nouvelle installation de Visual Studio Code, vérifiez que vous pouvez exécuter localement un workflow standard de base avant d’essayer de déployer sur votre propre infrastructure. Cette série de tests permet d’isoler les erreurs qui peuvent exister dans votre projet de workflow standard.
Créer une application logique standard
Une fois les conditions préalables remplies, créez votre application logique standard pour le déploiement hybride en procédant comme suit :
Dans la zone de recherche du portail Azure, entrez applications logiques, puis sélectionnez Applications logiques.
Dans la barre d’outils de la page Applications logiques, sélectionnez Ajouter.
Dans la page Créer une application logique, sous Standard, sélectionnez Hybride.
Dans la page Créer une application logique (Hybride), indiquez les informations suivantes :
Propriété Obligatoire Value Description Abonnement Oui <Azure-subscription-name> Le nom de votre abonnement Azure.
Cet exemple utilise Paiement à l’utilisation.Groupe de ressources Oui <nom-groupe-de-ressources-Azure> Le groupe de ressources Azure dans lequel vous créez votre application hybride et les ressources associées. Ce nom doit être unique d’une région à l’autre et peut uniquement contenir des lettres, des chiffres, des traits d’union (-), des traits de soulignement (_), des parenthèses [()] et des points (.).
Cet exemple crée un groupe de ressources nommé hybride-RG.Nom de l’application logique Oui <logic-app-name> Le nom de votre application logique, qui doit être unique entre les régions et ne peut contenir que des lettres minuscules, des chiffres ou des traits d’union (-).
Cet exemple utilise my-logic-app-hybrid.Région Oui <Azure-region> Une région Azure prise en charge pour Azure Container Apps sur Azure Arc-enabled AKS.
Cet exemple utilise la région USA Est.Environnement connecté Container Apps Oui <connected-environment-name> Le cluster Kubernetes avec Arc que vous avez créé en tant qu’environnement de déploiement pour votre application logique. Pour plus d’informations, consultez Tutoriel : activer Azure Container Apps sur Kubernetes avec Azure Arc. Configurer les paramètres de stockage Oui Activé ou désactivé Passe à l’onglet Stockage de la page Créer une application logique (hybride). L’exemple suivant montre la page de création d’application logique dans le Portail Azure avec des exemples de valeurs :
Dans la page Stockage, fournissez les informations suivantes sur le fournisseur de stockage et le partage de fichiers SMB que vous avez configurés précédemment :
Propriété Obligatoire Value Description Chaîne de connexion SQL Oui <sql-server-connection-string> Chaîne de connexion SQL Server que vous avez enregistrée précédemment. Pour plus d’informations, consultez Créer un fournisseur de stockage SQL Server. Nom d’hôte Oui <file-share-host-name> Nom d’hôte de votre partage de fichiers SMB. Chemin d'accès au partage de fichiers Oui <file-share-path> Chemin d’accès du partage de fichiers pour votre partage de fichiers SMB. Nom d’utilisateur Oui <file-share-user-name> Nom d’utilisateur de votre partage de fichiers SMB. Mot de passe Oui <file-share-password> Mot de passe de votre partage de fichiers SMB. Lorsque vous avez terminé, sélectionnez Vérifier + créer. Confirmez les informations fournies, puis sélectionnez Créer.
Une fois le déploiement terminé, sélectionnez Accéder à la ressource.
Remarque
Plusieurs problèmes connus existent dans le portail autour des applications logiques standard qui utilisent l’option d’hébergement hybride. Ces applications logiques s’affichent avec l’étiquette Container App, qui diffère des applications logiques standard qui utilisent l’option d’hébergement Workflow Service Plan ou App Service Environment V3. Pour plus d’informations, consultez Problèmes connus et résolution des problèmes - Portail Azure.
Dans le Portail Azure, dans le menu Ressource, sous Workflows, sélectionnez Workflows.
Dans la barre d’outils de la page Workflows, sélectionnez Ajouter pour ajouter un workflow vide avec ou sans état.
Une fois le concepteur ouvert, générez votre workflow en ajoutant un déclencheur et des actions.
Pour plus d’informations, consultez Créer un workflow avec un déclencheur et des actions.
Remarque
Une application logique standard avec l’option d’hébergement hybride crée automatiquement une nouvelle révision, qui est un concept de contrôle de version d’Azure Container Apps, chaque fois que vous enregistrez les modifications apportées à un workflow enfant. Cette révision peut prendre un peu de temps pour s’activer, ce qui signifie qu’après avoir enregistré les modifications, vous pouvez attendre plusieurs instants avant de tester votre workflow.
Si vos modifications n’ont toujours pas été apportées dans le workflow, vous pouvez vérifier si la révision existe :
Dans le menu Ressource, sous Révisions, sélectionnez Révisions et réplicas.
Dans la page Révisions et réplicas, sous l’onglet Révisions actives, vérifiez si une nouvelle révision apparaît dans la liste.
Pour plus d’informations, consultez les ressources suivantes :
Modifier l’allocation du processeur et de la mémoire dans le portail Azure
Pour modifier les paramètres processeur et mémoire de votre ressource d’application logique standard, procédez comme suit :
Dans le portail Azure, ouvrez votre ressource d’application logique Standard.
Dans le menu Ressource, sous Paramètres, sélectionnez Conteneurs.
Dans la barre d’outils de la page Conteneurs, sélectionnez Modifier et déployer, ce qui ouvre le volet Modifier un conteneur.
Sous l’onglet Propriétés, sous Allocation de ressources de conteneur, modifiez les valeurs suivantes pour qu’elles correspondent à votre scénario :
Propriété Valeur Description Cœurs de processeur - Par défaut : 1
- Minimum : 0,25
- Maximum : 2Détermine les cœurs du processeur à affecter à votre instance de conteneur. Vous pouvez augmenter cette valeur de 0,25 cœur jusqu’à la valeur maximale. Le nombre total entre toutes les instances de conteneur pour cette application logique est limité à 2 cœurs. Mémoire - Par défaut : 2
- Minimum : 0,1
- Maximum : 4Détermine la capacité de mémoire en gibioctets (Gio) à affecter à votre instance de conteneur. Vous pouvez augmenter cette valeur de 0,1 Gio jusqu’à la valeur maximale. La capacité totale de toutes les instances de conteneur pour cette application logique est limitée à 4 Gio. Lorsque vous avez terminé, sélectionnez Enregistrer.
Modifier la mise à l’échelle du réplica dans Portail Azure
Vous pouvez contrôler la mise à l’échelle automatique pour la plage de réplicas qui se déploient en réponse à un événement déclencheur. Un réplica est une nouvelle instance d’une révision ou d’une version de ressource d’application logique. Pour modifier les valeurs minimales et maximales de cette plage, vous pouvez modifier les règles d’échelle pour déterminer les types d’événements qui déclenchent la mise à l’échelle. Pour plus d’informations, consultez Définir des règles de mise à l’échelle dans Azure Container Apps.
Dans le portail Azure, ouvrez votre ressource d’application logique Standard.
Dans le menu Ressource, sous Paramètres, sélectionnez Mise à l’échelle.
Dans la page Mise à l’échelle, sous Paramètre de règle de mise à l’échelle, modifiez les valeurs suivantes pour qu’elles correspondent à votre scénario :
Propriété Valeur Description Nb min. de réplicas - Par défaut : 1
- Minimum : 0
- Maximum : 1 000Détermine le nombre minimal de réplicas autorisés pour la révision à tout moment donné. Cette valeur remplace les règles d’échelle et doit être inférieure au nombre maximal de réplicas. Nb max. de réplicas - Par défaut : 30
- Minimum : 0
- Maximum : 1 000Détermine le nombre maximal de réplicas autorisés pour la révision à un moment donné. Cette valeur remplace les règles de mise à l’échelle. Lorsque vous avez terminé, sélectionnez Enregistrer.
Contrôler le trafic entrant vers votre application logique dans Portail Azure
Vous pouvez exposer votre application logique sur le web public, votre réseau virtuel et d’autres applications logiques dans votre environnement en activant l’entrée. Azure applique les paramètres d’entrée via un ensemble de règles qui contrôlent le routage du trafic externe et interne vers votre application logique. Lorsque vous activez l’entrée, vous n’avez pas besoin de créer d’équilibreur de charge Azure, d’adresse IP publique ou d’autres ressources Azure pour activer les requêtes HTTP entrantes ou le trafic TCP. Pour plus d’informations, consultez Entrée dans Container Apps.
Remarque
Lorsque vous activez l’entrée, tout le trafic est dirigé vers votre dernière révision par défaut. Accédez à la page de gestion de révision pour modifier les paramètres du trafic.
Dans le menu Ressource, sous Paramètres, sélectionnez Entrée.
Dans la page Entrée, à côté du bouton Entrée, sélectionnez la case Activé.
En fonction de votre scénario, configurez les options restantes.
Pour plus d’informations, consultez la documentation suivante :
Configurer l’authentification pour les connexions d’API managées
Pour authentifier les connexions d’API managées dans les workflows d’application logique standard hébergés sur des clusters Kubernetes avec Azure Arc, vous devez créer votre propre inscription d’application à l’aide de Microsoft Entra ID. Vous pouvez ensuite ajouter les valeurs de cette inscription d’application en tant que variables d’environnement dans votre ressource d’application logique standard pour authentifier vos connexions d’API à la place.
Créer une inscription d’application avec Microsoft Entra ID
Portail Azure
Dans le portail Azure, suivez Guide de démarrage rapide : Inscrire une application à l’aide de la plateforme d’identités Microsoft pour créer une inscription d’application.
Une fois la création terminée, recherchez votre nouvelle inscription d’application dans le portail.
Dans le menu Ressource, sélectionnez Vue d’ensemble et enregistrez les valeurs suivantes, dont vous avez besoin ultérieurement pour l’authentification de connexion :
- ID client
- ID client
- Clè secrète client
Pour l’ID d’objet, procédez comme suit :
Dans la page Vue d’ensemble, sélectionnez le lien Application gérée dans le répertoire local pour l’inscription de votre application, comme indiqué :
Dans la page qui s’ouvre, copiez et enregistrez la valeur ID de l'objet :
Maintenant, ajoutez les valeurs enregistrées en tant que variables d’environnement à votre ressource d’application logique standard.
Azure CLI
Pour créer l’inscription de l’application, utilisez la commande az ad sp create.
Pour passer en revue toutes les propriétés, utilisez la commande az ad sp show.
Dans la sortie des deux commandes, recherchez et enregistrez les valeurs suivantes, dont vous avez besoin ultérieurement pour l’authentification de connexion :
- ID client
- ID de l'objet
- Tenant ID
- Clè secrète client
Maintenant, ajoutez les valeurs enregistrées en tant que variables d’environnement à votre ressource d’application logique standard.
Ajouter des valeurs d’inscription d’application à votre application logique standard
Dans le portail Azure, ouvrez votre ressource d’application logique standard.
Dans le menu Ressource, sous Paramètres, sélectionnez Conteneurs, puis sélectionnez l’onglet Variables d’environnement.
Pour plus d’informations sur les paramètres d’application et les paramètres d’hôte, consultez Modifier les paramètres de l’application et les paramètres d’hôte.
Dans la barre d’outils, sélectionnez Modifier et déployer.
Dans le volet Modifier un conteneur, sélectionnez Variables d’environnement, puis sélectionnez Ajouter.
Dans le tableau suivant, ajoutez chaque variable d’environnement avec la valeur spécifiée :
Variable d’environnement Valeur WORKFLOWAPP_AAD_CLIENTID <my-client-ID> WORKFLOWAPP_AAD_OBJECTID <my-object-ID> WORKFLOWAPP_AAD_TENANTID <my-tenant-ID> WORKFLOWAPP_AAD_CLIENTSECRET <my-client-secret> Lorsque vous avez terminé, sélectionnez Enregistrer.
Stocker et référencer l’ID client et la clé secrète client
Vous pouvez stocker l’ID client et les valeurs de secret client dans votre ressource d’application logique en tant que secrets, puis référencer ces valeurs sous l’onglet Variables d’environnement à la place.
Dans le portail Azure, accédez à votre ressource d’application logique.
Dans le menu Ressource, sous Paramètres, sélectionnez Secrets.
Dans la barre d’outils, sélectionnez Ajouter.
Dans le volet Ajouter un secret, fournissez les informations suivantes pour chaque secret, puis sélectionnez Ajouter :
Clé Valeur WORKFLOWAPP_AAD_CLIENTID <my-client-ID> WORKFLOWAPP_AAD_CLIENTSECRET <my-client-secret>
Problèmes connus et résolution des problèmes
Portail Azure
Votre application logique standard est déployée et apparaît en tant que ressource Azure Container Apps, mais le type apparaît en tant que Logic App (Hybride).
Azure inclut votre application logique standard dans la liste des ressources Container Apps, et non la liste des ressources Logic Apps.
Votre environnement connecté Azure Container Apps répertorie votre application logique standard comme ayant un type d’application nommé Hybrid Logic App.
Pour refléter les modifications apportées au concepteur après avoir enregistré votre workflow, vous devrez peut-être actualiser occasionnellement le concepteur.
Clusters Kubernetes avec Arc
Dans de rares scénarios, vous remarquerez peut-être une empreinte mémoire élevée dans votre cluster. Pour éviter ce problème, effectuez un scale out ou ajoutez une mise à l’échelle automatique pour les pools de nœuds.
L’hôte de fonction n’est pas en cours d’exécution
Après avoir déployé votre application logique standard, vérifiez que votre application s’exécute correctement.
Dans le portail Azure, accédez à la ressource d’application conteneur pour votre application logique.
Dans le menu des ressources, sélectionnez Vue d’ensemble.
Dans la page Vue d’ensemble, à côté du champ URL de l’application, sélectionnez l’URL de la ressource.
Si votre application s’exécute correctement, une fenêtre de navigateur s’ouvre et affiche le message suivant :
Sinon, si votre application présente des défaillances, vérifiez que vos pods AKS fonctionnent correctement. Depuis Windows PowerShell, exécutez les commandes suivantes :
az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin kubectl get ns kubectl get pods -n logicapps-aca-ns kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns
Pour plus d’informations, consultez la documentation suivante :
Le cluster n’a pas suffisamment de nœuds
Si vous avez exécuté la commande précédente et reçu un avertissement similaire à l’exemple suivant, votre cluster n’a pas suffisamment de nœuds pour le traitement :
Warning: FailedScheduling 4m52s (x29 over 46m) default-scheduler 0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.
Pour augmenter le nombre de nœuds et configurer la mise à l’échelle automatique, procédez comme suit :
Dans le portail Azure, accédez à votre instance de service Kubernetes.
Dans le menu Instance, sous Paramètres, sélectionnez Pools de nœuds.
Dans la barre d’outils de la page Pools de nœuds, sélectionnez +Ajouter un pool de nœuds.
Pour plus d’informations, consultez la documentation suivante :
- Créer des pools de nœuds pour un cluster dans Azure Kubernetes Service (AKS)
- Gérer des pools de nœuds pour un cluster dans Azure Kubernetes Service (AKS)
- Vue d’ensemble de la mise à l’échelle automatique de cluster dans Azure Kubernetes Service (AKS)
- Utilisation de la mise à l’échelle automatique de cluster dans Azure Kubernetes Service (AKS)
Pilote CSI (Container Storage Interface) SMB non installé
Après avoir exécuté la commande kubectl describe pod
précédente, si l’avertissement suivant s’affiche, vérifiez si le pilote CSI de votre partage de fichiers SMB est installé correctement :
Warning FailedScheduling 5m16s (x2 over 5m27s) default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.
Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims
Pour confirmer, depuis Windows PowerShell, exécutez les commandes suivantes :
kubectl get csidrivers
Si la liste des résultats qui s’affiche n’inclut pas smb.csi.k8s.io, depuis une invite de commandes Windows et exécutez la commande suivante :
helm repo add csi-driver-smb
help repo update
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Pour vérifier l’état des pods du pilote CSI SMB, depuis l’invite de commandes Windows, exécutez la commande suivante :
kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch
Pour plus d’informations, consultez Pilotes CSI (Container Storage Interface) sur Azure Kubernetes Service (AKS).