Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Azure Logic Apps (Standard)
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
La section suivante décrit les limitations de l’option de déploiement hybride :
Limite | Descriptif |
---|---|
Régions Azure prises en charge | Le déploiement hybride est actuellement disponible et pris en charge uniquement dans les régions Azure suivantes : - Centre des États-Unis -Asie de l’Est - USA Est - USA Centre Nord -Asie du Sud-Est - Suède Centre - Royaume-Uni Sud - Europe Ouest - USA Ouest |
Journalisation des données avec un runtime déconnecté | En mode partiellement connecté, le runtime Azure Logic Apps peut rester déconnecté jusqu’à 24 heures et conserver les journaux de données. Toutefois, toutes les données de journalisation passées cette durée peuvent être perdues. |
Les fonctionnalités non prises en charge disponibles dans Azure Logic Apps (Standard) à locataire unique et les services Azure associés | - Emplacements de déploiement - Suivi des processus d’entreprise Azure - Resource Health sous Support + résolution des problèmes dans le portail Azure - Authentification d’identité managée pour les opérations de connecteur. 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. |
Déclencheurs basés sur des fonctions | 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 nommé AzureWebJobsStorage et fournissez votre chaîne de connexion de 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é à Azure Arc
- Une base de données SQL pour stocker localement l’historique des exécutions de flux de travail, 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
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 Valeur Descriptif Abonnement Oui < Nom de l’abonnement Azure> 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 < nom-application-logique> 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 < Région Azure> 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 Valeur Descriptif 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 < chemin d’accès au partage de fichiers> Chemin d’accès du partage de fichiers pour votre partage de fichiers SMB. Nom d’utilisateur Oui < nom-utilisateur-partage-fichier> 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.
Le portail Azure ouvre votre ressource d’application logique, par exemple :
Dans le menu des ressources de l’application logique, sous Flux de travail, sélectionnez Flux de travail.
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.
Gestion des versions pour les déploiements hybrides
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 Portail Azure, ouvrez votre ressource. Dans le menu de 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 :
Configurer des données de télémétrie améliorées ou OpenTelemetry pour l’analyse des performances
Vous pouvez configurer une collecte de données de télémétrie améliorée dans Application Insights pour votre application logique standard, puis afficher les données collectées une fois votre workflow terminé une exécution. Cette fonctionnalité vous offre une expérience plus simple pour obtenir des insights sur vos flux de travail et un meilleur contrôle sur le filtrage des événements à la source de données, ce qui vous permet de réduire les coûts de stockage. Ces améliorations se concentrent sur des mesures de performance en temps réel qui fournissent des informations sur l’intégrité et le comportement de votre système.
Pour les scénarios partiellement connectés et locaux, vous pouvez configurer votre application logique Standard pour émettre des données de télémétrie basées sur les paramètres d’application pris en charge par OpenTelemetry que vous définissez pour l’environnement spécifique. Par défaut, ces données de télémétrie sont envoyées à Application Insights. Pour plus d’informations, consultez Activer la télémétrie améliorée dans Application Insights pour les flux de travail Standard dans Azure Logic Apps.
Modifier l’allocation de processeurs virtuels et de mémoire dans le portail Azure
Vous pouvez modifier les paramètres de processeur virtuel et de mémoire pour votre ressource d’application logique Standard. Ces modifications affectent les frais de facturation pour vos charges de travail d’application logique Standard.
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 Descriptif Cœurs de processeur - Par défaut : 1
- Minimum : 0,25
- Maximum : 2Détermine les cœurs de processeur virtuel à 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 gibibytes (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 Descriptif 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 (Interface de ligne de commande Azure)
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
- ID client
- 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
La section suivante décrit les problèmes connus et les conseils pour résoudre les problèmes courants.
Problèmes généraux de déploiement de l’environnement ou du portail
Pour vous aider à diagnostiquer et déboguer des problèmes avec les échecs de déploiement de votre environnement ou du portail, vous pouvez essayer d’exécuter le script PowerShell troubleshoot.ps1 fourni pour l’option de déploiement hybride.
Accédez au référentiel GitHub Azure Logic Apps : scripts/dossier hybride.
Copiez le fichier troubleshoot.ps1 dans un dossier situé dans le même emplacement local que le déploiement de votre application logique.
Exécutez le script à l’aide de PowerShell.
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, ouvrez votre ressource d’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
helm 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).