スキップしてコンテンツを表示

EC2 インスタンスを開始または起動できない原因を教えてください。

所要時間2分
0

新しい Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動することも、既存のインスタンスを開始することもできません。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

インスタンスを起動しようとした際にエラーコードが表示されない場合は、AWS CloudTrail イベント履歴StartInstances イベントを確認するか、次の AWS CLI コマンド describe-instances を実行してください。

aws ec2 describe-instances --instance-id MYINSTANCE --output json

注: MYINSTANCE を起動できないインスタンスの ID に置き換えてください。

出力で StateReason メッセージを確認します。次の応答例では、StateReasonClient.InternalError です。

"StateReason": {     "Message": "Client.InternalError: Client error on launch",
     "Code": "Client.InternalError"
   },

発生したエラーに応じて次のトラブルシューティング手順を実行してください。

「InsufficientInstanceCapacity」

次のエラーは、新しいインスタンスを起動したり、停止したインスタンスを再起動したりするのに十分なオンデマンド容量がない場合に発生します。

「An error occurred (InsufficientInstanceCapacity) when calling the StartInstances operation (reached max retries: 4): Insufficient capacity (容量が不足しています)」

この問題のトラブルシューティング方法については、「EC2 インスタンスの開始時または起動時に発生する InsufficientInstanceCapacity エラーをトラブルシューティングする方法を教えてください」を参照してください。

「InstanceLimitExceeded」

AWS リージョンで許可されている最大数を超えるインスタンスを起動すると、次のエラーが発生します。

「InstanceLimitExceeded: Your quota allows for 0 more running instance(s) (現在のクォータでは、追加のインスタンスを実行できません)」

この問題のトラブルシューティング方法については、「EC2 インスタンスの開始時または起動時に発生する InstanceLimitExceeded エラーをトラブルシューティングする方法を教えてください」を参照してください。

「UnauthorizedOperation」

「UnauthorizedOperation」エラーは、インスタンスを起動しようとしたユーザーには必要なアクセス許可がない場合に発生します。このエラーのトラブルシューティング方法については、「EC2 インスタンスの起動失敗に対する UnauthorizedOperation という認証エラーをデコードして分析する方法を教えてください」を参照してください。

「The requested configuration is currently not supported」

「configuration is currently not supported」というエラーメッセージは、リクエストしたアベイラビリティーゾーンが指定したインスタンスタイプをサポートしていない場合に発生します。特定のアベイラビリティーゾーンでのインスタンスタイプの可用性を確認するには、次の describe-instance-type-offerings コマンドを実行します。

aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=c5.2xlarge --region us-east-1

注: 実際のものでそれぞれ、c5.2xlarge をインスタンスタイプに、us-east-1 をアベイラビリティーゾーンが属するリージョンに置き換えてください。

必要な場合は、サポートされているアベイラビリティーゾーンでインスタンスを起動してください。

このエラーは、インスタンスの起動に使用した Amazon マシンイメージ (AMI) では、選択したインスタンスタイプをサポートしていない場合にも発生します。インスタンスタイプまたはファミリーを選択する前に、AWS Marketplace の AMI に関する説明を確認してください。この問題は、AWS CLI を使用して AWS Marketplace の AMI を起動する際に多く発生します。Amazon EC2 コンソールを使用してインスタンスを起動する場合、サポートされていないインスタンスにはアクセスできません。

「InternalError」

「InternalError」エラーは通常、次の要因で発生します。

  • Amazon Elastic Block Store (Amazon EBS) ボリュームがインスタンスに正しくアタッチされていない。
  • インスタンスにアタッチされた EBS ボリュームは ERROR 状態である。
  • 暗号化された EBS ボリュームをインスタンスにアタッチしたものの、ユーザーには AWS Key Management Service (AWS KMS) 復号キーへのアクセス許可が欠けている。

このエラーのトラブルシューティング方法については、「Amazon EC2 インスタンスを起動しようとすると、InternalError または Client.UserInitiatedShutdown エラーが発生し、停止したり削除されたりする場合のトラブルシューティング方法を教えてください」を参照してください。

「Disk full」

インスタンスの容量が枯渇し、監査サービスが起動時にマシンを停止した場合、「disk full」エラーが発生します。

重要: インスタンスを停止して起動する前に、次の手順を実行してください。

注: インスタンスを停止または起動する際、インスタンスのパブリック IP アドレスは変更されます。外部トラフィックをインスタンスにルーティングするには、パブリック IP アドレスではなく Elastic IP アドレスを使用することをおすすめします。

「disk full」エラーを解決するには、次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。

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

  3. インスタンスを停止します。

  4. 停止したインスタンスから EBS ルートボリューム /dev/xvda をデタッチします。

  5. 元のインスタンスと同じアベイラビリティーゾーンで新たにレスキュー EC2 インスタンスを起動します。

  6. ルートボリュームをセカンダリデバイスとしてレスキューインスタンスにアタッチします
    注: セカンダリボリュームをアタッチする際に、別のデバイス名を設定できます。

  7. SSH を使用してレスキューインスタンスに接続します

  8. 新しいボリュームにマウントポイントディレクトリを作成するには、次のコマンドを実行します。

    sudo mkdir /mnt/rescue

    注: /mnt/rescue をマウントポイントのディレクトリに置き換えてください。sudo コマンドは、Linux で実行するインスタンスにのみ使用できます。

  9. ボリュームを新しいディレクトリにマウントするには、次のコマンドを実行します。

    sudo mount /dev/xvdf /mnt/rescue

    注: 実際のものでそれぞれ、/dev/xvdf をデバイス名に、/mnt/rescue をマウントポイントのディレクトリに置き換えてください。sudo コマンドは、Linux で実行するインスタンスにのみ使用できます。デバイス名がわからない場合は、次のコマンドを実行すると、使用可能なすべてのディスクデバイスおよび、そのマウントポイントが表示されます。

    lsblk
  10. ルートボリュームのサイズを増やします

  11. パーティションを拡張します

  12. ボリュームをアンマウントするには、次のコマンドを実行します。

sudo umount /mnt/rescue

注: /mnt/rescue をマウントポイントのディレクトリに置き換えてください。sudo コマンドは、Linux で実行するインスタンスにのみ使用できます。 レスキューインスタンスからボリュームをデタッチします。 ルートデバイス名に /dev/xvda を指定し、元のインスタンスにボリュームをアタッチします。 インスタンスを起動し、正常に起動することを確認してください。 /etc/audit/auditd.conf 監査構成ファイルで HALT が設定されていないかを確認し、容量が枯渇した場合に、監査サービスによりマシンがシャットダウンされないようにしてください。Amazon Linux 1 (AL1)、Amazon Linux 2 (AL2)、Amazon Linux 2023 (AL2023) では、監査構成ファイルには次のオプションが必要です。

max_log_file_action = ROTATEadmin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND

「InvalidParameterValue」

「InvalidParameterValue」というエラーメッセージは、リクエスト内のパラメータが無効またはサポート対象外の場合、あるいは使用できない場合に発生します。エラーメッセージには説明が含まれています。たとえば、ルートボリュームが /dev/sda1 または /dev/xvda でインスタンスにアタッチされていない場合、そのインスタンスは起動できません。このエラーが発生すると、CloudTrail イベント履歴には次の例に類似したエントリが表示されます。

「An error occurred (InvalidParameterValue) when calling the StartInstances operation: Invalid value 'i-abcdefghxyz' for instanceId.Instance does not have a volume attached at root (/dev/sda1) (操作の呼び出し時にエラーが発生しました。instanceId に無効な値が含まれています。インスタンスのルート (/dev/sda1) にボリュームがアタッチされていません)」

この問題を解決するには、エラーメッセージに表示されたパラメータを変更してください。たとえば、上記のエラーを解決するには、インスタンスにルートボリュームを /dev/sda1アタッチしてから、インスタンスを起動します。詳細については、「Amazon EC2 API のエラーコード」を参照してください。

関連情報

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

AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ