Tous les produits
Search
Centre de documentation

Elastic Compute Service:Vérifier les résultats des commandes Cloud Assistant et résoudre les problèmes

Dernière mise à jour :Aug 18, 2026

Consultez les résultats d'exécution des commandes Cloud Assistant, diagnostiquez les échecs à l'aide des codes d'erreur et résolvez les problèmes courants.

Contexte

Les commandes peuvent échouer pour diverses raisons : dépendances manquantes, problèmes réseau, erreurs de syntaxe, échecs de débogage ou état anormal de l'instance. Consultez les détails des erreurs dans les résultats d'exécution depuis la console ou via l'API.

Consulter les résultats d'exécution

Console

  1. Accédez à Console ECS - Cloud Assistant.

  2. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  3. Cliquez sur l'onglet Command execution result.

    • Si une commande s'est exécutée avec succès :

      1. Recherchez le résultat dont le Execution Status est Successful.

      2. Dans la colonne Actions, cliquez sur View.

      3. Sur l'onglet Task Completed de la page Instances, consultez la sortie de la commande.

        Dans le tableau des résultats d'exécution, la colonne Execution Status affiche Success et le ExitCode est 0. La zone ci-dessous affiche la sortie JSON renvoyée par la commande.

    • Si une commande a échoué :

      1. Recherchez le résultat dont le Execution Status est Task Failed.

      2. Dans la colonne Actions, cliquez sur View.

      3. Sur l'onglet Task Failed de la page Instances, consultez les informations d'erreur.

        Pour les erreurs courantes et leurs solutions, reportez-vous à la section Erreurs d'exécution courantes et solutions.

        Dans l'exemple, le ExitCode est 5 et la description de l'erreur est The command execution ended with a non-zero exit code. Les informations clés dans la sortie de la commande incluent : Not ECS : False (indiquant que l'instance est une instance ECS). D'autres sorties incluent Version : 3.5.12, Region ID: cn-hangzhou et CPU Type : amd64.

    • Pour une commande planifiée :

      1. Recherchez le résultat dont le Execution Status est Scheduled.

      2. Dans la colonne Actions, cliquez sur View.

      3. Sur la page Instances, consultez les détails de l'exécution planifiée.

CLI

Pour l'utilisation de la CLI, reportez-vous à la rubrique Utiliser Alibaba Cloud CLI pour gérer les ressources Alibaba Cloud.

  1. Récupérez l'InvokeId à partir de la réponse de RunCommand ou de InvokeCommand.

  2. Interrogez les résultats en utilisant l'InvokeId et le RegionId. L'exemple suivant utilise la région Chine (Shanghai). Pour les autres ID de région, reportez-vous à la rubrique Régions et zones.

    • Consultez l'état d'exécution avec DescribeInvocations :

      aliyun ecs DescribeInvocations --RegionId cn-shanghai --InvokeId t-sh054h*****
    • Consultez les résultats d'exécution avec DescribeInvocationResults :

      aliyun ecs DescribeInvocationResults --RegionId cn-shanghai  --InvokeId t-sh054h******

API

  1. Récupérez l'InvokeId à partir de la réponse de RunCommand ou de InvokeCommand.

  2. Appelez DescribeInvocations ou DescribeInvocationResults en spécifiant l'InvokeId et l'ID de région.

Dépannage

Erreurs courantes

Code d'erreur

Message d'erreur

Recommandation

InstanceNotRunning

L'instance n'était pas en cours d'exécution lors de l'émission de la commande.

Assurez-vous que l'instance est dans l'état Running.

InstanceRestarted

L'instance a été redémarrée pendant l'exécution de la commande.

Évitez de redémarrer l'instance pendant l'exécution de la commande.

ClientNotRunning

Le Cloud Assistant Agent n'est pas en cours d'exécution.

Le Cloud Assistant Agent est arrêté ou n'est pas installé. Démarrez-le ou installez-le :

  1. Vérifiez le processus du Cloud Assistant Agent :

    • Linux :

      ps -ef |grep aliyun-service
    • Windows : Vérifiez si le processus aliyun_assist_service existe dans le Gestionnaire des tâches.

  2. Si le processus n'existe pas, démarrez-le :

    • Linux :

      # For Linux systems that support systemctl
      systemctl start aliyun.service
      
      # For Linux systems that do not support systemctl
      /etc/init.d/aliyun-service start
    • Windows : Démarrez le service Aliyun Assist Service dans le Gestionnaire de services.

Remarque

Si le Cloud Assistant Agent ne parvient toujours pas à démarrer, consultez la rubrique Installer le Cloud Assistant Agent pour le réinstaller.

ClientNetworkBlocked

L'instance rencontre des problèmes de connectivité réseau.

  1. Vérifiez la connectivité réseau. Si l'ID de l'instance est renvoyé, le réseau est connecté.

    curl https://{region-id}.axt.aliyun.com/luban/api/instance/instance-id
  2. Si l'ID de l'instance n'est pas renvoyé, vérifiez votre groupe de sécurité, votre pare-feu, votre DNS et votre table de routage. Autorisez le trafic sortant sur le port TCP 443, le port TCP 80 et le port UDP 53 sur le réseau interne afin que Cloud Assistant puisse atteindre :

    • https://{region-id}.axt.aliyun.com:443/

    • http://100.100.100.200:80/

    • http://aliyun-client-assist-{region-id}.oss-{region-id}-internal.aliyuncs.com

      Une réponse « AccessDenied » est attendue lors du test de la connectivité de ce domaine, car le bucket OSS est privé tandis que seul le fichier du package d'installation dispose d'autorisations de lecture publiques. Ce message indique une connexion réussie.

Remarque
  • {region-id} correspond à la région où réside l'instance, par exemple cn-hangzhou pour la région Chine (Hangzhou).

  • Pour les adresses des serveurs Cloud Assistant dans chaque région, reportez-vous à la section Configurations fines.

SecurityGroupRuleDenied

Une règle de groupe de sécurité refuse l'accès au service Cloud Assistant.

ClientNotResponse

Le Cloud Assistant Agent n'a pas répondu.

Vérifiez les journaux du Cloud Assistant Agent :

  1. Ouvrez le fichier journal du Cloud Assistant Agent. Chemins par défaut :

    • Linux : /usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/aliyun_assist_main.log

    • Windows : C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log\aliyun_assist_main.log

  2. Recherchez l'InvokeId de la commande dans le journal :

    • S'il est trouvé, vérifiez les entrées environnantes pour détecter des exceptions, par exemple si la commande s'est terminée et si son résultat a été signalé.

    • S'il n'est pas trouvé, relancez la commande. Si l'échec persiste, redémarrez le Cloud Assistant Agent :

      • Linux :

        # For Linux systems that support systemctl
        systemctl restart aliyun.service
        
        # For Linux systems that do not support systemctl
        /etc/init.d/aliyun-service restart
      • Windows : Redémarrez le service Aliyun Assist Service dans le Gestionnaire de services.

ClientNeedUpgrade

Le Cloud Assistant Agent doit être mis à niveau pour prendre en charge la fonctionnalité spécifiée.

  • Vérifiez le champ ErrorInfo pour identifier la fonctionnalité requise et la version minimale. Mettez à niveau le Cloud Assistant Agent vers cette version ou une version ultérieure.

ClientNotOnline

Le Cloud Assistant Agent n'est pas connecté au serveur Cloud Assistant.

Redémarrez le Cloud Assistant Agent. Reportez-vous à la rubrique Arrêter et désinstaller le Cloud Assistant Agent.

DeliveryTimeout

Le serveur Cloud Assistant n'a pas pu envoyer la commande au Cloud Assistant Agent.

Relancez la commande.

ExecutionTimeout

L'exécution de la commande a expiré.

Augmentez le délai d'expiration de la commande si nécessaire.

  • Dans la console, le Timeout Period par défaut est de 60 secondes. Augmentez-le si nécessaire.

  • Lors de l'appel à RunCommand, le Timeout par défaut est de 60 secondes. Définissez une valeur plus élevée si nécessaire.

  • Lors de l'utilisation de CreateCommand suivi de InvokeCommand, le Timeout par défaut est de 60 secondes. Définissez une valeur personnalisée lors de la création ou mettez-la à jour ultérieurement avec ModifyCommand.

ExecutionException

Une exception s'est produite pendant l'exécution de la commande.

Vérifiez le champ ErrorInfo pour plus de détails.

ExitCodeNonzero

La commande s'est terminée avec un code de sortie non nul.

Vérifiez le script de la commande et sa sortie.

ClientRestarted

La commande a été interrompue car le Cloud Assistant Agent a été redémarré.

Relancez la commande après le redémarrage de l'agent. Vérifiez l'état de l'agent dans la console Cloud Assistant ou en appelant DescribeCloudAssistantStatus.

InstanceReleased

L'instance a été libérée pendant l'exécution de la commande.

La commande a échoué car l'instance cible a été libérée.

DirectoryNotExists

Le répertoire de travail spécifié n'existe pas sur l'instance.

Créez le répertoire de travail sur l'instance, puis relancez la commande.

Exécuter des commandes

Code d'erreur

Message d'erreur

Solution

ClientIsUpgrading

Le Cloud Assistant Agent est en cours de mise à niveau.

Relancez la commande une fois la mise à niveau terminée. Vérifiez l'état de l'agent dans la console Cloud Assistant ou en appelant DescribeCloudAssistantStatus.

InstanceDeregistered

L'instance gérée a été désenregistrée.

La commande a échoué car l'instance gérée a été désenregistrée.

InvalidSystemBuiltInParameter

Le paramètre d'environnement intégré n'est pas valide.

Le paramètre d'environnement intégré n'est pas pris en charge. Pour connaître les paramètres pris en charge, reportez-vous au paramètre CommandContent dans RunCommand.

DefaultWorkingDirectoryNotAvailable

Le répertoire de travail par défaut sur l'instance n'est pas disponible.

Vérifiez le répertoire de travail par défaut :

  • Linux : Le répertoire personnel de l'utilisateur root, /root par défaut.

  • Windows : Le répertoire contenant le processus du Cloud Assistant Agent, par exemple C:\Windows\System32.

Vous pouvez également spécifier un répertoire de travail dans la console ou via le paramètre WorkingDir de RunCommand.

CommandNotApplicable

Le type de commande n'est pas applicable à l'instance spécifiée.

Chaque type de commande prend en charge les systèmes d'exploitation suivants :

  • RunBatScript : commandes batch (BAT) pour les instances Windows.

  • RunPowerShellScript : commandes PowerShell pour les instances Windows.

  • RunShellScript : commandes shell pour les instances Linux.

InvalidCommandText

Le contenu de la commande n'est pas valide.

Vérifiez le contenu de la commande. Il peut être en texte clair ou encodé en Base64.

CommandContentDecodeError

Échec du décodage du contenu de la commande.

Si le contenu est encodé en Base64, vérifiez que l'encodage est correct.

AccountNotExists

L'utilisateur spécifié n'existe pas sur l'instance.

Créez l'utilisateur sur l'instance avant d'exécuter la commande.

  • Par défaut, les commandes s'exécutent en tant qu'utilisateur root sur les instances ECS Linux.

  • Par défaut, les commandes s'exécutent en tant qu'utilisateur System sur les instances ECS Windows.

Vous pouvez également exécuter une commande en tant qu'autre utilisateur via la console ou le paramètre Username de RunCommand.

Exécuter des commandes planifiées

Code d'erreur

Message d'erreur

Solution

BadCronExpression

L'expression cron n'est pas valide.

Corrigez l'expression cron. Reportez-vous à la section Planification basée sur l'horloge.

CronExpressionExpired

L'expression cron a expiré. La tâche planifiée ne s'exécutera pas.

Spécifiez une expression cron qui n'a pas expiré.

InvalidGMTOffsetForTimezone

L'expression cron contient un format de fuseau horaire avec décalage GMT non valide.

Vérifiez le format du fuseau horaire avec décalage GMT.

Plage prise en charge : GMT-12:59 à GMT+14:59. Minutes : 0-59. Les zéros initiaux ne sont pas pris en charge pour l'heure.

InvalidGMTOffsetHourForTimezone

L'heure du décalage GMT dans l'expression cron n'est pas valide.

Vérifiez la valeur de l'heure du fuseau horaire avec décalage GMT.

Plage prise en charge : GMT-12:59 à GMT+14:59. Les zéros initiaux ne sont pas pris en charge pour l'heure.

InvalidGMTOffsetMinuteForTimezone

La minute du décalage GMT dans l'expression cron n'est pas valide.

Vérifiez la valeur des minutes du fuseau horaire avec décalage GMT.

Valeurs valides : 0 à 59.

TimezoneInformationCorrupt

Le Cloud Assistant Agent ne peut pas analyser les informations de fuseau horaire car le fichier de fuseau horaire est corrompu.

  • Linux : Vérifiez le fichier de fuseau horaire dans /usr/share/zoneinfo, par exemple /usr/share/zoneinfo/Asia/Shanghai.

  • Windows : Vérifiez le registre, par exemple HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.

Remarque

Si le fichier de fuseau horaire n'existe pas, créez-le avant d'exécuter la commande.

InvalidRateExpression

L'expression de taux n'est pas valide.

Corrigez l'expression de taux. Reportez-vous à la section Exécution à intervalle fixe.

RateFrequencyTooLarge

La fréquence d'exécution planifiée est trop élevée.

La fréquence d'exécution ne peut pas dépasser 7 jours.

InvalidAtExpression

L'horodatage (expression at) n'est pas valide.

Corrigez l'horodatage. Reportez-vous à la section Exécuter une commande une seule fois à une heure spécifiée.

AtExpressionExpired

L'horodatage (expression at) a expiré. La tâche planifiée ne s'exécutera pas.

Spécifiez un horodatage qui n'a pas expiré.

Exécuter des commandes dans un conteneur

Code d'erreur

Message d'erreur

Solution

InvalidContainerName

Le nom du conteneur n'est pas valide.

Le nom doit commencer par une lettre ou un chiffre, contenir uniquement des lettres, des chiffres, des points (.), des traits de soulignement (_) et des traits d'union (-), et comporter 255 caractères maximum.

UnsupportedContainerRuntime

Le runtime de conteneur spécifié dans l'ID du conteneur n'est pas pris en charge.

Seuls les conteneurs gérés par Kubernetes via la spécification CRI sur les runtimes docker, containerd ou cri-o sont pris en charge.

InvalidContainerId

L'ID du conteneur n'est pas valide.

Un ID de conteneur doit être une chaîne hexadécimale de 64 bits. Vous pouvez éventuellement ajouter un préfixe (docker://, containerd:// ou cri-o://) pour spécifier le runtime.

ContainerConnectFailed

Impossible de se connecter au conteneur.

Vérifiez si le conteneur est en cours d'exécution. Utilisez kubectl ou le Cloud Assistant Agent pour vérifier l'état du conteneur. Le conteneur est en cours d'exécution si State est Running. Reportez-vous à la rubrique Utiliser Cloud Assistant pour exécuter des commandes dans un conteneur.

  • S'il est en cours d'exécution, vérifiez le runtime. Seuls les runtimes docker, containerd et cri-o gérés par Kubernetes via CRI sont pris en charge.

  • Si le runtime est conforme, vérifiez que la commande respecte les exigences. Reportez-vous à la section Limites.

ContainerStateAbnormal

L'état du conteneur est anormal.

Assurez-vous que le conteneur est en cours d'exécution. Cloud Assistant exécute des commandes uniquement dans les conteneurs en cours d'exécution. Utilisez kubectl ou le Cloud Assistant Agent pour vérifier. Le conteneur est en cours d'exécution si State est Running. Reportez-vous à la rubrique Utiliser Cloud Assistant pour exécuter des commandes dans un conteneur.

ContainerNotFound

Le conteneur n'existe pas.

Vérifiez que le conteneur existe par son nom ou son ID.

Méthode 1 : Utiliser kubectl

kubectl --namespace <specified namespace> describe pod <specified pod>

Méthode 2 : Utiliser le Cloud Assistant Agent

aliyun-service list-containers --source cri --all

Reportez-vous à la rubrique Utiliser Cloud Assistant pour exécuter des commandes dans un conteneur.

ContainerNameDuplicated

Le conteneur cible ne peut pas être identifié car plusieurs conteneurs sur le nœud partagent le même nom.

ContainerNameAndIdNotMatch

L'ID du conteneur et le nom du conteneur spécifiés ne correspondent pas.

Vérifiez que l'ID et le nom du conteneur font référence au même conteneur.

Exécuter des commandes en tant qu'utilisateur non par défaut sur Windows

Les problèmes suivants peuvent survenir lors de l'exécution de commandes sur une instance Windows en tant qu'utilisateur non par défaut.

Code d'erreur

Message d'erreur

Solution

UserOrPasswordInvalid

Le nom d'utilisateur ou le mot de passe est incorrect.

Le nom d'utilisateur ou le mot de passe est incorrect. Reportez-vous aux rubriques Paramètres chiffrés et Définir un utilisateur régulier pour exécuter les commandes Cloud Assistant.

QueryParameterStoreFailed

Échec de la récupération des paramètres depuis le magasin de paramètres.

Vérifiez que le mot de passe existe dans le magasin de paramètres du CloudOps Orchestration Service. Reportez-vous à la rubrique Paramètres chiffrés.

Vérifiez que le rôle RAM de l'instance dispose des autorisations requises. Reportez-vous à la section Configurer un rôle RAM pour une instance Windows.

InstanceRoleInvalid

Aucun rôle RAM n'est attaché à l'instance.

Appelez DescribeInstanceRamRole pour vérifier si un rôle RAM est attaché à l'instance.

Arrêter une commande

Code d'erreur

Message d'erreur

Solution

TerminationException

Échec de l'arrêt de la tâche.

Vérifiez le champ ErrorInfo ou relancez la commande.

Envoyer des fichiers

Code d'erreur

Message d'erreur

Solution

FileAlreadyExists

Un fichier portant le même nom existe déjà dans le chemin de destination.

Résolvez ce problème en procédant comme suit :

  • Supprimez le fichier existant du chemin de destination.

  • Écrasez le fichier existant.

    • Dans l'option Overwrite, activez Overwrite lorsque vous téléchargez le fichier.

    • Lors de l'appel à SendFile, définissez le paramètre Overwrite sur true.

3. Modifiez le chemin de destination ou le nom du fichier sur l'instance cible.

FileNameInvalid

Le nom du fichier n'est pas valide.

Assurez-vous que le nom du fichier respecte les conventions de nommage Windows ou Linux.

  • Dans le champ File Name, assurez-vous que le nom est valide.

  • Lors de l'appel à SendFile, assurez-vous que le paramètre Name est valide.

FilePathInvalid

Le chemin du fichier n'est pas valide.

Assurez-vous que le chemin du fichier respecte les conventions de chemin Windows ou Linux.

  • Dans le champ Destination Path, assurez-vous que le chemin est valide.

  • Lors de l'appel à SendFile, assurez-vous que le paramètre TargetDir spécifie un chemin valide.

FileAuthorityInvalid

Les autorisations du fichier ne sont pas valides.

Ajustez les autorisations du fichier. Cela s'applique uniquement aux instances Linux et utilise le même format que chmod.

UserGroupNotExists

Le groupe d'utilisateurs spécifié n'existe pas sur l'instance.

Groupe par défaut : root. Créez le groupe d'utilisateurs sur l'instance Linux.

Exemple de commande : groupadd <groupname>, où <groupname> est le nom du nouveau groupe d'utilisateurs.

FAQ

Q : Lorsque j'utilise Cloud Assistant pour exécuter un script PowerShell sur un serveur Windows, pourquoi la sortie affiche-t-elle des caractères illisibles et comment puis-je corriger cela ?

R : L'environnement PowerShell utilisé par Cloud Assistant n'utilise pas par défaut l'encodage de sortie UTF-8.

Les caractères non ASCII (tels que les caractères chinois) s'affichent sous forme de texte illisible car la console ne peut pas les analyser correctement.

Deux solutions sont possibles :

  1. Modifier le script : Ajoutez l'encodage UTF-8 au début du script.

    Sur Windows Server 2022, Cloud Assistant gère correctement l'encodage des caractères chinois par défaut. Aucun réglage manuel de l'UTF-8 n'est nécessaire.

    Ajoutez au début de votre script PowerShell :

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    
    Write-Output "Testing Chinese output..."
  2. Modifier le Launcher : Dans les options avancées de Cloud Assistant, définissez l'encodage avant l'exécution.

    Dans les options avancées, saisissez dans le champ Launcher :

    powershell -command [Console]::OutputEncoding=[System.Text.Encoding]::UTF8;{{ACS::ScriptFileName|Ext(.ps1)}};exit $LastExitCode

    Cela applique l'encodage UTF-8 à tous les scripts PowerShell de cette tâche. Aucune modification individuelle des scripts n'est nécessaire.