ECS (Elastic Compute Service) コンソールを使用するか、インスタンスにログインしてコマンドを実行するかに関係なく、すべての要件が満たされている場合にのみ、Cloud Assistantコマンドを期待どおりに実行できます。 意図した操作が完了するように、コマンドの実行結果と状態を確認することを推奨します。 実行に失敗した場合は、一般的なエラーメッセージに基づいて問題をトラブルシューティングできます。
背景情報
例外が発生した場合, コマンドの実行結果と状態が異なります。 例外には、依存関係の欠落、ネットワーク例外、コマンドセマンティックエラー、コマンドデバッグエラー、および異常なインスタンスステータスが含まれます。 ECSコンソールを使用するか、API操作を呼び出して、実行結果のエラーメッセージを表示し、問題のトラブルシューティングを行うことができます。
実行結果の表示
ECSコンソールでの実行結果の表示
ECSコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
をクリックし、コマンド実行結果タブで実行結果を表示します。
コマンドの実行が成功した場合、実行結果でコマンド出力を確認できます。
[実行ステータス] 列に [成功] が表示されているコマンドタスクを見つけます。
[操作] 列で、[表示] をクリックします。
[インスタンス] タブの [タスク完了] タブで、実行結果を表示します。
コマンドの実行が失敗した場合は、実行結果でエラーメッセージを見つけ、エラーメッセージに基づいて問題をトラブルシューティングします。
[実行ステータス] 列に [実行失敗] が表示されているコマンドタスクを見つけます。
[操作] 列で、[表示] をクリックします。
[インスタンス] タブの [タスク失敗] タブで、実行結果を表示します。
コマンドエラーと解決策の詳細については、このトピックのコマンドエラーと解決策を参照してください。
スケジュールされたタスクの実行結果を表示します。
[実行ステータス] 列に [実行待ち] が表示されているコマンドタスクを探します。
[操作] 列で、[表示] をクリックします。
[インスタンス] タブで、実行結果を表示します。
15分ごとに実行されるスケジュールされたコマンドタスクの実行結果を次の図に示します。
Alibaba Cloud CLIを使用した実行結果の表示
Alibaba Cloud CLIまたはOpenAPI ExplorerでCloud Assistantを使用している場合、DescribeInvocationsまたはDescribeInvocationResults操作を呼び出して、Cloud Assistantコマンドの実行結果を照会できます。 実行が失敗した場合は、APIレスポンスのErrorCodeとErrorInfoの値でエラーの詳細を確認できます。
次の例では、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を起動またはインストールします。
説明 上記の操作を実行してもCloud Assistant Agentを起動できない場合は、Cloud Assistant Agentを再インストールしてください。 Cloud Assistant Agentのインストール方法については、「Cloud Assistant Agentのインストール」をご参照ください。 |
ClientNetworkBlocked | インスタンスのネットワーク環境が異常です。 |
説明
|
SecurityGroupRuleDenied | セキュリティグループルールは、Cloud Assistantへのアクセスを拒否します。 |
|
ClientNotResponse | Cloud Assistant Agentは応答しません。 | Cloud Assistant Agentのログに基づいて問題をトラブルシューティングします。
|
ClientNeedUpgrade | 特定の機能をサポートするには、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 | コマンドの実行がタイムアウトしました。 | コマンドの実行タイムアウト時間を延長します。
|
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」の |
DefaultWorkingDirectoryNotAvailable | インスタンスのデフォルトの作業ディレクトリは使用できません。 | インスタンスのデフォルトの作業ディレクトリを確認します。
ECSコンソールのECSクラウドアシスタントページで作業ディレクトリを指定するか、RunCommand操作を呼び出すときに |
CommandNotApplicable | 指定されたインスタンスにはコマンドタイプが適用されません。 | 異なるインスタンスオペレーティングシステムは、異なるコマンドタイプをサポートします。
|
InvalidCommandText | コマンドの内容が無効です。 | コマンドの内容を確認します。 コマンドの内容は、平文またはBase64-encodedです。 |
CommandContentDecodeError | コマンドの内容をデコードできませんでした。 | コマンドの内容がBase64-encodedの場合は、Base64エンコーディングが正しいかどうかを確認します。 |
AccountNotExists | 指定されたユーザーはインスタンスに存在しません。 | ユーザーを作成し、コマンドを再実行します。
ECSコンソールのECSクラウドアシスタントページでユーザーを指定するか、RunCommand操作を呼び出すときに |
スケジュールでコマンドを実行するときに発生するエラー
エラーコード | エラーメッセージ | 推奨ソリューション |
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は、タイムゾーン情報を解析できません。 タイムゾーンファイルが破損している可能性があります。 |
説明 必要なタイムゾーンファイルが存在しない場合は, タイムゾーンファイルを作成してからコマンドを再実行してください。 |
InvalidRateExpression | レート式が無効です。 | レート式を変更します。 詳細については、「Cron式」をご参照ください。 |
RateFrequencyTooLarge | レート式で指定されたスケジュール実行頻度が予想よりも高くなっています。 | スケジュールされた実行頻度を最大7日間に設定します。 |
InvalidAtExpression | at式が無効です。 | at式を変更します。 詳細については、「Cron式」をご参照ください。 |
AtExpressionExpired | at式の有効期限が切れたため、スケジュール済みタスクの実行に失敗しました。 | 有効なat式を指定します。 |
コンテナーでコマンドを実行するときに発生するエラー
エラーコード | エラーメッセージ | 推奨ソリューション |
InvalidContainerName | コンテナ名が無効です。 | コンテナー名の長さは最大255文字です。 コンテナー名には、英数字、ピリオド (.) 、アンダースコア (_) 、およびハイフン (-) のみを使用できます。 コンテナ名は、文字または数字で始まる必要があります。 |
UnsupportedContainerRuntime | コンテナIDに含まれるコンテナランタイムはサポートされていません。 | Cloud Assistantを使用すると、Container Runtime Interface (CRI) に基づいてKubernetesによって管理され、Docker、containerd、またはCRI-Oコンテナランタイム内で実行されるコンテナーでのみコマンドを実行できます。 |
InvalidContainerId | コンテナIDが無効です。 | 64ビットの16進文字列のみがサポートされています。 |
ContainerConnectFailed | コンテナーを接続できません。 | コンテナーが実行中かどうかを確認します。
|
ContainerStateAbnormal | コンテナーのステータスが期待どおりではありません。 | コンテナーのステータスを確認し、コンテナーが実行中であることを確認します。 |
ContainerNotFound | コンテナーが存在しません。 | 次のいずれかの方法を使用して、コンテナのIDまたは名前が有効かどうかを確認します。 方法1: kubectlコマンドを実行する
方法2: Cloud Assistant Agentの使用
詳細については、「Cloud Assistantを使用したコンテナーでのコマンドの実行」をご参照ください。 |
ContainerNameDuplicated | ノード上の複数のコンテナは同じ名前であり、システムはコマンドを実行する正しいコンテナを識別できません。 |
|
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 | 宛先パスに同じ名前のファイルがすでに存在します。 | エラーを解決するには、次のいずれかのソリューションを使用します。
送信するファイルの宛先パスまたは名前を変更します。 |
FileNameInvalid | ファイル名が無効です。 | 次のいずれかの方法を使用して、WindowsまたはLinuxオペレーティングシステムのファイル命名規則に準拠するようにファイル名を変更します。
|
FilePathInvalid | 宛先パスが無効です。 | 次のいずれかの方法を使用して、WindowsまたはLinuxオペレーティングシステムのパス規則に準拠するように宛先パスを変更します。
|
FileAuthorityInvalid | ファイルの権限が無効です。 | ファイルの権限を変更します。 ファイル権限はLinuxインスタンスでのみ有効です。 chmodコマンドを設定するのと同じ方法で、ファイル権限を設定できます。 |
UserGroupNotExists | 指定されたユーザーグループはインスタンスに存在しません。 | デフォルトでは、ユーザーグループはrootです。 インスタンスに指定したユーザーグループを作成します。 サンプルコマンド: |