Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを停止しようとしましたが、停止状態のままになっています。
簡単な説明
以下のシナリオでは、インスタンスが「stopping (停止) 」 状態のままスタックしているように見える場合があります。
- インスタンスをホストする基盤となるハードウェアに問題がある、またはシステムステータスチェックに失敗した。
- インスタンスのステータスチェックに失敗した。
- インスタンスにメモリ不足 (OOM) エラーがある。
- インスタンスを休止状態にしようとしている。
解決方法
(オプション) インスタンスの状態を確認する
インスタンスの最新の状態を確認するには、Amazon EC2 コンソールで更新アイコンを選択します。または、AWS コマンドラインインターフェイス (AWS CLI) で describe-instances コマンドを実行します。
**注:**AWS CLI コマンドを実行する際にエラーが発生する場合は、AWS CLI の最新バージョンを使用しているかどうかを確認してください。
次のコマンド例では、i-0123ab456c789d01e を停止しようとしているインスタンスの ID に置き換えます。
aws ec2 describe-instances --instance-ids i-0123ab456c789d01e --output json
JSON 応答のステートコードと名前を確認します。
"State": {
"Code": 64,
"Name": "stopping"
},
インスタンスが stopping 状態でスタックした場合は、次の手順を実行してインスタンスを強制停止します。
インスタンスをホストする基盤となるハードウェアに問題、またはシステムステータスチェックの失敗
システムステータスチェックが失敗した場合は、EC2 インスタンスをホストしているハードウェアに問題があるということです。インスタンスを停止して起動して、インスタンスを新しい、正常なホストに移行する必要があります。
インスタンスの停止と起動をAmazon EC2 が実行するのを待ちます。または、インスタンスを強制的に停止します。強制停止の手順については、以下のセクション「インスタンスの強制停止」を参照してください。
詳細については、「EC2 Linux インスタンスがシステムステータスチェックに失敗した」を参照してください。これをトラブルシューティングするにはどうすればよいですか?
インスタンスのステータスチェックの失敗
インスタンスのステータスチェックが失敗した場合は、シャットダウンスクリプトの実行により、インスタンスが停止状態でスタックしているように見えることがあります。または、レスキューインスタンスの問題のトラブルシューティングを行うための StopInstances API を使用することを停止したインスタンスによって、スタックしているかのように見えることがあります。この原因は、インスタンスに到達できないために StopInstances 操作に時間がかかる可能性があるためです。
これらのシナリオでは、最終的に、インスタンスは停止します。または、インスタンスを強制的に停止します。強制停止の手順については、以下のセクション「インスタンスの強制停止」を参照してください。
インスタンスの OOM エラー
インスタンスのコンソールログで OOM エラーを確認します。詳細については、「リソースの過剰使用が原因で EC2 Linux インスタンスが応答しなくなるのはなぜですか?」を参照してください。
休止プロセスでのインスタンス
インスタンスが停止状態でスタックしたように見える場合は、インスタンスを強制的に停止することができます。強制停止の手順については、以下のセクション「インスタンスの強制停止」を参照してください。
詳細については、「休止状態のトラブルシューティング」を参照してください。
インスタンスを強制停止する
インスタンスが stopping 状態でスタックした場合は、インスタンスを強制的に停止できます。
Amazon EC2 コンソールを使用する
- Amazon EC2 コンソールを開きます。
- [インスタンス] を選択し、スタックしているインスタンスを選択します。
- [インスタンスの状態]、[インスタンスの強制停止]、[停止] を選択します。[インスタンスの強制停止] は、インスタンスが [停止] 状態の場合にのみ、コンソールで使用できることに注意してください。インスタンスが別の状態にある場合 ([シャットダウン] と [終了] を除く)、AWS CLI を使用してインスタンスを強制停止することができます。
**AWS CLI を使用する **
次の例に示すように、stop-instances コマンドと --force オプションを使用します。
aws ec2 stop-instances --instance-ids i-0123ab456c789d01e --force
その他のリソース
上記の解決手順で問題が解決しない場合は、AWS re:Post 内でヘルプのリクエストを投稿してください。解決を早めるために、インスタンス ID を含め、すでに実行した手順を説明してください。
詳細については、「インスタンスの停止に関するトラブルシューティング」を参照してください。