インスタンスの起動に関する問題のトラブルシューティング - Amazon Elastic Compute Cloud

インスタンスの起動に関する問題のトラブルシューティング

以下の問題が発生すると、インスタンスを起動できなくなります。

インスタンス制限の超過

Description

新しいインスタンスを起動するか、停止したインスタンスを再起動しようとすると、InstanceLimitExceeded エラーが発生する。

Cause

新しいインスタンスを起動するか、停止したインスタンスを再起動しようとすると InstanceLimitExceeded エラーが発生する場合、リージョンで起動できるインスタンス数の制限に達しています。AWS アカウントを作成するときに、リージョンごとに、実行できるインスタンスの数についてデフォルトの制限が設定されます。

Solution

インスタンス制限の引き上げは、リージョンごとにリクエストできます。詳細については、「Amazon EC2 のサービスクォータ」を参照してください。

インスタンス容量の不足

Description

新しいインスタンスを起動するか、停止したインスタンスを再起動しようとすると、InsufficientInstanceCapacity エラーが発生する。

Cause

インスタンスを起動したり、停止したインスタンスを再起動したりする際にこのエラーが発生する場合、現在 AWS にはリクエストに対応するために必要とされる十分なオンデマンドキャパシティーがありません。

Solution

この問題を解決するには、以下の手順を実行します。

  • 数分間待ってからリクエストを再度送信します。容量は頻繁に変化します。

  • インスタンス数を減らして新しいリクエストを送信します。たとえば、15 インスタンスを起動する 1 つのリクエストを行っている場合、代わりに 5 つのインスタンスに対する 3 つのリクエストを作成するか、1 つのインスタンスに対する 15 のリクエストを作成してみてください。

  • インスタンスを起動する場合は、アベイラビリティーゾーンを指定しないで新しいリクエストを送信します。

  • インスタンスを起動する場合は、別のインスタンスタイプを使用して新しいリクエストを送信します (これは後でサイズを変更できます)。詳細については、「インスタンスタイプを変更する」を参照してください。

  • クラスタープレイスメントグループにインスタンスを起動すると、容量不足エラーが発生する場合があります。詳細については、「プレイスメントグループのルールと制限」を参照してください。

リクエストされた設定は現在サポートされていません。サポートされている設定については、ドキュメントを参照してください。

Description

インスタンス設定がサポートされていないため、新しいインスタンスを起動しようとすると、Unsupported エラーが表示されます。

Cause

エラーメッセージには、詳細が記載されています。例えば、インスタンスタイプまたはインスタンス購入オプションは、指定されたリージョンまたはアベイラビリティーゾーンではサポートされていない可能性があります。

Solution

別のインスタンス設定を試してください。要件を満たすインスタンスタイプを検索するには、「Amazon EC2 インスタンスタイプの検索」を参照してください。

インスタンスがすぐに終了する

Description

インスタンスは pending 状態から terminated 状態に移行します。

Cause

インスタンスがすぐに終了する理由を次にいくつか示します。

  • EBS ボリュームの制限を超えた。詳細については、「インスタンスボリューム数の制限」を参照してください。

  • EBS スナップショットが破損している。

  • ルート EBS ボリュームは暗号化されていて、復号用の KMS キー にアクセスする権限がない。

  • AMI のブロックデバイスマッピングで指定されたスナップショットは暗号化されていて、復号するための KMS キー へのアクセス権限がないか、復元されたボリュームを暗号化するための KMS キー へのアクセス権限がありません。

  • インスタンスを起動するために使用した Instance Store-Backed AMI で、必要な部分 (image.part.xx ファイル)。

詳細については、次のいずれかの方法を使用して、削除された理由を確認します。

Amazon EC2 コンソールを使用して、削除された理由を確認するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [Instances] を選択し、インスタンスを選択します。

  3. 最初のタブで、[State transition reason (状態遷移の理由)] の横にある理由を見つけます。

AWS Command Line Interface を使用して、削除された理由を確認するには

  1. describe-instances コマンドを使用して、インスタンス ID を指定します。

    aws ec2 describe-instances --instance-id instance_id
  2. コマンドによって返された JSON レスポンスで、StateReason レスポンス要素の値を確認します。

    次のコードブロックは StateReason レスポンス要素の例を示しています。

    "StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },

AWS CloudTrail を使用して、削除された理由を確認するには

詳細については、AWS CloudTrail ユーザーガイドの「CloudTrail イベント履歴でのイベントの表示」を参照してください。

Solution

削除の理由に応じて、次のアクションの 1 つを実行します。

  • Client.VolumeLimitExceeded: Volume limit exceeded — 未使用のボリュームを削除します。ボリューム制限を引き上げるリクエストを送信できます。

  • Client.InternalError: Client error on launch — ボリュームの復号と暗号化に使用する AWS KMS keys への必要なアクセス許可があることを確認します。詳細については、AWS Key Management Service デベロッパーガイドの「AWS KMS でのキーポリシーの使用」を参照してください。