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

Elastic Compute Service:実行結果の確認と一般的な問題のトラブルシューティング

最終更新日:Apr 15, 2025

Elastic Compute Service (ECS) コンソールを使用する場合でも、インスタンスにログインしてコマンドを実行する場合でも、すべての前提条件が満たされている場合にのみ、Cloud Assistant コマンドを想定どおりに実行できます。意図した操作が完了していることを確認するために、コマンドの実行結果と状態を確認することをお勧めします。実行が失敗した場合は、一般的なエラーメッセージに基づいて問題のトラブルシューティングを行うことができます。

背景情報

例外が発生した場合、コマンドに対して異なる実行結果と状態が表示されます。例外には、依存関係の欠落、ネットワーク例外、コマンドのセマンティックエラー、コマンドのデバッグエラー、インスタンスの異常な状態などが含まれます。 ECS コンソールを使用するか、API オペレーションを呼び出して、実行結果のエラーメッセージを表示し、問題のトラブルシューティングを行うことができます。

実行結果の表示

ECS コンソールの使用

  1. ECS console - ECS Cloud Assistant に移動します。

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

  3. [コマンド実行結果] タブをクリックして、実行結果を表示します。

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

      1. [実行ステータス] 列に [成功] と表示されているコマンドタスクを見つけます。

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

      3. [インスタンス] タブの [タスク完了] タブで、実行結果を表示します。查看执行结果

    • コマンドの実行が失敗した場合は、実行結果でエラーメッセージを見つけ、エラーメッセージに基づいて問題のトラブルシューティングを行います。

      1. [実行ステータス] 列に [実行失敗] と表示されているコマンドタスクを見つけます。

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

      3. [インスタンス] タブの [タスク失敗] タブで、実行結果を表示します。

        コマンドエラーと解決策については、このトピックの「コマンドエラーと解決策」セクションを参照してください。

        执行失败错误信息

    • スケジュールされたタスクの実行結果を表示します。

      1. [実行ステータス] 列に [実行待ち] と表示されているコマンドタスクを見つけます。

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

      3. [インスタンス] タブで、実行結果を表示します。

        次の図は、15 分ごとに実行されるスケジュールされたコマンドタスクの実行結果を示しています。

        定时任务执行结果

Alibaba Cloud CLI の使用

Alibaba Cloud CLI の使用方法については、「Alibaba Cloud CLI を使用して Alibaba Cloud リソースを管理する」をご参照ください。

  1. RunCommand または InvokeCommand オペレーションを呼び出して、InvokeId レスポンスパラメータからコマンドの実行 ID を取得します。

  2. InvokeId パラメータと RegionId パラメータを指定して、コマンドの実行結果をクエリします。この例では、日本 (東京) リージョンが使用されています。他のリージョンの RegionId を取得するには、「リージョンとゾーン」をご参照ください。

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

    aliyun ecs DescribeInvocations --RegionId ap-northeast-1 --InvokeId t-sh054h*****
  • DescribeInvocationResults オペレーションを呼び出して、コマンドの実行結果をクエリします。

    aliyun ecs DescribeInvocationResults --RegionId ap-northeast-1 --InvokeId t-sh054h*****

API オペレーションの呼び出し

  1. RunCommand または InvokeCommand オペレーションを呼び出して、InvokeId レスポンスパラメータからコマンドタスクの ID を取得します。

  2. InvokeIdRegionId を指定して DescribeInvocations または DescribeInvocationResults オペレーションを呼び出して、コマンドの実行結果をクエリします。

コマンドエラーと解決策

一般的なエラー

エラーコード

エラーメッセージ

推奨される解決策

InstanceNotRunning

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

インスタンスが想定どおりに実行されているかどうかを確認します。

InstanceRestarted

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

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

ClientNotRunning

クラウドアシスタントクライアント が実行されていませんでした。

クラウドアシスタントクライアント が停止しているか、インストールされていません。次の操作を実行して、クラウドアシスタントクライアント を起動またはインストールします。

  1. クラウドアシスタントクライアント プロセスが想定どおりに実行されているかどうかを確認します。

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

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

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

    • Linux インスタンスの場合は、次のコマンドのいずれかを実行します。

      # Linux インスタンスが systemctl をサポートしている場合は、次のコマンドを実行します。
      systemctl start aliyun.service
      
      # Linux インスタンスが systemctl をサポートしていない場合は、次のコマンドを実行します。
      /etc/init.d/aliyun-service start
    • Windows インスタンスの場合は、サービスマネージャーを使用して Aliyun Assist Service を起動します。

説明

上記の操作を実行しても クラウドアシスタントクライアント が起動できない場合は、クラウドアシスタントクライアントを再インストールしてください。 クラウドアシスタントクライアントのインストール方法については、「Install Cloud Assistant Agent」をご参照ください。

ClientNetworkBlocked

インスタンスのネットワーク環境が異常です。

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

    curl https://{region-id}.axt.aliyun.com/luban/api/instance/instance-id
  2. インスタンス ID が返されない場合は、インスタンスのセキュリティグループ、ファイアウォール、ドメインネームシステム ( DNS ) の構成、およびルートテーブルを確認して、ネットワークの問題をトラブルシューティングします。 Cloud Assistant が次の URL にアクセスできるようにするには、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

      クラウドアシスタントクライアント のインストールパッケージは、Object Storage Service ( OSS ) バケットに保存されています。バケットではなく、インストールパッケージのみがパブリックにアクセス可能です。したがって、エンドポイントの接続性をテストしたときに AccessDenied が返された場合、エンドポイントはアクセス可能です。

説明
  • {region-id} は、インスタンスのリージョン ID を指定します。たとえば、インスタンスが中国 (杭州) リージョンにある場合は、このパラメータを cn-hangzhou に設定します。

  • 各リージョンにおける Cloud Assistant サーバーのエンドポイントと IP アドレスについては、「Cloud Assistant Agent のネットワーク権限を構成する」トピックの「詳細設定」セクションを参照してください。

SecurityGroupRuleDenied

セキュリティグループルールにより、Cloud Assistant へのアクセスが拒否されています。

  • ErrorInfo フィールドを確認して、Cloud Assistant へのアクセスを拒否するルールを含むセキュリティグループの ID と、拒否ルールで参照されている Cloud Assistant サーバーの IP アドレスを取得します。次に、Cloud Assistant へのアクセスを許可するようにルールを変更します。

  • 詳細については、「Cloud Assistant Agent のネットワーク権限を構成する」をご参照ください。

ClientNotResponse

クラウドアシスタントクライアント が応答しません。

クラウドアシスタントクライアント のログに基づいて問題のトラブルシューティングを行います。

  1. クラウドアシスタントクライアント のログファイルを開きます。次のセクションでは、ログファイルのデフォルトパスについて説明します。

    • Linux インスタンス: /usr/local/share/aliyun-assist/<Cloud Assistant のバージョン番号>/log/aliyun_assist_main.log

    • Windows インスタンス: C:\ProgramData\aliyun\assist\<Cloud Assistant のバージョン番号>\log\aliyun_assist_main.log

  2. ログファイルにタスク ID が存在するかどうかを確認します。

    • タスク ID が存在する場合は、コンテキストに例外情報が存在するかどうかを確認します。たとえば、コマンドが完了して報告されたかどうかを確認できます。

    • タスク ID が存在しない場合は、Cloud Assistant コマンドを再実行します。それでも実行に失敗する場合は、クラウドアシスタントクライアント を再起動することをお勧めします。

      • Linux インスタンスの場合は、次のコマンドのいずれかを実行します。

        # Linux インスタンスが systemctl をサポートしている場合は、次のコマンドを実行します。
        systemctl restart aliyun.service
        
        # Linux インスタンスが systemctl をサポートしていない場合は、次のコマンドを実行します。
        /etc/init.d/aliyun-service restart
      • Windows インスタンスの場合は、サービスマネージャーを使用して Aliyun Assist Service を起動します。

ClientNeedUpgrade

クラウドアシスタントクライアント は、特定の機能をサポートするためにアップグレードする必要があります。

  • ErrorInfo フィールドを確認して、現在のバージョンのクラウドアシスタントクライアントでサポートされていない機能と、その機能をサポートする最も古いバージョンのクラウドアシスタントクライアントを取得します。 クラウドアシスタントクライアント を、その機能をサポートするバージョンにアップグレードします。

  • クラウドアシスタントクライアント の自動アップグレードを有効にするか、クラウドアシスタントクライアント を手動でアップグレードします。 詳細については、「Upgrade or disable upgrades of Cloud Assistant Agent」をご参照ください。

ClientNotOnline

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

クラウドアシスタントクライアント を再起動します。 詳細については、「Start, stop, or uninstall Cloud Assistant Agent」をご参照ください。 クラウドアシスタントクライアントを再起動しても クラウドアシスタントクライアント がサーバーに接続できない場合は、チケットを送信 してください。

DeliveryTimeout

Cloud Assistant サーバーが クラウドアシスタントクライアント にコマンドを送信できませんでした。

Cloud Assistant コマンドがインスタンスに送信されませんでした。コマンドを再実行することをお勧めします。問題が解決しない場合は、チケットを送信 してください。

ExecutionTimeout

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

コマンドの実行タイムアウト期間を延長します。

  • ECS コンソールでコマンドを作成して実行する場合、[タイムアウト] パラメータはデフォルトで 60 秒に設定されています。ビジネス要件に基づいて値を指定できます。

  • RunCommand オペレーションを呼び出してコマンドを実行する場合、Timeout パラメータはデフォルトで 60 秒に設定されています。ビジネス要件に基づいて値を指定できます。

  • CreateCommand オペレーションを呼び出してコマンドを作成し、InvokeCommand オペレーションを呼び出してコマンドを実行する場合、コマンドを作成するときに Timeout パラメータはデフォルトで 60 秒に設定されています。コマンドを作成するときにビジネス要件に基づいて値を指定するか、ModifyCommand オペレーションを呼び出して、コマンドの作成後に値を変更できます。

ExecutionException

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

ErrorInfo フィールドのエラーメッセージを確認します。エラーメッセージに基づいて問題を特定できない場合は、チケットを送信 してください。

ExitCodeNonzero

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

コマンドスクリプトとコマンド出力を確認します。

ClientRestarted

クラウドアシスタントクライアントの再起動により、タスクが中断されました。

クラウドアシスタントクライアントの再起動後にタスクを再実行します。 クラウドアシスタントクライアントの実行ステータスは、ECS コンソールの [ECS Cloud Assistant] ページで表示するか、DescribeCloudAssistantStatus オペレーションを呼び出すことで表示できます。

InstanceReleased

タスクの実行中にインスタンスが解放されました。

インスタンスが解放されているため、タスクを実行できません。

DirectoryNotExists

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

インスタンスに作業ディレクトリを作成してから、コマンドを再実行します。

コマンド実行時に発生するエラー

エラーコード

エラーメッセージ

推奨される解決策

ClientIsUpgrading

クラウドアシスタントクライアントはアップグレード中でした。

クラウドアシスタントクライアントのアップグレードが完了してから、コマンドを再実行します。 クラウドアシスタントクライアントの実行ステータスは、ECS コンソールの [ECS Cloud Assistant] ページで表示するか、DescribeCloudAssistantStatus オペレーションを呼び出すことで表示できます。

InstanceDeregistered

選択したマネージドインスタンスは登録解除されました。

マネージドインスタンスが登録解除されているため、コマンドを実行できません。

InvalidSystemBuiltInParameter

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

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

DefaultWorkingDirectoryNotAvailable

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

インスタンスのデフォルトの作業ディレクトリを確認します。

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

  • Windows インスタンスの場合、デフォルトの作業ディレクトリは、クラウドアシスタントクライアントプロセスが存在するディレクトリです (例: C:\Windows\System32)。

ECS コンソールの [ECS Cloud Assistant] ページで作業ディレクトリを指定するか、RunCommand オペレーションを呼び出すときに WorkingDir パラメータを指定できます。

CommandNotApplicable

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

インスタンスのオペレーティングシステムごとに、サポートされるコマンドタイプが異なります。

  • RunBatScript: バッチコマンド。 Windows インスタンスに適用されます。

  • RunPowerShellScript: PowerShell コマンド。 Windows インスタンスに適用されます。

  • RunShellScript: シェルコマンド。 Linux インスタンスに適用されます。

InvalidCommandText

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

コマンドの内容を確認します。コマンドの内容は、プレーンテキストまたは Base64 エンコードにすることができます。

CommandContentDecodeError

コマンドの内容をデコードできませんでした。

コマンドの内容が Base64 エンコードされている場合は、Base64 エンコードが正しいかどうかを確認します。

AccountNotExists

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

ユーザーを作成してから、コマンドを再実行します。

  • Linux インスタンスの場合、デフォルトでは root ユーザー名が使用されます。

  • Windows インスタンスの場合、デフォルトでは System ユーザー名が使用されます。

ECS コンソールの [ECS Cloud Assistant] ページでユーザーを指定するか、RunCommand オペレーションを呼び出すときに Username パラメータを指定できます。

スケジュールされたコマンド実行時に発生するエラー

エラーコード

エラーメッセージ

推奨される解決策

BadCronExpression

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

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 は、中国の上海のタイムゾーンのタイムゾーンファイルです。

  • Windows インスタンスの場合、必要なタイムゾーンファイルがレジストリに存在するかどうかを確認します (例: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones)。

説明

必要なタイムゾーンファイルが存在しない場合は、タイムゾーンファイルを作成してから、コマンドを再実行します。

InvalidRateExpression

レート式が無効です。

レート式を変更します。 詳細については、「Cron 式」をご参照ください。

RateFrequencyTooLarge

レート式で指定されたスケジュールされた実行頻度が、想定よりも高くなっています。

スケジュールされた実行頻度を最大 7 日間に設定します。

InvalidAtExpression

at 式が無効です。

at 式を変更します。 詳細については、「Cron 式」をご参照ください。

AtExpressionExpired

at 式の期限が切れているため、スケジュールされたタスクを実行できませんでした。

有効な at 式を指定します。

コンテナ内でコマンドを実行するときに発生するエラー

エラーコード

エラーメッセージ

推奨される解決策

InvalidContainerName

コンテナ名が無効です。

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

UnsupportedContainerRuntime

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

Cloud Assistant を使用してコマンドを実行できるのは、Container Runtime Interface ( CRI ) に基づいて Kubernetes によって管理され、Dockercontainerd、または CRI-O コンテナランタイム内で実行されているコンテナのみです。

InvalidContainerId

コンテナ ID が無効です。

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

ContainerConnectFailed

コンテナに接続できません。

コンテナが実行されているかどうかを確認します。 kubectl コマンドを実行するか、クラウドアシスタントクライアントを使用して、コンテナのステータスを確認できます。 コンテナが実行されている場合、Status パラメータの値は Running です。 詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」をご参照ください。

  • コンテナが実行されている場合は、コンテナランタイムを確認します。 Cloud Assistant を使用してコマンドを実行できるのは、CRI に基づいて Kubernetes によって管理され、Docker、containerd、または CRI-O コンテナランタイム内で実行されているコンテナのみです。

  • コンテナランタイムが Cloud Assistant の要件を満たしている場合は、コンテナ内で実行するコマンドが関連する要件を満たしているかどうかを確認します。 詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」トピックの「制限」セクションを参照してください。

ContainerStateAbnormal

コンテナのステータスが想定どおりではありません。

コンテナのステータスを確認し、コンテナが実行されていることを確認します。 kubectl コマンドを実行するか、クラウドアシスタントクライアントを使用して、コンテナのステータスを確認できます。 コンテナが実行されている場合、Status パラメータの値は Running です。 詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」をご参照ください。

ContainerNotFound

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

次のいずれかの方法を使用して、コンテナの ID または名前が有効かどうかを確認します。

方法 1: kubectl コマンドを実行する

kubectl --namespace <指定された名前空間> describe pod <指定されたポッド>

方法 2: クラウドアシスタントクライアントを使用する

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

詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」をご参照ください。

ContainerNameDuplicated

ノード上の複数のコンテナの名前が同じであるため、システムはコマンドを実行する正しいコンテナを識別できません。

  • コマンドを実行するコンテナの名前を指定する場合、コンテナ名はノード上で一意である必要があります。

  • コマンドを実行するコンテナの ID を指定することもできます。 kubectl コマンドを実行するか、クラウドアシスタントクライアントを使用して、コンテナ ID を確認できます。 詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」をご参照ください。

ContainerNameAndIdNotMatch

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

指定されたコンテナ ID が、指定されたコンテナ名に対応していません。 コンテナ ID と名前が正しいかどうかを確認します。

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

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

エラーコード

エラーメッセージ

推奨される解決策

UserOrPasswordInvalid

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

ユーザー名またはパスワードを確認します。 ユーザー名とパスワードについては、「暗号化パラメータ」および「一般ユーザーとして Cloud Assistant コマンドを実行する」をご参照ください。

QueryParameterStoreFailed

CloudOps Orchestration Service ( OOS ) パラメータストアからパラメータを取得できません。

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

InstanceRoleInvalid

必要なインスタンスロールがインスタンスにアタッチされていません。

DescribeInstanceRamRole オペレーションを呼び出して、必要な Resource Access Management ( RAM ) ロールがインスタンスにアタッチされているかどうかを確認します。

コマンド停止時に発生するエラー

エラーコード

エラーメッセージ

推奨される解決策

TerminationException

タスクを停止できませんでした。

ErrorInfo フィールドのエラーメッセージを確認して問題のトラブルシューティングを行うか、タスクの停止を再試行します。

ファイル送信時に発生するエラー

エラーコード

エラーメッセージ

推奨される解決策

FileAlreadyExists

同じ名前のファイルが宛先パスに既に存在します。

エラーを解決するには、次のいずれかの解決策を使用します。

  • 宛先パスにある同じ名前のファイルを削除します。

  • 次のいずれかの方法を使用して、宛先パスにある同じ名前のファイルを上書きします。

    • ECS コンソールの [ECS Cloud Assistant] ページで、右上隅にある [ファイルの送信] をクリックします。 [ファイルの送信] パネルで、上書き をオンにします。

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

送信するファイルの宛先パスまたは名前を変更します。

FileNameInvalid

ファイル名が無効です。

次のいずれかの方法を使用して、Windows または Linux オペレーティングシステムのファイル命名規則に準拠するようにファイル名を変更します。

  • ECS コンソールの ECS Cloud Assistant ページで、右上隅にある [ファイル名] をクリックします。[ファイルの送信] パネルの ファイル名 フィールドに有効な名前を指定します

  • SendFile 操作を呼び出し、Name パラメーターに有効な値を指定します

FilePathInvalid

宛先パスが無効です。

次のいずれかの方法を使用して、Windows または Linux オペレーティングシステムのパス規則に準拠するように宛先パスを変更します。

  • ECS コンソールの [ECS Cloud Assistant] ページで、右上隅にある [ファイルの送信] をクリックします。 [ファイルの送信] パネルで、宛先パス フィールドに有効なパスを指定します。

  • TargetDir パラメータに有効な値を指定して、SendFile オペレーションを呼び出します。

FileAuthorityInvalid

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

ファイルの権限を変更します。 ファイルの権限は、Linux インスタンスでのみ有効です。 chmod コマンドを構成するのと同じ方法で、ファイルの権限を構成できます。

UserGroupNotExists

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

デフォルトでは、ユーザーグループは root です。 インスタンスに指定されたユーザーグループを作成します。

コマンド例: groupadd <groupname>。 前述のコマンドでは、<groupname> 変数を、作成するユーザーグループの名前に置き換えます。