Remarque
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.
Utilisez ce guide pour passer du modèle d’hébergement Functions sur Azure Container Apps V1 vers le modèle recommandé Functions on Azure Container Apps V2. Vous découvrez pourquoi migrer, quels changements et comment exécuter la transition avec un risque minimal.
Note
Utilisez l’assistant de migration Azure Functions sur Azure Container Apps v1 pour vous aider à migrer vos applications de fonction du modèle v1 vers le modèle v2.
Vous pouvez héberger Azure Functions dans Azure Container Apps à l’aide de deux modèles de déploiement :
Fonctions sur Azure Container Apps V1 : Modèle proxy hérité utilisant une application de fonctions (
Microsoft.Webfournisseur de ressources) ainsi qu’une application conteneur en coulisses.Fonctions sur Azure Container Apps V2 : Modèle natif qui crée une seule ressource Azure Container App (
Microsoft.App) aveckind=functionapp.
Lorsque vous passez à Functions sur Azure Container Apps V2, vous simplifiez la gestion, débloquez des fonctionnalités natives et vous alignez sur la feuille de route future d’Azure Functions.
Comparaison des modèles
| Area | Fonctions sur Azure Container Apps V1 (hérité) | Fonctions sur Azure Container Apps V2 (recommandé) |
|---|---|---|
| Modèle de ressource | Application de fonctions proxy jumelée à une application conteneur masquée | Application conteneur natif seul (kind=functionapp) |
| Fonctionnalités natives (révisions, secrets, sondes d’intégrité, domaines personnalisés, sidecars) |
Non prise en charge | Soutenu |
| Contrôles de mise à l’échelle (refroidissement, intervalle d’interrogation) |
Limité | Options complètes de mise à l’échelle des applications conteneur |
| Journalisation et résolution des problèmes | Indirect. Aucune console active | Direct. Inclut les journaux en direct et les diagnostics |
| Intégration de Dapr | Problématique dans certains scénarios .NET isolés | Pris en charge par des schémas standard |
| Authentification (Authentification facile) | Non disponible | Disponible |
| Certificats et domaines personnalisés | Non disponible | Disponible |
| Métriques et alertes | Élémentaire | Métriques et alertes natives complètes |
| Feuille de route future (liste de fonctions, clés, nombre d’appels) |
Non planifiée | Planifié |
| Complexité opérationnelle | Gestion à deux ressources | Ressource unique |
| Recommandé pour les nouveaux déploiements | Non | Oui |
Limitations des fonctions sur Azure Container Apps v1
Les fonctions sur Azure Container Apps V1 présentent plusieurs limitations qui affectent la scalabilité, la gestion et la disponibilité des fonctionnalités. Comprendre ces contraintes aide à clarifier les avantages de migrer vers les fonctions sur Azure Container Apps V2.
Lacunes de fonctionnalités
Les fonctionnalités suivantes ne sont pas disponibles pour les fonctions sur les applications Azure Container Apps V1 :
- Authentification facile
- Sondes d’intégrité
- Domaines personnalisés
- Conteneurs side-car
- Certificats managés
- Secrets d’application conteneur
- Paramètres de mise à l’échelle granulaires
- Fractionnement du trafic multi-version
Résolution des contraintes
Avec Functions sur Azure Container Apps V1, vous n'avez pas d'accès direct aux conteneurs ni de sortie console en temps réel. Utilisez plutôt Log Analytics pour le diagnostic de l’infrastructure et Application Insights pour les journaux d’application.
Problèmes d’intégration Dapr
Les fonctions isolées de Dapr et .NET peuvent entrer en conflit pendant la génération ou l’exécution en raison de contraintes d'ordre des dépendances et de l’initialisation.
Avantages des fonctions sur Azure Container Apps v2
Functions on Azure Container Apps V2 crée directement une ressource native d’application conteneur. Cette approche supprime l’indirection de proxy et active les fonctionnalités complètes d’Azure Container Apps.
Principaux avantages :
- Activez "Easy Auth" pour le délestage d’identité.
- Configurez les sondes de santé pour améliorer la résilience.
- Définissez des domaines personnalisés et utilisez des certificats managés.
- Réduisez la surcharge opérationnelle avec une seule ressource.
- Stockez les secrets en mode natif et montez des conteneurs sidecar.
- Bénéficiez de métriques plus claires, d’alertes et d'un streaming de journaux en direct.
- Utilisez des déploiements multiversions et fractionnez le trafic en toute sécurité.
- Appliquez des règles de mise à l’échelle granulaires (intervalle d’interrogation, refroidissement).
Note
Le code n’a pas besoin d’être modifié. Vous pouvez réutiliser votre image conteneur existante.
Déploiement d’images directes héritées (non pris en charge)
Certains déploiements utilisent une application conteneur standard sans kind=functionapp et exécutent manuellement une image Functions.
Important
Cette approche n’est pas prise en charge. Il ne dispose pas de règles d'échelle automatique et ne reçoit pas de fonctionnalités à venir de la plateforme Azure Container Apps V2 comme la liste des fonctions, les clés et le nombre d'invocations.
Recommandation : Migrer vers les fonctions sur Azure Container Apps v2.
Prerequisites
Avant de migrer :
- Abonnement Azure et autorisation de créer des ressources.
- [Azure CLI](/cli/azure/install-azure-cli-windows ?view=azure-cli-latest (dernier) installé.
- Extensions requises :
az extension add --name containerapp,az extension add --name functionapp(le cas échéant). - Accès à l’image conteneur utilisée par vos fonctions sur le déploiement Azure Container Apps V1.
- Inventaire des variables d’environnement, des secrets, des liaisons de stockage et des paramètres réseau.
Procédure de migration
1. Préparer
- Identifiez que votre déploiement actuel est une application Functions on Azure Container Apps V1.
- Exportez toutes les données de configuration, notamment les variables d’environnement, les secrets, les chaînes de connexion et les liaisons personnalisées.
- Passez en revue les quotas d’environnement (processeur, mémoire, instances maximales) et ajustez si nécessaire.
- Vérifiez la disponibilité de l’image dans votre Registre.
2. Créer une fonction sur Azure Container Apps v2
Créez ou réutilisez un environnement Azure Container Apps.
Déploie une nouvelle fonction sur l’application Azure Container Apps V2 avec la même image.
az containerapp create \ --name my-func-v2 \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVRONMENT_NAME> \ --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \ --kind functionapp \ --ingress external --target-port <TARGET_PORT>Réappliquez les détails de configuration, notamment les secrets, les variables d’environnement, l’identité, la mise en réseau.
Activez l’authentification ou le domaine personnalisé si nécessaire.
Définissez les règles de mise à l’échelle (HTTP, PROCESSEUR, corrélation des déclencheurs de file d’attente selon les besoins).
3. Valider
Appeler des fonctions déclenchées par HTTP (curl ou browser).
Testez chaque type de déclencheur (Event Hubs, Service Bus, minuteur).
Vérifiez les données de télémétrie d'Application Insights et les journaux de Log Analytics.
Vérifiez le comportement de mise à l’échelle sous charge (déclenchement de règles de mise à l’échelle automatique).
Vérifiez que les secrets et les chaînes de connexion sont résolus correctement.
Vérifiez la vérification de l'état de santé et les détails de la révision du conteneur.
4. Mettre à jour dns ou des domaines personnalisés (facultatif)
Si vous utilisez un domaine personnalisé, mappez-le au nouveau nom d'hôte Functions on Azure Container Apps V2 (CNAME ou enregistrement A).
Relier des certificats SSL/TLS (gérés ou téléchargés).
Testez la résolution de domaine et le handshake TLS.
Communiquer les modifications de point de terminaison en interne.
5. Migrer
Déplacer le trafic de production (mettre à jour la durée de vie DNS ou les règles de routage).
Surveillez la latence, les erreurs et les nombres d’appels.
Ajustez les paramètres de mise à l’échelle si nécessaire (refroidissement, instances min/max).
Surveillez les journaux pour détecter des anomalies pendant les premières heures.
6. Nettoyer
Désactivez les anciennes fonctions sur l’application Azure Container Apps V1 et les ressources associées.
Caution
Vérifiez qu’aucun trafic de production n’est toujours dirigé vers le point de terminaison V1 de Functions sur Azure Container Apps avant de le supprimer.
Supprimez les secrets inutilisés ou les références de stockage.
Mettez à jour la documentation interne et les runbooks opérationnels.
Liste de vérification de validation
| Élément | Critères de réussite |
|---|---|
| Les déclencheurs s'activent | Tous les déclencheurs configurés s’exécutent correctement |
| Journaux de logs et télémétrie | Application Insights affiche des invocations et un flux de journaux en direct |
| Croissance | Le nombre d’instances s’ajuste par configuration de règle |
| Authentification (si activée) | Les points de terminaison protégés retournent les codes d’état attendus |
| Domaines | Domaine personnalisé résolu avec un certificat valide |
| Secrets | Chargement de valeurs sensibles sans erreurs |
Améliorations opérationnelles (facultatives)
Améliorez la fiabilité après la migration :
- Ajouter des règles d’alerte
- Régler l’échelle automatique
- Appliquer l’utilisation des identités managées
- Centraliser les secrets