すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:実行結果の表示と一般的な問題の修正

最終更新日:Dec 24, 2025

ECS コンソールからクラウドアシスタントのコマンドを実行することは、インスタンスにログインしてコマンドを実行することに似ています。コマンドは、すべての条件が満たされた場合にのみ正常に実行されます。コマンドを実行した後は、その実行結果とステータスを表示して、対象の操作が完了したことを確認する必要があります。実行が失敗した場合は、エラーメッセージを使用して問題を特定し、修正できます。

背景情報

ECS インスタンスの依存関係の欠落、ネットワーク問題、コマンドのセマンティックエラー、スクリプトのデバッグ失敗、インスタンスの異常ステータスなどの問題により、コマンドの実行ステータスや結果が異なる場合があります。コンソールまたは API を使用して実行結果のエラーメッセージを表示し、問題を診断して修正できます。

実行結果の表示

コンソールでの結果表示

  1. ECS コンソール - ECS クラウドアシスタントに移動します。

  2. 上部のナビゲーションバーで、管理したいリソースのリージョンとリソースグループを選択します。地域

  3. [コマンド実行結果] タブで、コマンドの実行結果を表示できます。

    • コマンドが成功した場合、実行結果で出力を表示できます。

      1. [実行ステータス][成功] であるコマンドの実行結果を見つけます。

      2. [操作] 列で、[表示] をクリックします。

      3. [インスタンス] ページの [タスク完了] タブで、コマンドの実行結果を確認できます。

        执行成功

    • コマンドが失敗した場合、実行結果のエラーメッセージを表示して問題を診断し、修正できます。

      1. [実行ステータス][実行失敗] のコマンド実行結果を探します。

      2. [アクション] 列で、[表示] をクリックします。

      3. [インスタンス] ページでは、[実行失敗] タブでエラーメッセージを表示できます。

        一般的なエラーメッセージとその解決策については、「一般的な実行失敗エラーと推奨される解決策」をご参照ください。

        执行失败

    • 定期タスクの出力を表示します。

      1. [実行ステータス][予約済み] のコマンドの実行結果を探します。

      2. [操作] 列で、[表示] をクリックします。

      3. [インスタンス] ページで、コマンドの結果を表示できます。

Alibaba Cloud CLI を使用した結果の表示

クラウドアシスタント CLI の使用方法の詳細については、「Alibaba Cloud CLI を使用した Alibaba Cloud リソースの管理」をご参照ください。

  1. RunCommand または InvokeCommand オペレーションの応答からコマンド実行 ID (InvokeId) を取得します。

  2. InvokeId と ECS インスタンスのリージョン ID (RegionId) を入力して、コマンドの実行結果をクエリします。次の例では、中国 (上海) リージョンを使用しています。他のリージョンの ID については、「リージョンとゾーン」をご参照ください。

    • DescribeInvocations オペレーションを呼び出して、コマンドの実行ステータスを表示します。

      aliyun ecs DescribeInvocations --RegionId cn-shanghai --InvokeId t-sh054h*****
    • DescribeInvocationResults オペレーションを呼び出して、コマンドの実行結果を表示します。

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

API を使用した結果の表示

  1. RunCommand または InvokeCommand オペレーションの応答からコマンド実行 ID (InvokeId) を取得します。

  2. DescribeInvocations または DescribeInvocationResults オペレーションで、InvokeId と ECS インスタンスのリージョン ID を入力して、コマンドの実行結果をクエリします。

一般的な実行失敗エラーと推奨される解決策

一般的なエラー

エラーコード

エラーメッセージ

推奨される解決策

InstanceNotRunning

タスク作成時にインスタンスが実行中状態ではありませんでした。

インスタンスが実行中状態であることを確認してください。

InstanceRestarted

タスク実行中にインスタンスが再起動されました。

タスク実行中にインスタンスを再起動しないでください。

ClientNotRunning

クラウドアシスタントエージェントが実行されていません。

クラウドアシスタントエージェントが停止しているか、インストールされていません。クラウドアシスタントエージェントを起動またはインストールする必要があります。

  1. クラウドアシスタントエージェントのプロセスが実行されているか確認します。

    • Linux の場合、次のコマンドを実行します。

      ps -ef |grep aliyun-service
    • Windows の場合、タスクマネージャーに aliyun_assist_service プロセスが存在するか確認します。

  2. プロセスが存在しない場合、クラウドアシスタントエージェントを起動します。

    • Linux の場合、次のコマンドを実行します。

      # systemctl をサポートする Linux システムの場合
      systemctl start aliyun.service
      
      # systemctl をサポートしない Linux システムの場合
      /etc/init.d/aliyun-service start
    • Windows の場合、サービスマネージャーで Aliyun Assist Service サービスを起動します。

説明

クラウドアシスタントエージェントがまだ起動しない場合は、再インストールしてください。詳細については、「クラウドアシスタントエージェントのインストール」をご参照ください。

ClientNetworkBlocked

インスタンスにネットワーク接続の問題があります。

  1. 次のコマンドを実行してネットワーク接続を確認します。現在のインスタンスの ID が返された場合、ネットワークは接続されています。

    curl https://{region-id}.axt.aliyun.com/luban/api/instance/instance-id
  2. 現在のインスタンスの ID が返されない場合、セキュリティグループ、ファイアウォール、DNS 設定、ルートテーブルにネットワークの問題がないか確認します。クラウドアシスタントが次のアドレスにアクセスできるように、内部ネットワーク上の TCP ポート 443、TCP ポート 80、UDP ポート 53 のアウトバウンドトラフィックを許可する必要があります。

    • 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

      クラウドアシスタントエージェントのインストールパッケージを格納する OSS バケットは非公開です。インストールパッケージファイルのみが公開読み取り権限を持っています。したがって、このドメイン名の接続性を検証する際に「AccessDenied」メッセージが返された場合でも、ドメイン名にアクセス可能であることを示します。

説明
  • {region-id} はインスタンスが存在するリージョンです。例えば、中国 (杭州) のリージョン ID は cn-hangzhou です。

  • 各リージョンのクラウドアシスタントサーバーのドメイン名と IP アドレスについては、「詳細な構成」をご参照ください。

SecurityGroupRuleDenied

セキュリティグループルールがクラウドアシスタントサービスへのアクセスを拒否しています。

  • ErrorInfo フィールドでアクセスが拒否されたセキュリティグループ ID とクラウドアシスタントサービスの IP アドレスを表示します。その後、セキュリティグループルールを修正してクラウドアシスタントサービスへのアクセスを許可します。

  • 構成の詳細については、「クラウドアシスタントエージェントのネットワーク権限の構成」をご参照ください。

ClientNotResponse

クラウドアシスタントエージェントが応答しません。

クラウドアシスタントエージェントのログを確認します。

  1. クラウドアシスタントエージェントのログファイルを開きます。ログファイルのデフォルトパスは次のとおりです。

    • Linux:/usr/local/share/aliyun-assist/<クラウドアシスタントのバージョン番号>/log/aliyun_assist_main.log

    • Windows:C:\ProgramData\aliyun\assist\<クラウドアシスタントのバージョン番号>\log\aliyun_assist_main.log

  2. ログに対応するコマンド実行 ID が存在するか確認します。

    • ID が存在する場合、コンテキストで例外がないか確認します。例えば、クラウドアシスタントのコマンドが実行完了したか、結果が正常に報告されたかなどです。

    • ID が存在しない場合、コマンドを再実行します。それでもコマンドが失敗する場合は、クラウドアシスタントエージェントを再起動します。

      • Linux システムの場合、次のコマンドを実行します。

        # systemctl をサポートする Linux システムの場合
        systemctl restart aliyun.service
        
        # systemctl をサポートしない Linux システムの場合
        /etc/init.d/aliyun-service restart
      • Windows の場合、サービスマネージャーで Aliyun Assist Service サービスを起動します。

ClientNeedUpgrade

指定された機能をサポートするには、クラウドアシスタントエージェントをアップグレードする必要があります。

  • ErrorInfo フィールドで機能と最小サポートバージョン番号を表示します。クラウドアシスタントエージェントを指定されたバージョン以降にアップグレードします。

ClientNotOnline

クラウドアシスタントエージェントがサーバーに接続されていません。

クラウドアシスタントエージェントを再起動します。詳細については、「クラウドアシスタントエージェントの停止とアンインストール」をご参照ください。

DeliveryTimeout

クラウドアシスタントサーバーがタスクをクラウドアシスタントエージェントに送信できませんでした。

クラウドアシスタントのコマンドがインスタンスに送信されませんでした。コマンドを再実行してください。

ExecutionTimeout

コマンドの実行がタイムアウトしました。

必要に応じてコマンドの実行タイムアウト期間を延長します。

  • コンソールでコマンドを作成して実行すると、[タイムアウト] パラメーターのデフォルト値は 60 秒です。このパラメーターを適切な値に設定してください。

  • RunCommand オペレーションを呼び出してコマンドを実行する場合、Timeout パラメーターのデフォルト値は 60 秒です。適切な値に設定してください。

  • CreateCommand オペレーションを呼び出してコマンドを作成し、その後 InvokeCommand オペレーションを呼び出して実行する場合、Timeout パラメーターのデフォルト値は 60 秒です。コマンド作成時に適切な値を設定するか、コマンド作成後に ModifyCommand オペレーションを呼び出して値を変更してください。

ExecutionException

コマンド実行中に例外が発生しました。

ErrorInfo フィールドで詳細なエラーメッセージを表示します。

ExitCodeNonzero

コマンドの実行は完了しましたが、コマンドプロセスの終了コードが 0 ではありません。

スクリプトの内容とコマンドの出力を確認してください。

ClientRestarted

クラウドアシスタントエージェントが再起動されたため、タスクが中断されました。

再起動が完了した後、コマンドを再実行してください。クラウドアシスタントエージェントの実行ステータスは、クラウドアシスタントコンソールで表示するか、DescribeCloudAssistantStatus オペレーションを呼び出して表示できます。

InstanceReleased

コマンド実行中にインスタンスがリリースされました。

実行中にインスタンスがリリースされたため、コマンドは実行できません。

DirectoryNotExists

指定された作業ディレクトリがインスタンスに存在しません。

インスタンスに指定された作業ディレクトリを作成してから、コマンドを実行してください。

コマンドの実行

エラーコード

エラーメッセージ

推奨される解決策

ClientIsUpgrading

クラウドアシスタントエージェントがアップグレード中です。

アップグレードが完了した後、コマンドを再実行してください。クラウドアシスタントエージェントの実行ステータスは、クラウドアシスタントコンソールで表示するか、DescribeCloudAssistantStatus オペレーションを呼び出して表示できます。

InstanceDeregistered

管理対象インスタンスの登録が解除されました。

管理対象インスタンスの登録が解除されたため、コマンドは実行できません。

InvalidSystemBuiltInParameter

組み込み環境パラメーターが無効です。

指定された組み込み環境パラメーターはサポートされていません。組み込み環境パラメーターの詳細については、RunCommandCommandContent パラメーターの説明をご参照ください。

DefaultWorkingDirectoryNotAvailable

インスタンスのデフォルトの作業ディレクトリが利用できません。

インスタンスのデフォルトの作業ディレクトリを確認してください:

  • Linux インスタンスの場合、デフォルトのディレクトリは管理者 (root ユーザー) のホームディレクトリで、/root です。

  • Windows インスタンスの場合、デフォルトのディレクトリはクラウドアシスタントエージェントのプロセスが配置されている場所で、C:\Windows\System32 などです。

コマンド実行時に作業ディレクトリを指定することもできます。クラウドアシスタントコンソールでディレクトリを指定するか、RunCommand オペレーションの WorkingDir パラメーターを使用します。

CommandNotApplicable

コマンドタイプが指定されたインスタンスに適用できません。

各コマンドタイプがサポートするオペレーティングシステムは次のとおりです:

  • RunBatScript:Windows インスタンス用のバッチ (BAT) コマンド。

  • RunPowerShellScript:Windows インスタンス用の PowerShell コマンド。

  • RunShellScript:Linux インスタンス用の Shell コマンド。

InvalidCommandText

コマンド内容が無効です。

コマンド内容を確認してください。内容はプレーンテキストまたは Base64 エンコード形式にできます。

CommandContentDecodeError

コマンド内容のデコードに失敗しました。

コマンド内容が Base64 エンコードされている場合、エンコーディングが正しいか確認してください。

AccountNotExists

指定されたユーザーがインスタンスに存在しません。

コマンドを実行する前に、インスタンスに指定されたユーザーを作成してください。

  • Linux ECS インスタンスの場合、コマンドはデフォルトで root ユーザーとして実行されます。

  • Windows ECS インスタンスの場合、コマンドはデフォルトで System ユーザーとして実行されます。

別の既存のユーザーを指定してコマンドを実行することもできます。クラウドアシスタントコンソールでユーザーを指定するか、RunCommand オペレーションの Username パラメーターを使用します。

定期コマンドの実行

エラーコード

エラーメッセージ

推奨される解決策

BadCronExpression

指定された cron 式が無効です。

cron 式を修正してください。詳細については、「時刻ベースのスケジューリング」をご参照ください。

CronExpressionExpired

cron 式の有効期限が切れています。対応する定期タスクは実行されません。

コマンド実行時に期限切れの cron 式を指定しないでください。

InvalidGMTOffsetForTimezone

cron 式で指定された GMT オフセットタイムゾーンの形式が無効です。

GMT オフセットタイムゾーンの形式を確認してください。

サポートされている GMT 範囲は GMT-12:59 から GMT+14:59 です。分の値は 0 から 59 までです。時間の先頭にゼロはサポートされていません。

InvalidGMTOffsetHourForTimezone

cron 式で指定された GMT オフセット時間の値が無効です。

GMT オフセットタイムゾーンの時間値を確認してください。

サポートされている GMT 範囲は GMT-12:59 から GMT+14:59 です。時間の先頭にゼロはサポートされていません。

InvalidGMTOffsetMinuteForTimezone

cron 式で指定された GMT オフセット分の値が無効です。

GMT オフセットタイムゾーンの分値を確認してください。

分の値は 0 から 59 までです。

TimezoneInformationCorrupt

タイムゾーンファイルが破損しているか、その他の理由でクラウドアシスタントエージェントがタイムゾーン情報を解析できません。

  • Linux インスタンスの場合、/usr/share/zoneinfo ディレクトリに対応するタイムゾーンファイルが存在するか確認してください。例えば、/usr/share/zoneinfo/Asia/Shanghai は China/Shanghai のタイムゾーンファイルです。

  • Windows インスタンスの場合、レジストリに対応するタイムゾーンファイルが存在するか確認してください。例えば、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones です。

説明

対応するタイムゾーンファイルが存在しない場合、コマンドを実行する前に正しいタイムゾーンファイルを作成してください。

InvalidRateExpression

Rate 式が無効です。

Rate 式を修正してください。詳細については、「固定間隔実行」をご参照ください。

RateFrequencyTooLarge

Rate 式で指定された定期実行の頻度が高すぎます。

定期実行の頻度は 7 日を超えることはできません。

InvalidAtExpression

UNIX タイムスタンプ (At 式) が無効です。

UNIX タイムスタンプを修正してください。詳細については、「指定した時間に一度だけコマンドを実行する」をご参照ください。

AtExpressionExpired

UNIX タイムスタンプ (At 式) の有効期限が切れています。対応する定期タスクは実行されません。

コマンド実行時に期限切れの UNIX タイムスタンプを指定しないでください。

コンテナーでのコマンド実行

エラーコード

エラーメッセージ

推奨される解決策

InvalidContainerName

コンテナー名が無効です。

コンテナー名は数字または文字で始まる必要があります。数字、大文字、小文字、ピリオド (.)、アンダースコア (_)、ハイフン (-) のみを含めることができます。名前の長さは 255 文字を超えることはできません。

UnsupportedContainerRuntime

コンテナー ID に含まれるコンテナーランタイムはサポートされていません。

Container Runtime Interface (CRI) を介して Kubernetes によって管理され、dockercontainerd、または cri-o コンテナーランタイムで実行されるコンテナーのみがサポートされています。

InvalidContainerId

コンテナー ID が無効です。

64 ビットの 16 進数文字列のみがサポートされています。docker://containerd://、または cri-o:// プレフィックスを追加してコンテナーランタイムを指定できます。

ContainerConnectFailed

コンテナーへの接続を確立できません。

コンテナーが実行中か確認してください。kubectl またはクラウドアシスタントエージェントを使用してコンテナーのステータスを表示できます。StateRunning の場合、コンテナーは実行中です。詳細については、「クラウドアシスタントを使用してコンテナーでコマンドを実行する」をご参照ください。

  • コンテナーが実行中の場合、コンテナーランタイムを確認してください。CRI を介して Kubernetes によって管理され、docker、containerd、または cri-o コンテナーランタイムで実行されるコンテナーのみがサポートされています。

  • コンテナーランタイムがクラウドアシスタントの要件を満たしている場合、コンテナーで実行されるコマンドが要件を満たしているか確認してください。詳細については、「制限事項」をご参照ください。

ContainerStateAbnormal

コンテナーのステータスが異常です。

コンテナーのステータスを確認してください。クラウドアシスタントを使用してコマンドを実行できるのは、実行中のコンテナーのみです。kubectl またはクラウドアシスタントエージェントを使用してコンテナーのステータスを表示できます。StateRunning の場合、コンテナーは実行中です。詳細については、「クラウドアシスタントを使用してコンテナーでコマンドを実行する」をご参照ください。

ContainerNotFound

コンテナーが存在しません。

指定された名前または ID のコンテナーが存在するか確認してください。

方法 1:kubectl を使用する

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

方法 2:クラウドアシスタントエージェントを使用する

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

詳細については、「クラウドアシスタントを使用してコンテナーでコマンドを実行する」をご参照ください。

ContainerNameDuplicated

ノードに同じ名前のコンテナーがあります。コマンドを実行するコンテナーを特定できません。

  • コマンドを実行するためにコンテナー名を指定する場合、ノードに同じ名前の他のコンテナーがあってはなりません。

  • コマンドを実行するためにコンテナー ID を指定してください。kubectl またはクラウドアシスタントエージェントを使用してコンテナー ID を表示できます。詳細については、「クラウドアシスタントを使用してコンテナーでコマンドを実行する」をご参照ください。

ContainerNameAndIdNotMatch

コンテナー ID とコンテナー名が一致しません。

指定されたコンテナー ID とコンテナー名が同じコンテナーに対応していません。コンテナー ID とコンテナー名が正しいか確認してください。

Windows インスタンスでデフォルト以外のユーザー (System) としてコマンドを実行する

Windows インスタンスでデフォルト以外のユーザー (System 以外のユーザー) としてコマンドを実行すると、次の問題が発生する可能性があります。

エラーコード

エラーメッセージ

推奨される解決策

UserOrPasswordInvalid

ユーザー名またはパスワードが正しくありません。

ユーザーのユーザー名またはパスワードが正しくありません。ユーザー名とパスワードの詳細については、「暗号化されたパラメーター」および「クラウドアシスタントコマンドを実行する一般ユーザーの設定」をご参照ください。

QueryParameterStoreFailed

パラメーターストアからのパラメーターのプルに失敗しました。

CloudOps Orchestration Service のパラメーターストアに対応するパスワード情報が存在するか確認してください。詳細については、「暗号化されたパラメーター」をご参照ください。

InstanceRoleInvalid

インスタンスロールがインスタンスに付与されていません。

DescribeInstanceRamRole オペレーションを呼び出して、インスタンスに対応する RAM ロールが存在するか確認してください。

コマンドの停止

エラーコード

エラーメッセージ

推奨される解決策

TerminationException

タスクの停止に失敗しました。

ErrorInfo フィールドで詳細なエラーメッセージを表示するか、タスクの停止をリトライしてください。

ファイルの送信

エラーコード

エラーメッセージ

推奨される解決策

FileAlreadyExists

指定されたパスに同じ名前のファイルが存在します。

この問題は、次のいずれかの方法で解決できます:

  • パスから同じ名前のファイルを削除します。

  • 同じパスにある同じ名前のファイルの上書きを許可します。

    • クラウドアシスタントコンソールで、ファイルをアップロードする際に 上書き を有効にします。

    • OpenAPI:SendFile オペレーションを呼び出す際に、Overwrite パラメーターを true に設定します。

宛先パスまたは宛先 ECS インスタンス上のファイルの名前を変更します。

FileNameInvalid

ファイル名が無効です。

Windows または Linux オペレーティングシステムのファイル命名規則に準拠するようにファイル名を調整してください。

  • クラウドアシスタントコンソール:ファイルをアップロードする際に、ファイル名 が要件を満たしていることを確認してください。

  • OpenAPI:SendFile オペレーションを呼び出す際に、Name パラメーターが要件を満たしていることを確認してください

FilePathInvalid

ファイルパスが無効です。

Windows または Linux オペレーティングシステムのファイルパス規則に準拠するようにファイルパスを調整してください。

  • クラウドアシスタントコンソールで、ファイルをアップロードする際に、宛先パス がファイルパスの要件を満たしていることを確認してください。

  • OpenAPI:SendFile オペレーションを呼び出す際に、TargetDir パラメーターがファイルパスの要件を満たしていることを確認してください。

FileAuthorityInvalid

ファイル権限が無効です。

ファイル権限を調整してください。この設定は Linux インスタンスでのみ有効で、chmod コマンドと同じように構成されます。

UserGroupNotExists

指定されたユーザーグループがインスタンスに存在しません。

デフォルトのユーザーグループは root です。Linux インスタンスに指定されたユーザーグループを作成してください。

コマンド例:groupadd <groupname><groupname> は作成するユーザーグループの名前です。

よくある質問

Q:クラウドアシスタントを使用して Windows サーバーで PowerShell スクリプトを実行すると、出力の中国語文字が文字化けします。これはなぜ発生し、どのように修正できますか?

A: これは、クラウドアシスタントが PowerShell を実行するために使用するデフォルト環境で、出力の処理に UTF-8 エンコーディングが使用されないためです。その結果、スクリプトが中国語の文字などの非 ASCII 文字を出力すると、エンコーディングの不一致が発生し、コントロールを引き起こします。

プラットフォームがコンテンツを正しく解析できないため、コンテンツは文字化けして表示されます。

次のいずれかの解決策を使用できます:

  1. スクリプト内容の変更:スクリプトファイルの先頭にコードを一行追加して、出力エンコーディングを強制的に UTF-8 にします。

    Windows Server 2022 では、クラウドアシスタントはデフォルトで中国語文字のエンコーディングを正しく処理します。エンコーディングを UTF-8 に設定する必要はありません。

    PowerShell スクリプトの先頭に次のコードを追加します:

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    
    Write-Output "中国語出力のテスト..."
  2. ブートストラッププログラムの変更:クラウドアシスタントの高度なオプションで、スクリプトを実行する基盤となるコマンドを変更し、スクリプトが実行される前に自動的にエンコーディングを設定します。

    クラウドアシスタントのコマンドの [ブートストラッププログラム] フィールドに、次のコードを入力します。

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

    このタスクで実行されるすべての PowerShell スクリプトは、自動的に UTF-8 エンコーディングを適用します。各スクリプトファイルを変更する必要はありません。