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.
Azure Resource Graph (ARG) est conçu pour des requêtes rapides et à grande échelle sur vos ressources Azure. Parce que l’ARG indexe les données de manière asynchrone, il est important de comprendre quand interroger directement l’ARG et quand revenir au fournisseur de ressource (RP) qui possède la ressource – la source de vérité pour son état de ressource. Cet article explique comment l'ARG s'intègre dans le plan de contrôle Azure, quand utiliser une stratégie hybride ARG + RP de requête, et comment choisir entre RP, l'API de requête d'ARG et son API Get/List.
Comment l’ARG s’intègre dans le plan de contrôle Azure
Le plan de contrôle des ressources comporte trois composantes :
Azure Resource Manager (ARM) – la passerelle de requête pour l’ARG. ARM aroute les requêtes vers ARG sans avoir à effectuer des appels individuels à chaque fournisseur de ressources.
Les fournisseurs de ressources (par exemple, le Fournisseur de Ressources de Calcul, ou CRP) – la source de vérité pour l’état de la ressource. Les appels directs vers les API d’un fournisseur de ressources renvoient des données fortement cohérentes.
Azure Resource Graph (ARG) – un index asynchrone sur des données de plan de contrôle, conçu pour des requêtes à haut débit et évolutives sur de grands ensembles de ressources. L’ARG est quasi en temps réel et repose sur un modèle de cohérence à terme, en raison de la nature distribuée du système qui prend en charge l’API. Il présente un léger décalage par rapport à la source de référence, parfois plus important en cas de perturbations du backend.
ARG reste synchronisé grâce à deux mécanismes : des notifications de modification asynchrones provenant d’ARM et des fournisseurs de ressources, ainsi que des cycles périodiques de rapprochement qui permettent de repérer tout élément qu’une notification n’aurait pas signalé.
Note
ARG privilégie la scalabilité et le débit au détriment d’une forte cohérence. Les API des fournisseurs de ressources privilégient le débit au détriment de l’exactitude à un instant donné. Choisissez en fonction de celui dont votre entreprise a besoin.
Utiliser une stratégie de requête hybride pour les scénarios critiques
Dans les situations où la fraîcheur et la fiabilité des données comptent, utilisez une stratégie hybride : interroger l’ARG pour l’échelle, puis revenir à l’API du fournisseur de ressources lorsque vous détectez un problème de fraîcheur des données, un retard d’indexation, une latence élevée ou avant de prendre une action critique basée sur l’état des ressources. Cette approche évite deux modes de défaillance simultanément – le coût d’appeler toujours directement le RP, et le risque d’agir sur des données ARG obsolètes comme si elles étaient actuelles (par exemple, redémarrer ou déprovisionner une ressource sur la base d’un état obsolète).
Scénarios courants
Interrogation immédiatement après la création de la ressource – Certains workflows interrogent une ressource dans les 1 à 2 secondes suivant sa création — par exemple, en attendant d’atteindre provisioningState un état final, ou en attendant que certaines propriétés apparaissent dans la réponse. Comme l’indexation ARG peut ne pas être complète, une requête lancée aussi peu de temps après la création peut être revenguée 404 Not Found même si la ressource existe. Utilisez une stratégie hybride pour éviter les faux négatifs : si ARG renvoie « introuvable » immédiatement après une opération d’écriture, rabattez-vous sur le fournisseur de ressources avant de traiter ce résultat comme une erreur.
Vérification de l’état avant une opération destructrice - Si votre workflow utilise l’ARG pour identifier les ressources candidates à une opération, et que cette opération est destructrice (supprimer, redémarrer, déprovisionner), n’agissez pas directement sur le résultat ARG. La latence du back-end peut rendre obsolète la vue d’ARG sur une ressource. Ce risque est important lorsque l’action résultante ne peut être annulée.
Important
Utilisez ARG pour construire votre liste de candidats, puis effectuez un contrôle de cohérence forte contre le fournisseur de ressources immédiatement avant d’exécuter l’action destructrice.
Recommandations pour gérer la cohérence éventuelle d’ARG
Effectuez une vérification uniquement avant les actions irréversibles, et non à chaque interrogation. Ajoutez une vérification secondaire du fournisseur de ressources avant des flux de travail qui impactent le client ou sont destructeurs — pas sur chaque requête ARG. Effectuer une vérification à chaque interrogation va à l’encontre de l’objectif d’ARG et peut déclencher une limitation à grande échelle. Le schéma est : faites confiance à l’ARG pour l’identification et l’échelle, vérifiez avec la source de vérité juste avant toute chose irréversible.
Tip
Si la vérification au volume de votre opération suscite des préoccupations en matière de limitation, contactez Microsoft avant d’atteindre une limite. Les augmentations de quotas pour soutenir ce schéma sont une demande justifiée et attendue — pas un cas particulier.
Ajoutez le temps d’attente entre les requêtes ARG suivantes lorsque votre scénario le permet. Là où c’est le cas, utilisez un recul exponentiel : commencez avec quelques secondes avant la première tentative, et augmentez le temps d’attente à chaque tentative suivante (par exemple, 2 secondes → 4 secondes → 8 → 16 secondes...) jusqu’à un plafond de quelques minutes. Arrêtez d’augmenter une fois que vous atteignez ce plafond, et soit continuez à sonder à l’intervalle plafonné, soit revenez à l’API du fournisseur de ressources.
Considérez l’API ARG Get/List pour les sondages à haute fréquence. Consultez cette section qui explique davantage la mise en place d’un plan B avec l’API Get/List.
Comparaison des API
Utilisez ce tableau pour décider quelle API correspond à votre scénario.
| Fonctionnalité | API fournisseurs de ressources (exemple : CRP) | API de requête ARG | API Get/List d’ARG |
|---|---|---|---|
| Qu’est-ce que c’est ? | Appels directs aux API propres d’un fournisseur de ressources (par exemple, les API VM/VMSS) pour interroger les ressources et l’inventaire. | API de requêtes en masse d'Azure Resource Graph, disponible via Resource Graph Explorer dans le portail Azure, Azure PowerShell, Azure CLI, SDKs et API REST. | Utilise les API Get/List du plan de contrôle existantes avec useResourceGraph=true ajouté, qui achemine l’appel via le backend ARG. Disponible via les API REST d’Azure et certains SDK. |
| Référence | Trouver les fournisseurs de ressources par Azure services |
Exécutez une requête Azure Resource Graph en utilisant l’API REST, qui utilisePOST /providers/Microsoft.ResourceGraph/resources |
L’API GET/LIST ARG exploite les API GET du plan de contrôle existantes, ajoutant le drapeau useResourceGraph=true aux API qui acheminent l’appel vers ce backend de manière fluide. |
| Idéal pour | • Requêtes de faible ampleur, ad hoc ou peu fréquentes sur les API du plan de contrôle. • Des scénarios nécessitant des données fortement cohérentes directement de la source de vérité. • Une vérification finale avant une opération destructrice ou irréversible (suppression, redémarrage, déprovisionement). • Un plan B lorsque les données ARG sont obsolètes. |
• Recherches en masse au niveau du locataire qui effectuent des jointures entre plusieurs locataires, abonnements, groupes de ressources ou groupes de gestion pour des scénarios analytiques complexes. • Analyse ou interrogation de nombreuses ressources (plusieurs milliers) pour connaître leur état. |
• Les recherches portent sur la surface complète de l’API get/list pour un seul abonnement ou groupe de ressources. • Scénarios de sondages à forte concurrence et à fort débit. |
| Quota de limitation de débit | Cela varie selon la ressource et l’exploitation, généralement inférieur aux limites de l’ARG. Exemple : GET sur les VM VMSS est de 36 appels/min au niveau des ressources et 2 000 appels/min au niveau de l’abonnement. | 15 requêtes toutes les 5 secondes. Peut être soulevé au cas par cas. | Correspond aux limites ARM — jusqu’à 4 000 requêtes/min/abonnement/appelant. C’est une limite souple et elle peut être rehaussée selon les besoins. |
| Niveau de cohérence | Fortement cohérent — c’est la source de la vérité. | Suit un modèle de cohérence éventuelle. Les données sont indexées dans le backend ARG avec une latence de quelques minutes, généralement inférieure à 1 minute. | Suit un modèle de cohérence éventuel. Les données sont indexées dans le backend ARG avec une latence de quelques minutes, généralement inférieure à 1 minute. |
| Disponibilité | Les API de plans de contrôle elles-mêmes ne portent pas de SLA, mais les ressources gérées par celles-ci en ont – par exemple, Azure VM portent un SLA de 99,9% ou plus selon les options de redondance. | Pas de SLA public. | Pas de SLA public. |
| Phase du cycle de vie du produit | Disponibilité générale (GA) | Disponibilité générale (GA) | Disponibilité générale (GA) |
| Tarification | On peut appeler gratuitement. Les ressources créées ou gérées via ces API (VM, stockage, etc.) sont soumises à des frais Azure standards. | Gratuit | Gratuit |
Note
Les limites de limitation de débit varient selon le type de ressource et l’opération. Les figures ci-dessus sont des exemples (VMSS montré pour la colonne fournisseur de ressources) – vérifiez les limites de courant pour votre type de ressource et votre région spécifiques plutôt que de traiter ces chiffres comme des constantes fixes.
Le modèle de secours hybride comme l’API Get/List permettent de récupérer l’état des ressources le plus exact possible, sans être bloqué par des problèmes temporaires d’actualisation des données.