Alibaba Cloud Elastic Compute Service (ECS) API、SDK、またはAlibaba Cloud CLIを使用してECSインスタンスで操作を実行すると、問題が発生し、さまざまなエラーコード (ErrorCode) が返される場合があります。 ほとんどの場合、パラメーターの誤り、必要な権限の欠如、または資格情報の誤りが原因で問題が発生します。 このトピックでは、問題を体系的に特定してトラブルシューティングする方法について説明します。
不正なデータ形式
次のサンプルコードは、ECS API操作が呼び出されたときに正しくないデータ形式の例を示しています。
{
"RequestId": "06DD587E-599A-55C6-83BB-EC5******F2",
"HostId": "ecs.cn-hangzhou.aliyuncs.com",
"Code": "InvalidP******",
"Message": "The specified parameter **** is not valid.",
"Recommend": "https://api.aliyun.com/troubleshoot?q=InvalidP******&product=Ecs&requestId=06DD587E-599A-55C6-83BB-EC5******F2"
}
パラメーターの説明:
RequestId: リクエストID。
HostId: サーバー側のホストID。
Code: エラーコード。
Message: エラーメッセージ。
推奨: 対応するエラー診断のURL。 URLを直接コピーしてOpenAPIの問題診断ページに移動し、ソリューションを取得できます。
次のサンプルコードは、存在しないECSインスタンスの例を示しています。
{
"RequestId": "81EF1E7D-0D15-5CAF-B602-3487FAFA88D5",
"HostId": "ecs.cn-hangzhou.aliyuncs.com",
"Code": "InvalidInstanceId.NotFound",
"Message": "The specified InstanceId does not exist.",
"Recommend": "https://api.aliyun.com/troubleshoot?q=InvalidInstanceId.NotFound&product=Ecs&requestId=81EF1E7D-0D15-5CAF-B602-3487FAFA88D5"
}
一般的なエラー
次のセクションでは、API操作を呼び出すときに問題を迅速に解決するのに役立つ一般的なエラーについて説明します。
リージョンエラー: 指定されたリソースが存在するリージョンのIDのスペルが間違っているか、リージョンのエンドポイントが正しくありません。
InvalidRegionIdまたはNotSupportedEndpoint
に似たエラー情報を受け取ることがあります。VPCエラー: 特定のリソースが指定された仮想プライベートクラウド (VPC) に属していません。 たとえば、指定されたセキュリティグループIDが指定されたVPCに属していないとします。
権限の問題: リクエストを開始するために必要な権限があることを確認します。 必要な権限がない場合、
Unauthorized
またはNoPermission
のようなエラー情報を受け取ることがあります。不正な資格情報: 入力した資格情報が正しいことを確認します。 複数のアカウントがある場合は、使用中のアカウントに正しい資格情報を使用していることを確認してください。 誤った資格情報を提供した場合、
AuthFailure、Invalid、またはnot not belong to you
に似たエラー情報が表示されることがあります。API呼び出しの抑制: ECSの安定性を確保するため、ECSはAPIリクエストを抑制します。 リクエストがスロットリングされている場合、
リクエストスロットリング
と同様のエラー情報が表示されることがあります。 リクエスト間の時間間隔を増やすことができます。 詳細については、「API呼び出しスロットリング」をご参照ください。クォータ制限: リソースのクォータを超えています。
QuotaExceed
に似たエラー情報を受け取ることがあります。 この場合、リソースのクォータを超えているかどうかを確認します。 詳細については、「制限」をご参照ください。セキュリティ上の理由からECSインスタンスがロックされています: セキュリティ違反によりECSインスタンスがロックされています。
InstanceLockedForSecurity
に似たエラー情報を受け取ることがあります。 詳細については、「セキュリティ上の理由でインスタンスがロックされたときのAPIの動作」をご参照ください。複数回の再試行による不一致: API操作の呼び出し時にリクエストのタイムアウトまたは内部サーバーエラーが発生した場合、クライアントはリクエストの再送信を試みる可能性があります。 詳細については、「べき等性を確保する方法」をご参照ください。
トラブルシューティング手順
ステップ1: エラーコードとエラーメッセージに基づいて原因を特定する
ほとんどの場合、エラー応答にはエラーコードとエラーメッセージが含まれています。 エラーコードとエラーメッセージを確認して、問題の原因を特定できます。
返されたエラーコードとエラーメッセージを表示します。
リージョンID、インスタンスID、リソースタイプ、有効な値、値タイプなど、リクエスト内のパラメーターの値が正しいかどうかを確認します。
エラーコードに基づいて問題を特定する
InvalidParameter: 無効なパラメータを示します。
InvalidHostName.Malformed: 無効なHostName値を示します。
InvalidInstanceName.Malformed: 無効なInstanceName値を示します。
エラーメッセージに基づいて問題を特定する
指定されたInstanceIdは存在しません: 指定されたインスタンスIDが存在しないことを示します。
指定されたRegionIdは存在しません: 指定されたリージョンIDが存在しないことを示します。
ステップ2: API操作ドキュメントのエラーコードガイドラインを確認する
原因を特定できない場合は、対応するECS API操作ドキュメントに基づいて、リクエスト内のパラメーターを設定および確認できます。
ECS API操作ドキュメントで対応するエラーコードを検索します。 一般的なエラーコードについては、「公開エラーコード」をご参照ください。
ドキュメントで提供されている考えられる原因と解決策に基づいて問題を解決します。
ステップ3: OpenAPIの問題診断ツールを使用して問題を特定する
前の手順を実行しても問題が解決しない場合、または問題が複雑な場合は、OpenAPIの問題診断ツールを使用できます。
エラーメッセージを入力し、OpenAPI問題診断ツールが提供する診断情報を使用して、問題の根本原因をさらに特定します。
診断ソリューションとログ情報に基づいて対策を講じます。