Cloud Assistant コマンドの実行結果を確認し、エラーコードで失敗を診断し、一般的な問題を解決します。
背景
コマンドは、依存関係の欠落、ネットワークの問題、構文エラー、デバッグの失敗、インスタンスの異常な状態など、さまざまな理由で失敗することがあります。コンソールまたは API から実行結果でエラー詳細を確認してください。
実行結果の表示
コンソール
-
ECS コンソール - ECS クラウドアシスタントに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
コマンド実行結果 タブをクリックします。
-
コマンドが正常に実行された場合:
-
実行ステータスが[成功]である結果を探します。
-
[操作] 列で、表示 をクリックします。
-
インスタンス ページの [タスク完了] タブで、コマンド出力を表示します。
実行結果テーブルでは、[実行ステータス] 列に [成功] と表示され、[終了コード] は
0となります。下部のエリアには、コマンドによって返された JSON 出力が表示されます。
-
-
コマンドが失敗した場合:
-
実行ステータス が [タスク失敗] の結果を見つけます。
-
[操作] 列で、表示 をクリックします。
-
インスタンス ページの [タスク失敗] タブで、エラー情報を表示します。
一般的なエラーと解決策については、「一般的な実行エラーと解決策」をご参照ください。
この例では、ExitCode は
5で、エラーの説明は コマンドの実行が 0 以外の終了コードで終了しました です。コマンド出力の主要な情報として、Not ECS : False(インスタンスが ECS インスタンスであることを示します) があります。その他の出力には、Version : 3.5.12、Region ID: cn-hangzhou、およびCPU Type : amd64が含まれます。
-
-
スケジュールされたコマンドの場合:
-
実行ステータス が [スケジュール済み] の結果を検索します。
-
[操作] 列で、表示 をクリックします。
-
インスタンス ページで、予約実行の詳細を表示します。
-
-
CLI
CLI の使用方法については、「Alibaba Cloud CLI を使用した Alibaba Cloud リソースの管理」をご参照ください。
-
RunCommand API または InvokeCommand API のレスポンスから InvokeId を取得します。
-
InvokeId とリージョン ID で結果を照会します。次の例では、中国 (上海) を使用します。他のリージョン ID については、「リージョンとゾーン」をご参照ください。
-
DescribeInvocationsで実行ステータスを確認します:aliyun ecs DescribeInvocations --RegionId cn-shanghai --InvokeId t-sh054h***** -
DescribeInvocationResultsで実行結果を表示します:aliyun ecs DescribeInvocationResults --RegionId cn-shanghai --InvokeId t-sh054h******
-
API
-
RunCommand API または InvokeCommand API のレスポンスから InvokeId を取得します。
-
InvokeId とリージョン ID を使用して DescribeInvocations API または DescribeInvocationResults API を呼び出します。
トラブルシューティング
一般的なエラー
|
エラーコード |
エラーメッセージ |
解決策 |
|
InstanceNotRunning |
コマンド発行時にインスタンスが実行中ではありませんでした。 |
インスタンスが実行中状態であることを確認してください。 |
|
InstanceRestarted |
コマンド実行中にインスタンスが再起動されました。 |
コマンド実行中にインスタンスを再起動しないでください。 |
|
ClientNotRunning |
Cloud Assistant エージェントが実行されていません。 |
Cloud Assistant エージェントが停止しているか、インストールされていません。エージェントを起動またはインストールしてください:
説明
Cloud Assistant エージェントの起動に失敗する場合は、Cloud Assistant エージェントのインストールを参照して、再インストールしてください。 |
|
ClientNetworkBlocked |
インスタンスにネットワーク接続の問題があります。 |
説明
|
|
SecurityGroupRuleDenied |
セキュリティグループのルールが Cloud Assistant サービスへのアクセスを拒否しています。 |
|
|
ClientNotResponse |
Cloud Assistant エージェントが応答しませんでした。 |
Cloud Assistant エージェントのログを確認します:
|
|
ClientNeedUpgrade |
指定された機能をサポートするには、Cloud Assistant エージェントをアップグレードする必要があります。 |
|
|
ClientNotOnline |
Cloud Assistant エージェントが Cloud Assistant サーバーに接続されていません。 |
Cloud Assistant Agent を再起動します。詳細については、「Cloud Assistant Agent の停止とアンインストール」をご参照ください。 |
|
DeliveryTimeout |
Cloud Assistant サーバーが Cloud Assistant エージェントにコマンドを送信できませんでした。 |
コマンドを再実行してください。 |
|
ExecutionTimeout |
コマンドの実行がタイムアウトしました。 |
必要に応じてコマンドのタイムアウトを増やしてください。
|
|
ExecutionException |
コマンド実行中に例外が発生しました。 |
詳細については、ErrorInfo フィールドを確認してください。 |
|
ExitCodeNonzero |
コマンドはゼロ以外の終了コードで終了しました。 |
コマンドスクリプトと出力を確認してください。 |
|
ClientRestarted |
Cloud Assistant エージェントが再起動されたため、コマンドは中断されました。 |
エージェントの再起動後にコマンドを再実行してください。エージェントのステータスは、Cloud Assistant コンソールで確認するか、DescribeCloudAssistantStatus API を呼び出すことで確認できます。 |
|
InstanceReleased |
コマンド実行中にインスタンスがリリースされました。 |
ターゲットインスタンスがリリースされたため、コマンドは失敗しました。 |
|
DirectoryNotExists |
指定された作業ディレクトリがインスタンスに存在しません。 |
インスタンスに作業ディレクトリを作成してから、コマンドを再実行してください。 |
コマンドの実行
|
エラーコード |
エラーメッセージ |
解決策 |
|
ClientIsUpgrading |
Cloud Assistant エージェントはアップグレード中です。 |
アップグレード完了後にコマンドを再実行してください。エージェントのステータスは、Cloud Assistant コンソールで確認するか、DescribeCloudAssistantStatus API を呼び出すことで確認できます。 |
|
InstanceDeregistered |
マネージドインスタンスの登録が解除されました。 |
マネージドインスタンスの登録が解除されたため、コマンドは失敗しました。 |
|
InvalidSystemBuiltInParameter |
組み込み環境パラメーターは無効です。 |
組み込みの環境変数はサポートされていません。サポートされているパラメーターについては、RunCommand の |
|
DefaultWorkingDirectoryNotAvailable |
インスタンス上のデフォルトの作業ディレクトリは利用できません。 |
デフォルトの作業ディレクトリを確認します:
また、コンソールで、または RunCommand の |
|
CommandNotApplicable |
コマンドタイプは指定されたインスタンスに適用できません。 |
各コマンドタイプは、次のオペレーティングシステムをサポートします:
|
|
InvalidCommandText |
コマンドコンテンツは無効です。 |
コマンドコンテンツを確認してください。プレーンテキストまたは Base64 エンコード形式が使用できます。 |
|
CommandContentDecodeError |
コマンドコンテンツのデコードに失敗しました。 |
Base64 エンコードされている場合は、エンコーディングが正しいことを確認してください。 |
|
AccountNotExists |
指定されたユーザーがインスタンスに存在しません。 |
コマンドを実行する前に、インスタンスにユーザーを作成してください。
コンソールまたは RunCommand の |
スケジュールされたコマンドの実行
|
エラーコード |
エラーメッセージ |
解決策 |
|
BadCronExpression |
cron 式が無効です。 |
cron 式を修正してください。詳細については、「時間ベースのスケジューリング」をご参照ください。 |
|
CronExpressionExpired |
cron 式は期限切れです。スケジュールされたタスクは実行されません。 |
期限切れでない cron 式を指定してください。 |
|
InvalidGMTOffsetForTimezone |
cron 式に無効な GMT オフセットタイムゾーン形式が含まれています。 |
GMT オフセットタイムゾーンのフォーマットを確認してください。 サポートされる範囲:GMT-12:59 から GMT+14:59。分: 0-59。時間の先頭のゼロはサポートされていません。 |
|
InvalidGMTOffsetHourForTimezone |
cron 式の GMT オフセット時が無効です。 |
GMT オフセットタイムゾーンの時間値を確認してください。 サポートされる範囲:GMT-12:59 から GMT+14:59。時間の先頭のゼロはサポートされていません。 |
|
InvalidGMTOffsetMinuteForTimezone |
cron 式の GMT オフセット分が無効です。 |
GMT オフセットタイムゾーンの分値を確認してください。 有効な値: 0 から 59。 |
|
TimezoneInformationCorrupt |
タイムゾーンファイルが破損しているため、Cloud Assistant エージェントはタイムゾーン情報を解析できません。 |
説明
タイムゾーンファイルが存在しない場合は、コマンドを実行する前に作成してください。 |
|
InvalidRateExpression |
レート式が無効です。 |
レート式を修正してください。詳細については、「固定間隔実行」をご参照ください。 |
|
RateFrequencyTooLarge |
スケジュールされた実行頻度が高すぎます。 |
実行頻度は 7 日を超えることはできません。 |
|
InvalidAtExpression |
タイムスタンプ (at 式) が無効です。 |
タイムスタンプを修正してください。詳細については、「指定した時間に一度だけコマンドを実行する」をご参照ください。 |
|
AtExpressionExpired |
タイムスタンプ (at 式) は期限切れです。スケジュールされたタスクは実行されません。 |
期限切れでないタイムスタンプを指定してください。 |
コンテナでのコマンド実行
|
エラーコード |
エラーメッセージ |
解決策 |
|
InvalidContainerName |
コンテナ名が無効です。 |
名前は文字または数字で始まり、文字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) のみを含み、255 文字以下である必要があります。 |
|
UnsupportedContainerRuntime |
コンテナ ID で指定されたコンテナランタイムはサポートされていません。 |
Docker、containerd、または CRI-O ランタイム上の CRI 仕様を通じて Kubernetes によって管理されるコンテナのみがサポート対象です。 |
|
InvalidContainerId |
コンテナ ID が無効です。 |
コンテナ ID は 64 ビットの 16 進文字列である必要があります。オプションで、プレフィックス ( |
|
ContainerConnectFailed |
コンテナに接続できません。 |
コンテナが実行中であるかどうかを確認します。
|
|
ContainerStateAbnormal |
コンテナのステータスが異常です。 |
コンテナが実行中であることを確認してください。Cloud Assistant は実行中のコンテナでのみコマンドを実行します。 |
|
ContainerNotFound |
コンテナが存在しません。 |
名前または ID でコンテナが存在することを確認してください。 方法 1: kubectl を使用する
方法 2: Cloud Assistant エージェントを使用する
詳細については、「Cloud Assistant を使用してコンテナ内でコマンドを実行する」をご参照ください。 |
|
ContainerNameDuplicated |
ノード上の複数のコンテナが同じ名前を共有しているため、ターゲットコンテナを識別できません。 |
|
|
ContainerNameAndIdNotMatch |
指定されたコンテナ ID とコンテナ名が一致しません。 |
コンテナ ID と名前が同じコンテナを参照していることを確認してください。 |
Windows でデフォルト以外のユーザーとしてコマンドを実行
Windows インスタンスでデフォルト以外のユーザーとしてコマンドを実行すると、次の問題が発生する可能性があります。
|
エラーコード |
エラーメッセージ |
解決策 |
|
UserOrPasswordInvalid |
ユーザー名またはパスワードが正しくありません。 |
ユーザー名またはパスワードが正しいことを確認してください。詳細については、「暗号化されたパラメーター」および「Cloud Assistant コマンドを実行するための通常ユーザーの設定」をご参照ください。 |
|
QueryParameterStoreFailed |
パラメーターストアからパラメーターを取得できませんでした。 |
パスワードが CloudOps Orchestration Service のパラメーターストアに存在することを確認してください。詳細については、「暗号化されたパラメーター」をご参照ください。 インスタンス RAM ロールに必要な権限があることを確認してください。詳細については、「Windows インスタンスの RAM ロールの設定」をご参照ください。 |
|
InstanceRoleInvalid |
RAM ロールがインスタンスにアタッチされていません。 |
DescribeInstanceRamRole API を呼び出して、RAM ロールがインスタンスにアタッチされているかどうかを確認してください。 |
コマンドの停止
|
エラーコード |
エラーメッセージ |
解決策 |
|
TerminationException |
タスクの停止に失敗しました。 |
ErrorInfo フィールドを確認するか、コマンドを再試行してください。 |
ファイルの送信
|
エラーコード |
エラーメッセージ |
解決策 |
|
FileAlreadyExists |
宛先パスに同じ名前のファイルが既に存在します。 |
次のいずれかの方法でこの問題を解決します:
3. ターゲットインスタンス上の宛先パスまたはファイル名を変更します。 |
|
FileNameInvalid |
ファイル名が無効です。 |
ファイル名が Windows または Linux の命名規則に従っていることを確認してください。
|
|
FilePathInvalid |
ファイルパスが無効です。 |
ファイルパスが Windows または Linux のパス規則に従っていることを確認してください。
|
|
FileAuthorityInvalid |
ファイル権限が無効です。 |
ファイル権限を調整してください。これは Linux インスタンスにのみ適用され、chmod と同じフォーマットを使用します。 |
|
UserGroupNotExists |
指定されたユーザーグループがインスタンスに存在しません。 |
デフォルトグループ:root。Linux インスタンスにユーザーグループを作成してください。 コマンド例: |
よくある質問
Q: Cloud Assistant を使用して Windows サーバーで PowerShell スクリプトを実行すると、出力が文字化けするのはなぜですか。また、どのように修正できますか。
A: Cloud Assistant が使用する PowerShell 環境は、デフォルトで UTF-8 出力エンコーディングを使用していません。
コンソールが正しく解析できないため、非 ASCII 文字 (中国語など) は文字化けします。
解決策は 2 つあります:
-
スクリプトの変更: スクリプトの先頭に UTF-8 エンコーディングを追加します。
Windows Server 2022 では、Cloud Assistant はデフォルトで中国語文字のエンコーディングを正しく処理します。手動で UTF-8 を設定する必要はありません。
PowerShell スクリプトの先頭に以下を追加します:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 Write-Output "日本語の出力テスト..." -
ランチャーの変更: Cloud Assistant の詳細オプションで、実行前にエンコーディングを設定します。
詳細オプションでは、ランチャー フィールドに以下を入力します。
powershell -command [Console]::OutputEncoding=[System.Text.Encoding]::UTF8;{{ACS::ScriptFileName|Ext(.ps1)}};exit $LastExitCodeこれにより、このタスクのすべての PowerShell スクリプトに UTF-8 エンコーディングが適用されます。個々のスクリプトを変更する必要はありません。