Tous les produits
Search
Centre de documentation

:FAQ EAS

Dernière mise à jour :Aug 09, 2026

Trouvez les réponses aux questions fréquentes sur les services d'inférence en ligne EAS, notamment les problèmes de déploiement, les stratégies de mise à l'échelle et les étapes de dépannage.

Interrogez d'abord l'assistant PAI

L'assistant IA PAI (Xiao PAI) couvre toute la suite de produits PAI : il fournit des conseils d'utilisation et offre des capacités de diagnostic pour les instances DSW, les tâches DLC et les services EAS. Il identifie automatiquement les causes d'échec et recommande les prochaines étapes ainsi que les outils appropriés.

image

Problèmes de déploiement et d'état des services

Après le déploiement d'un service, consultez l'état des instances, les journaux et les événements dans la liste Overview de la page Service instances pour résoudre les problèmes.

Q : Le service reste bloqué à l'état Waiting pendant une longue période. Comment résoudre ce problème ?

Lorsque vous déployez un service, celui-ci passe à l'état Waiting pendant la planification des ressources et le démarrage des instances. Lorsque toutes les instances ont démarré avec succès, le service passe à l'état Running. Les scénarios suivants peuvent provoquer un état Waiting prolongé :

Scénario 1 : Ressources insuffisantes — toutes ou certaines instances affichent l'état Pending.

Cela signifie que le groupe de ressources dédié ne dispose pas de suffisamment de ressources libres pour planifier les instances.

Vérifiez que les nœuds du groupe de ressources dédié disposent de suffisamment de CPU, de mémoire et de GPU libres. Si une instance nécessite 3 cœurs et 4 Go de mémoire, au moins un nœud du groupe de ressources doit disposer de 3 cœurs et de 4 Go de mémoire disponibles.

Important

Pour éviter les pannes système sous forte charge, chaque nœud de machine réserve 1 cœur pour les composants système. Soustrayez 1 cœur du total lors du calcul des ressources planifiables.

La liste des nœuds du groupe de ressources dédié est présentée ci-dessous. Pour afficher les détails du groupe de ressources, consultez la rubrique Groupes de ressources EAS. Sur la page du groupe de ressources, cliquez sur l'onglet Machine list et vérifiez les colonnes CPU (used/total), GPU (used/total) et Memory (used/total) pour connaître l'utilisation des ressources de chaque nœud.

Scénario 2 : Vérification d'intégrité non terminée — les instances affichent l'état Running, mais le nombre de conteneurs est généralement [0/1] ou [1/2].

Le nombre avant la barre oblique (/) indique combien de conteneurs ont démarré avec succès. Le nombre après indique le total. Lorsque vous déployez un service à l'aide d'une image personnalisée, EAS injecte automatiquement un conteneur sidecar pour la gestion du trafic et la surveillance. Vous n'avez pas besoin de gérer ce conteneur. Dans la console, le nombre total de conteneurs est de 2 : votre conteneur personnalisé et le conteneur sidecar du moteur. Les deux conteneurs doivent atteindre l'état Ready avant que l'instance ne soit considérée comme démarrée et commence à accepter le trafic.

Scénario 3 : Échec de la vérification d'intégrité — le port configuré dans le service EAS ne correspond pas au port défini dans votre code.

Description du problème : Pour un service EAS qui utilise Flask (ou d'autres frameworks web tels que FastAPI, Sanic ou Django) pour servir une API, les journaux affichent Running on http://127.0.0.1:7000 après le déploiement :

[2025-07-18 18:50:46] WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
[2025-07-18 18:50:50]  * Serving Flask app 'service'
[2025-07-18 18:50:50]  * Debug mode: off
[2025-07-18 18:50:50] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
[2025-07-18 18:50:50]  * Running on all addresses (0.0.0.0)
[2025-07-18 18:50:50]  * Running on http://127.0.0.1:7000
[2025-07-18 18:50:50]  * Running on http://xxx:7000
[2025-07-18 18:50:50] Press CTRL+C to quit

Pourtant, la console PAI affiche toujours le service EAS à l'état Waiting.

Cause racine : La vérification d'intégrité du worker du service EAS échoue. Le worker expose le port 8089, mais Flask écoute sur le port 7000.

Solution : Mettez à jour le port dans la configuration du service EAS pour qu'il corresponde au port de votre code, puis redémarrez le service.

Q : Le service est à l'état Failed. Comment résoudre ce problème ?

Un service passe à l'état Failed dans deux situations :

  • Pendant le déploiement : Si une ressource spécifiée au moment du déploiement (comme un chemin de modèle) n'existe pas, l'état du service affiche la raison de l'erreur. Le message d'erreur indique généralement pourquoi le déploiement a échoué.

  • Pendant le démarrage : Si le service échoue après la réussite du déploiement et le début de la planification, l'état affiche : Instance <network-test-5ff76448fd-h9dsn> not healthy: Instance crashed, please inspect instance log.

    Ce message signifie qu'une ou plusieurs instances n'ont pas pu démarrer. Consultez la liste Service instances sur la page Overview du service pour identifier la cause spécifique. Les causes d'échec courantes incluent :

    • L'instance a manqué de mémoire pendant le démarrage et le système l'a arrêtée (OOMKilled). Redéployez le service avec une allocation de mémoire plus élevée. Dans la liste des instances, la colonne Last exit reason affiche OOMKilled(247), indiquant que le conteneur a été arrêté pour avoir dépassé la limite de mémoire. Vérifiez les colonnes Restart count et Last exit reason pour une confirmation supplémentaire.

    • Une erreur de code a provoqué un crash pendant le démarrage. Dans ce cas, Last status affiche Error(code d'erreur). Cliquez sur Log dans la colonne Actions de l'instance pour consulter les journaux du service et identifier l'échec du démarrage.

    • L'image du service n'a pas pu être extraite. Consultez la section Que faire si l'extraction d'image échoue (ImagePullBackOff) ?

Q : Que faire si l'extraction d'image échoue (ImagePullBackOff) ?

Si la colonne Last exit reason de la liste des instances de service affiche ImagePullBackOff, l'extraction de l'image a échoué. Si une icône apparaît dans la colonne Status , cliquez dessus pour afficher la raison spécifique.

Les causes courantes d'échec de l'extraction d'image sont répertoriées ci-dessous :

Cause

Message d'erreur

Solution

Espace disque système insuffisant

no space left on device

Étendez le disque système.

Contrôle d'accès ACR non configuré

no such host

Pour utiliser une adresse d'image publique, activez l'accès public pour ACR.

Pour utiliser une adresse d'image privée :

  1. Ajoutez un VPC tel que eas_vpc à EAS.

  2. Ajoutez eas_vpc aux paramètres de contrôle d'accès de votre instance ACR Enterprise Edition. Consultez la rubrique Configurer le contrôle d'accès VPC pour ACR.

Mauvaise configuration du réseau EAS

dial tcp * timeout

Pour utiliser une adresse d'image publique, configurez l'accès Internet pour EAS.

Identifiants manquants ou invalides

  • 401 Unauthorized

  • authorization failed

Si votre instance ACR Enterprise Edition n'autorise pas les extractions anonymes et que vous effectuez une extraction interrégionale via Internet, configurez le nom d'utilisateur et le mot de passe du registre d'images dans la configuration du service EAS. Consultez la rubrique Configurer les identifiants d'accès.

En fonction des régions où se trouvent le registre d'images et le service EAS, suivez les instructions suivantes :

  • Même région : Extrayez les images à l'aide de l'adresse d'image privée.

  • Régions différentes : ACR Personal Edition prend uniquement en charge les adresses d'images publiques. Pour ACR Enterprise Edition, choisissez en fonction de vos besoins :

    • Pour une sécurité et une fiabilité accrues, utilisez une adresse d'image privée. Cela nécessite de connecter les VPC via CEN. Consultez la rubrique Accéder aux instances ACR Enterprise Edition entre régions ou depuis un centre de données.

    • Pour des scénarios plus simples ou lorsque la connectivité au réseau privé n'est pas encore disponible, utilisez une adresse d'image publique comme solution temporaire. Les téléchargements via le réseau public sont plus lents.

Notes supplémentaires pour ACR Enterprise Edition :

  • Configurez le contrôle d'accès pour l'accès VPC et l'accès au réseau public selon vos besoins.

  • Si le dépôt n'autorise pas les extractions anonymes, les extractions interrégionales via l'adresse publique nécessitent la configuration du nom d'utilisateur et du mot de passe du registre d'images dans le service EAS.

Q : Le service EAS redémarre automatiquement après avoir été arrêté. Que se passe-t-il ?

Description du problème : Un service EAS redémarre tout seul après avoir été arrêté pendant une certaine période.

Cause racine :

Le service est configuré avec une mise à l'échelle automatique dont le nombre minimal d'instances est de 0. Lorsque le trafic s'arrête pendant une certaine période, le nombre d'instances revient automatiquement à 0. Si une requête arrive alors qu'aucune instance n'est disponible en raison de cette réduction, EAS déclenche automatiquement une augmentation de la capacité — cela ne nécessite pas que le seuil de mise à l'échelle configuré soit atteint.

Vérifiez les événements de déploiement pour les messages auto scaling afin de confirmer si une mise à l'échelle automatique a eu lieu. Une entrée Service is now auto scaling dans la colonne d'informations indique que le service a été déclenché pour augmenter sa capacité automatiquement, après quoi l'état de l'événement passe de Waiting à Scaling, puis à Running, et le nombre d'instances disponibles passe de 0 à 1.

Solution :

  • Si le service n'est plus nécessaire, supprimez-le.

  • Pour conserver le service mais empêcher le redémarrage automatique, arrêtez-le via la console ou en appelant l'API StopService . Un service arrêté manuellement ne sera pas mis à l'échelle lorsque du trafic arrivera.

  • Pour empêcher la mise à l'échelle automatique d'arrêter le service, ne définissez pas le nombre minimal d'instances sur 0.

  • Désactivez entièrement la mise à l'échelle automatique si vous craignez qu'un trafic inattendu ne déclenche une augmentation de la capacité.

Q : Le démarrage de PAI-EAS échoue avec IoError(Os { code: 28, kind: StorageFull, message: "No space left on device" })

Description du problème :

[2024-10-21 20:59:33] serialize_file(_flatten(tensors), filename, metadata=metadata)

[2024-10-21 20:59:33] safetensors_rust.SafetensorError: Error while serializing: IoError(Os { code: 28, kind: StorageFull, message: "No space left on device" })

[2024-10-21 20:59:35] time="2024-10-21T12:59:35Z" level=info msg="program stopped with status:exit status 1" program=/bin/sh

Cause racine : Le disque système de l'instance EAS est plein en raison de fichiers de modèle volumineux. Cela empêche le service de démarrer.

Solutions :

Option 1 : Étendez le disque système de l'instance EAS.

Option 2 : Si les fichiers de modèle sont trop volumineux, stockez-les dans un stockage externe (OSS, NAS ou similaire) et lisez-les à l'aide des montages de stockage .

Q : Le déploiement échoue avec fail to start program with error: fork/exec /bin/sh: exec format error

L'erreur exec format error signifie que le système d'exploitation ne peut pas exécuter le binaire cible. La cause la plus fréquente est une incompatibilité d'architecture CPU entre l'exécutable ou l'image de conteneur et la machine hôte.

Essayez une spécification de ressource différente.

Q : Erreur : Invalid GPU count 6, only supported: [0 1 2 4 8 16]

Le nombre de GPU par service doit être une puissance de 2 pour maximiser l'efficacité de la communication inter-GPU.

Nombre de GPU pris en charge par service : 0, 1, 2, 4, 8 ou 16.

Problèmes de ressources

Pour les questions relatives aux ressources de calcul et à l'utilisation du disque système, consultez la rubrique FAQ sur la configuration des ressources .

Mises à jour et mise à l'échelle des services

Q : Quelles stratégies de mise à l'échelle EAS prend-il en charge ?

Choisissez une stratégie de mise à l'échelle en fonction des besoins de votre charge de travail. EAS prend en charge la mise à l'échelle automatique horizontale et la mise à l'échelle planifiée.

Pour la mise à l'échelle automatique horizontale, configurez-la en fonction de métriques personnalisées telles que les QPS ou l'utilisation du CPU. Pour les méthodes de calcul des métriques et les détails de configuration, consultez la rubrique Mise à l'échelle automatique horizontale .

Pour éviter les oscillations dues aux fluctuations des métriques, EAS applique une bande de tolérance de 10 % aux seuils. Par exemple, avec un seuil QPS de 10, la mise à l'échelle vers le haut se déclenche lorsque les QPS dépassent constamment 11 (10 × 1,1). Cela signifie que :

  • Les pics brefs de QPS entre 10 et 11 ne déclenchent pas immédiatement la mise à l'échelle vers le haut.

  • La mise à l'échelle vers le haut ne se déclenche que lorsque les QPS restent à 11–12 ou plus pendant une période soutenue.

Cette bande de tolérance réduit les modifications de ressources inutiles et améliore la stabilité et l'efficacité des coûts.

Q : Où s'exécutent les instances mises à l'échelle vers le haut ?

Si vous utilisez un groupe de ressources dédié avec un pool de ressources élastique configuré, les instances sont mises à l'échelle vers le groupe de ressources public lorsque le groupe de ressources dédié ne dispose d'aucun nœud disponible.

Q : Comment mettre à jour un service sans interruption ?

  • Scénario : Mettre à jour le service sans interruption. Lorsque le groupe de ressources dédié ne dispose pas d'une capacité suffisante, exécutez temporairement de nouvelles instances sur des ressources publiques, puis replanifiez-les vers le groupe de ressources dédié après la mise à jour.

  • Solution : Combinez les mises à jour progressives, la déscheduling des ressources à haute priorité et un pool de ressources élastique.

    1. Configurez les mises à jour progressives : Cela permet d'éviter les interruptions de service. Sous Service features > Stability assurance, configurez la stratégie de mise à jour progressive. Pour plus de détails, consultez la rubrique Mises à jour progressives et arrêt gracieux . Sur la page de déploiement personnalisé, dans la section Stability assurance, activez Rolling update, puis définissez les paramètres Max surge et Max unavailable dans la boîte de dialogue de configuration et cliquez sur OK.

    2. Activez un pool de ressources élastique : Cela permet aux instances qui dépassent la capacité des ressources dédiées de s'exécuter sur des ressources publiques à la demande. Pour plus de détails, consultez la rubrique Pool de ressources élastique .

    3. Activez high-priority resource descheduling : Lorsque le groupe de ressources dédié libère de la capacité (par exemple, après la suppression des anciennes instances), EAS replanifie automatiquement les instances exécutées sur des ressources publiques vers le groupe de ressources dédié afin de réduire les coûts.

Problèmes d'appel de service

Erreurs d'appel

Effectuez le dépannage en fonction du code d'état HTTP renvoyé. Pour plus de détails, consultez la rubrique Codes d'état et erreurs des services .

HTTPS et domaines personnalisés

Q : EAS prend-il en charge les appels HTTPS ?

Oui. Remplacez http:// par https:// dans l'URL du endpoint du service pour activer le transport chiffré. Si le client (tel que la bibliothèque Python requests ) signale une erreur de vérification du certificat SSL, il s'agit d'un problème de configuration côté client, et non d'un problème EAS.

Q : Comment forcer l'accès HTTPS uniquement ?

  • Passerelle partagée : La redirection HTTPS n'est pas prise en charge.

  • Passerelle dédiée : Pris en charge. Activez HTTPS redirect dans la configuration de la passerelle dédiée. Une fois activée, toutes les requêtes HTTP sont automatiquement redirigées vers HTTPS.

Q : Puis-je appeler un service à l'aide d'un domaine personnalisé ?

Oui. Créez et utilisez une passerelle dédiée entièrement gérée, puis configurez votre domaine personnalisé dans les paramètres de la passerelle. Pour plus de détails, consultez la rubrique Utiliser une passerelle dédiée .

Gestion des jetons

Q : Le jeton du service expire-t-il ou change-t-il ?

Non. Le Token généré lors du déploiement d'un service est de longue durée. Le redémarrage, la mise à jour (sauf si vous modifiez manuellement la méthode d'authentification) ou la mise à l'échelle du service ne modifient pas le Token. Le Token n'est invalidé que lorsque vous le réinitialisez manuellement ou que vous supprimez le service.

Q : Puis-je créer plusieurs jetons pour un seul service ?

Non. Chaque instance de service EAS prend en charge un seul Token d'authentification. Pour la gestion des autorisations multi-utilisateurs ou le suivi distinct de l'utilisation, utilisez l'authentification basée sur Alibaba Cloud RAM ou une solution de contrôle d'accès similaire.

Autres problèmes d'appel

Q : Comment activer les réponses en streaming pour un service LLM ?

EAS ne dispose pas de commutateur global pour le streaming. Spécifiez le streaming individuellement dans le corps de chaque requête API. Par exemple, lors de l'appel d'un service LLM compatible OpenAI, incluez "stream": true dans le corps de la requête JSON.

Q : Quelle est la différence entre les appels via l'adresse VPC et la connexion directe VPC ?

  • Appels via l'adresse VPC : Les requêtes passent par un SLB interne plus une passerelle (les appels via l'adresse publique passent par un SLB public plus une passerelle). Il s'agit du chemin de requête standard. Chaque requête passe par le transfert de couche 4 au niveau du SLB et le transfert de couche 7 au niveau de la passerelle avant d'atteindre l'instance de service. En cas de forte concurrence et de trafic intense, ce transfert ajoute une surcharge de latence. La passerelle possède également un plafond de bande passante (1 Gbps par défaut).

  • Connexion directe VPC : EAS propose un mode de connexion directe à haute vitesse qui répond aux exigences de performance et d'évolutivité sans coût supplémentaire. L'activation de la connexion directe VPC établit un chemin réseau entre votre VPC et le VPC du service EAS. Vos requêtes utilisent la découverte de service EAS pour localiser le service, puis effectuent un équilibrage de charge logiciel côté client. Cela nécessite le SDK EAS et le réglage de endpoint_type sur DIRECT.

    Par exemple, dans le scénario du SDK Python , ajoutez la ligne suivante à votre code pour passer des appels via la passerelle à la connexion directe :

    • client = PredictClient('http://pai-eas-vpc.cn-hangzhou.aliyuncs.com', 'mnist_saved_model_example')
      client.set_token('M2FhNjJlZDBmMzBmMzE4NjFiNzZhMmUxY2IxZjkyMDczNzAzYjFi****')
      client.set_endpoint_type(ENDPOINT_TYPE_DIRECT) # Direct link
      client.init()

Autorisations et mise en réseau

Q : Pourquoi un utilisateur RAM ne peut-il pas créer ou supprimer automatiquement le rôle lié au service EAS ?

Seuls les utilisateurs disposant d'autorisations spécifiques peuvent créer ou supprimer automatiquement AliyunServiceRoleForPaiEas . Si un utilisateur RAM ne peut pas effectuer cette action, accordez-lui la stratégie requise comme suit :

  1. Créez la stratégie suivante en tant que stratégie personnalisée à l'aide de la méthode de configuration basée sur des scripts. Pour plus de détails, consultez la rubrique Créer une stratégie personnalisée .

    Stratégie pour créer ou supprimer un rôle lié au service

    {
      "Statement": [
        {
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "eas.pai.aliyuncs.com"
            }
          }
        }
      ],
      "Version": "1"
    }
  2. Attachez la stratégie personnalisée créée à l'étape précédente à l'utilisateur RAM cible. Pour plus de détails, consultez la rubrique Gérer les autorisations des utilisateurs RAM .

Q : Comment un service EAS accède-t-il à Internet ?

Les services EAS n'ont pas accès à Internet par défaut. Pour activer l'accès à Internet, configurez un VPC avec connectivité Internet pour le service EAS. Consultez la rubrique Accès EAS aux ressources publiques et privées .

Gestion des services

Q : EAS prend-il en charge l'accès SSH aux instances ?

Non. EAS est un service géré et ne fournit pas d'accès SSH aux conteneurs. Pour exécuter des commandes spécifiques au démarrage du conteneur, spécifiez-les dans le champ Run Command de la configuration du service.

Q : Quels sont les états des services EAS ?

Les services EAS présentent les états suivants. Vous pouvez également consulter l'état dans la colonne d'état sur la page Model Serving (EAS) .

  • Creating

  • Waiting — en attente du démarrage des instances

  • Stopped

  • Failed

  • Updating — les instances sont en cours de mise à jour

  • Stopping

  • HotUpdate — mise à jour sans remplacement des instances

  • Starting

  • DeleteFailed

  • Running

  • Scaling — les instances sont en cours de mise à l'échelle

  • Pending — en attente de traitement

  • Deleting

  • Completed

  • Preparing

Q : Comment savoir quel utilisateur RAM a créé un service ?

Interrogez les événements dans la console ActionTrail . Définissez le filtre de nom d'événement sur CreateService . Pour plus de détails, consultez la rubrique Interroger les événements dans la console ActionTrail .

Q : Puis-je télécharger les images officielles PAI depuis Internet ?

Non. Les images officielles PAI sont des images internes à la plateforme et ne peuvent être utilisées qu'au sein de la plateforme PAI. Elles ne peuvent pas être téléchargées en dehors des conteneurs de la plateforme.

Q : Quelles sont les règles d'unicité pour les noms de service PAI-EAS et les ID de service ?

  • Unicité du nom de service : Les noms de service EAS sont uniques au niveau mondial dans une seule région. Si vous voyez une erreur « le nom de service existe déjà » lors de la création d'un service, mais que le nom n'apparaît pas dans la liste Model Serving (EAS) , un autre utilisateur de la même région a pris ce nom. Choisissez un nom différent et réessayez.

  • Unicité de l'ID de service : Les ID de service PAI-EAS sont uniques au niveau mondial et attribués automatiquement par le système. Vous ne pouvez pas les spécifier manuellement.

Q : Le nom du service peut-il être modifié après le déploiement du service ?

Non. Le nom du service ne peut pas être modifié après sa création. En tant qu'identifiant unique pour les appels API et les opérations de gestion, le champ du nom du service est désactivé dans le formulaire Update de la console. Si vous devez modifier le nom du service, créez un nouveau service et supprimez le service d'origine. Notez que cela entraînera une interruption de service et un changement d'adresse IP.

Q : Dois-je racheter EAS après avoir désactivé le module ? Que faire si je ne trouve pas mes instances de service ?

  • Aucun rachat nécessaire : Une fois activé, PAI-EAS reste disponible indéfiniment. Pour l'utiliser à nouveau, accédez à la console PAI , sélectionnez ou créez un espace de travail, et créez une instance EAS dans cet espace de travail. Aucun achat supplémentaire ni réactivation n'est requis.

  • Si vous ne trouvez pas vos instances :

    1. Connectez-vous à la console PAI et vérifiez que l'Workspace affiché en haut de la page est bien celui que vous recherchez.

    2. Si l'espace de travail a été supprimé ou changé, recherchez la liste Model Serving (EAS) depuis la page Overview ou dans l'espace de travail cible.

    3. Si la liste n'affiche aucune donnée et aucune instance, aucune instance EAS facturable n'a été créée dans cet espace de travail. L'activation du module seul n'entraîne aucun frais et ne nécessite aucun nettoyage supplémentaire.

Autres

Q : Pourquoi ne puis-je pas sélectionner un compartiment OSS lors du déploiement d'un service EAS ?

Lors du déploiement d'un service EAS, vous pouvez monter des modèles et du code en spécifiant des emplacements de stockage. Assurez-vous que le compartiment OSS et le système de fichiers NAS se trouvent dans la même région que le service EAS. Le stockage interrégional ne peut pas être sélectionné.

Q : Problèmes TensorFlow

Pour plus de détails, consultez la rubrique FAQ TensorFlow .