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

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

最終更新日:Aug 28, 2024

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

背景情報

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

実行結果の表示

ECSコンソールでの実行結果の表示

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メンテナンス&モニタリング > クラウドアシスタントを選択します。

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

  4. をクリックし、コマンド実行結果タブで実行結果を表示します。

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

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

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

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

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

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

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

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

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

        执行失败错误信息

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

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

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

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

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

        定时任务执行结果

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

Alibaba Cloud CLIまたはOpenAPI ExplorerでCloud Assistantを使用している場合、DescribeInvocationsまたはDescribeInvocationResults操作を呼び出して、Cloud Assistantコマンドの実行結果を照会できます。 実行が失敗した場合は、APIレスポンスのErrorCodeErrorInfoの値でエラーの詳細を確認できます。

次の例では、DescribeInvocationsおよびDescribeInvocationResults操作を使用して、Alibaba Cloud CLIを使用して実行結果をクエリする方法を説明します。

  • DescribeInvocations操作を呼び出して、コマンドの実行ステータスを照会します。

    aliyun ecs DescribeInvocations --RegionId TheRegionId --InvokeId your-invoke-id
  • DescribeInvocationResults操作を呼び出して、インスタンスでのコマンドの実行結果を照会します。

    aliyun ecs DescribeInvocationResults --RegionId TheRegionId --InstanceId i-bp1g6zv0ce8og******p --InvokeId your-invoke-id

コマンドエラーと解決策

一般的なエラー

エラーコード

エラーメッセージ

推奨ソリューション

InstanceNotRunning

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

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

InstanceRestarted

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

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

ClientNotRunning

Cloud Assistant Agentが実行されていません。

Cloud Assistant Agentが停止またはインストールされていません。 次の操作を実行して、Cloud Assistant Agentを起動またはインストールします。

  1. Cloud Assistant Agentプロセスが期待どおりに実行されるかどうかを確認します。

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

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

  2. プロセスが存在しない場合は、Cloud Assistant Agentを起動します。

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

      # If the Linux instances support systemctl, run the following command:
      systemctl start aliyun.service
      
      # If the Linux instances do not support systemctl, run the following command:
      /etc/init.d/aliyun-service start
    • Windowsインスタンスの場合、Service Managerを使用してAliyun Assist Serviceを起動します。

説明

上記の操作を実行してもCloud Assistant Agentを起動できない場合は、Cloud Assistant Agentを再インストールしてください。 Cloud Assistant Agentのインストール方法については、「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

      Cloud Assistant Agentのインストールパッケージは、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

Cloud Assistant Agentは応答しません。

Cloud Assistant Agentのログに基づいて問題をトラブルシューティングします。

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

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

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

  2. ログファイルにタスクIDが存在するか確認してください。

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

    • タスクIDが存在しない場合は、Cloud Assistantコマンドを再実行します。 それでも実行に失敗した場合は、Cloud Assistant Agentを再起動することを推奨します。

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

        # If the Linux instances support systemctl, run the following command:
        systemctl restart aliyun.service
        
        # If the Linux instances do not support systemctl, run the following command:
        /etc/init.d/aliyun-service restart
      • Windowsインスタンスの場合、Service Managerを使用してAliyun Assist Serviceを起動します。

ClientNeedUpgrade

特定の機能をサポートするには、Cloud Assistant Agentをアップグレードする必要があります。

  • ErrorInfoフィールドをチェックして、現在のバージョンのCloud Assistant Agentでサポートされていない機能と、その機能をサポートしている最も古いバージョンのCloud Assistant Agentを取得します。 Cloud Assistant Agentをこの機能をサポートするバージョンにアップグレードします。

ClientNotOnline

Cloud Assistant Agentがサーバーに接続されていません。

Cloud Assistant Agentを再起動します。 詳細については、「Cloud Assistant Agentの起動、停止、またはアンインストール」をご参照ください。 Cloud Assistant Agentの再起動後もCloud Assistant Agentがサーバーに接続できない場合、 チケットを起票してサポートセンターにお問い合わせくださいしてサポートセンターにお問い合わせください。

DeliveryTimeout

Cloud AssistantサーバーがCloud Assistant Agentにコマンドを送信できませんでした。

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

ExecutionTimeout

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

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

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

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

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

ExecutionException

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

ErrorInfoフィールドのエラーメッセージを確認してください。 エラーメッセージに基づいて問題を特定できない場合、 チケットを起票してサポートセンターにお問い合わせくださいしてサポートセンターにお問い合わせください。

ExitCodeNonzero

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

コマンドスクリプトとコマンド出力を确认してください。

ClientRestarted

Cloud Assistant Agentの再起動によりタスクが中断されました。

Cloud Assistant Agentの再起動後にタスクを再実行してください。 ECSコンソールのECS Cloud Assistantページで、またはDescribeCloudAssistantStatus操作を呼び出して、Cloud Assistant Agentの実行ステータスを表示できます。

InstanceReleased

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

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

DirectoryNotExists

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

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

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

エラーコード

エラーメッセージ

推奨ソリューション

ClientIsUpgrading

Cloud Assistant Agentのアップグレード中です。

Cloud Assistant Agentのアップグレードが完了したら、コマンドを再実行します。 ECSコンソールのECS Cloud Assistantページで、またはDescribeCloudAssistantStatus操作を呼び出して、Cloud Assistant Agentの実行ステータスを表示できます。

InstanceDeregistered

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

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

InvalidSystemBuiltInParameter

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

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

DefaultWorkingDirectoryNotAvailable

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

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

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

  • Windowsインスタンスの場合、デフォルトの作業ディレクトリは、Cloud Assistant Agentプロセスが存在するディレクトリ (C:\Windows\System32など) です。

ECSコンソールのECSクラウドアシスタントページで作業ディレクトリを指定するか、RunCommand操作を呼び出すときにWorkingDirパラメーターを指定できます。

CommandNotApplicable

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

異なるインスタンスオペレーティングシステムは、異なるコマンドタイプをサポートします。

  • RunBatScript: Windowsインスタンスに適用可能なバッチコマンド。

  • RunPowerShellScript: Windowsインスタンスに適用可能なPowerShellコマンド。

  • RunShellScript: Linuxインスタンスに適用可能なシェルコマンド。

InvalidCommandText

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

コマンドの内容を確認します。 コマンドの内容は、平文またはBase64-encodedです。

CommandContentDecodeError

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

コマンドの内容がBase64-encodedの場合は、Base64エンコーディングが正しいかどうかを確認します。

AccountNotExists

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

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

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

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

ECSコンソールのECSクラウドアシスタントページでユーザーを指定するか、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

Cloud Assistant Agentは、タイムゾーン情報を解析できません。 タイムゾーンファイルが破損している可能性があります。

  • 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コマンドを実行するか、Cloud Assistant Agentを使用してコンテナのステータスを確認できます。 コンテナーが実行中の場合、Statusパラメーターの値はrunningです。 詳細については、「Cloud Assistantを使用したコンテナーでのコマンドの実行」をご参照ください。

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

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

ContainerStateAbnormal

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

コンテナーのステータスを確認し、コンテナーが実行中であることを確認します。 kubectlコマンドを実行するか、Cloud Assistant Agentを使用してコンテナのステータスを確認できます。 コンテナーが実行中の場合、Statusパラメーターの値はrunningです。 詳細については、「Cloud Assistantを使用したコンテナーでのコマンドの実行」をご参照ください。

ContainerNotFound

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

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

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

kubectl --namespace <Specified namespace> describe pod <Specified pod>

方法2: Cloud Assistant Agentの使用

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

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

ContainerNameDuplicated

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

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

  • コマンドを実行するコンテナーのIDを指定することもできます。 kubectlコマンドを実行するか、Cloud Assistant Agentを使用してコンテナIDを確認できます。 詳細については、「Cloud Assistantを使用したコンテナーでのコマンドの実行」をご参照ください。

ContainerNameAndIdNotMatch

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

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

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

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

エラーコード

エラーメッセージ

推奨ソリューション

UserOrPasswordInvalid

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

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

QueryParameterStoreFailed

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

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

InstanceRoleInvalid

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

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

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

エラーコード

エラーメッセージ

推奨ソリューション

TerminationException

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

ErrorInfoフィールドのエラーメッセージを確認して問題をトラブルシューティングするか、タスクを再度停止してください。

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

エラーコード

エラーメッセージ

推奨ソリューション

FileAlreadyExists

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

エラーを解決するには、次のいずれかのソリューションを使用します。

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

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

    • ECSコンソールの [ECSクラウドアシスタント] ページで、右上隅の [ファイルの送信] をクリックします。 [ファイルの送信] パネルで、上書き をオンにします。

    • 上書きパラメーターをtrueに設定してSendFile操作を呼び出します。

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

FileNameInvalid

ファイル名が無効です。

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

  • ECSコンソールの [ECSクラウドアシスタント] ページで、右上隅の [ファイルの送信] をクリックします。 [送信ファイル] パネルで、ファイル名 フィールドに有効な名前を指定します。

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

FilePathInvalid

宛先パスが無効です。

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

  • ECSコンソールの [ECSクラウドアシスタント] ページで、右上隅の [ファイルの送信] をクリックします。 [送信ファイル] パネルで、ターゲットパス フィールドに有効なパスを指定します。

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

FileAuthorityInvalid

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

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

UserGroupNotExists

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

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

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