Amazon Lightsail インスタンスが応答しません。この一般的な理由は何ですか? また、トラブルシューティングを行うにはどうすればよいですか?
簡単な説明
インスタンスが応答しない場合は、ステータスチェックのインスタンスメトリクスを確認して、トラブルシューティングのステップを決定します。Amazon Lightsail は 2 つのステータスチェックを使用して各インスタンスの正常性をモニタリングします。
システムステータスチェック: システムステータスチェックは、インスタンスが実行されている基盤となるホストに関する問題を検出します。このステータスチェックは、ネットワーク、ハードウェア、またはソフトウェアの問題が原因で基盤となるホストが応答しない、または到達不能である場合に失敗します。
インスタンスステータスチェック: インスタンスステータスチェックの失敗は、オペレーティングシステムレベルのエラーが原因で、インスタンスに問題があることを示します。OS レベルのエラーには次のものがあります。
- オペレーティングシステムの起動の失敗
- ボリュームが正しくマウントされていない
- ファイルシステムの問題
- 互換性のないドライバー
- カーネルパニック
インスタンスのステータスチェックは、リソースの過剰使用が原因で失敗することもあります。リソースの過剰使用が原因でヘルスチェックが失敗する最も一般的な理由を以下に 3 つ挙げます。
- 負荷が高い場合、インスタンスはバースト可能ゾーンで動作する可能性があります。これにより、インスタンスが応答しなくなったり、インスタンスがクラッシュしたりする可能性があります。
- ルートデバイスが 100% フルになり、インスタンスが起動中にスタックした。
- インスタンスで実行されているプロセスですべてのメモリが使用され、カーネルの実行が妨げられている。
解決方法
インスタンスのステータスチェックメトリクスを表示して、インスタンスがシステムステータスチェックまたはインスタンスステータスチェックに失敗したかどうかを判断します。
システムステータスチェックの失敗
システムステータスチェックが失敗した場合、インスタンスを停止して起動することによって、このインスタンスを新しい正常なホストに移行させる必要があります。インスタンスを手動で停止して起動し、新しい正常なホストに移行させることができます。
注意: 停止と開始は、再起動とは異なります。インスタンスを正常なハードウェアに移行するには、開始が必要です。
警告:インスタンスを停止して起動する前に、インスタンスのパブリック IP アドレスは、インスタンスの停止と起動ごとに変更されます。インスタンスの停止と開始のたびに変更されないパブリック IP が必要な場合は、静的 IP アドレスをアタッチできます。
インスタンスステータスチェックの失敗
インスタンスステータスチェックが失敗した場合は、オペレーティングシステムレベルの問題によって起動エラーが発生したか、インスタンスリソースの過剰使用率が原因である可能性があります。インスタンスステータスチェックが失敗する一般的な理由は次のとおりです。
CPU 使用率が高い
インスタンスの CPUUtilizatio メトリクスを表示します。CPU 使用率がサステナブルゾーンを上回っているかどうか、つまりインスタンスがバースト可能ゾーンで動作しており、重い負荷がかかっているかどうかを確認します。この場合は、次のオプションを使用してトラブルシューティングを行います。
- インスタンスを再起動して、正常な状態に戻します。
注意: インスタンスの CPU 要件が現在のインスタンスプランで提供できるものよりも高い場合、再起動後に再度問題が発生します。
- CPU 要件を満たすものより大きなインスタンスプランに切り替えることを検討してください。
メモリを使い果たした
メモリが不足すると、カーネルには実行するのに十分なメモリがなくなります。これが発生すると、メモリを解放するために他のプロセスが停止し、インスタンスが応答しなくなります。インスタンスを再起動するか、停止してまた起動してください。これらの手順により、メモリ使用量が削減されます。
ディスクがいっぱいになったエラー
デバイスに空き領域がなく、ファイルシステムが容量に達した場合、ルートデバイスが満杯であるため、インスタンスが緊急モードに入った可能性があります。これを解決するには、Lightsail プランまたはバンドルをボリュームサイズの大きいプランに増やします。
Lightsail プランをより大きなインスタンスにアップグレードするには、以下を実行します。
1. インスタンスのスナップショットを作成します。
2. スナップショットから大きなインスタンスを作成します。
3. Lightsail プランをアップグレードしたら、インスタンスに接続します。
4. lsblk コマンドを実行して、ディスクレイアウトを確認します。ディスク容量が増えても、パーティションとファイルシステムを増やす自動プロセスの実行を妨げる空き領域が不足している可能性があります。この場合は、空き領域を増やし、手動でパーティションを増やした後、続いてファイルシステムを増やします。これを行うには、次のコマンドを実行します:
growpart コマンドを実行して、ルートパーティション (パーティション 1) のサイズを拡大します。
$ sudo growpart /dev/xvda 1
lsblk コマンドを実行して、パーティション 1 が拡張されていることを確認します。
$ lsblk
ファイルシステムを展開します。次のコマンドを使用して、ルートパーティション「/」のファイルシステムを確認します。
$ lsblk -f
以下の例では、パーティション 1 の EXT2/EXT3/EXT4 ファイルシステムが展開されています。
$ sudo resize2fs /dev/xvda1
以下の例では、XFS タイプのファイルシステムが展開されています。この例では、「/」がボリュームマウントポイントです。
$ sudo xfs_growfs -d /
ファイルシステムを展開したら、df -h コマンドを使用して、追加したスペースが OS 上で表示されることを確認します。
$ df -h
その他 OS レベルの問題
その他の問題には、ブートの問題、カーネルパニック、ネットワーク障害などがあります。また、ブロックデバイスエラー、ソフトウェアバグ、スタックタスク、または異常なシステム問題がある可能性があります。これらすべてにより、インスタンスが応答しなくなる可能性があります。インスタンスを再起動するか、停止して起動してみてください。再起動または停止してまた起動しても問題が解決しない場合は、さらにトラブルシューティングを行うために Lightsail サーバーを EC2 に移行する必要がある場合があります。これは、より単純なワークロード向けであるため、トラブルシューティングオプションが Lightsail に制限されているためです。
関連情報
Lightsail でエクスポートされたスナップショットから Amazon EC2 インスタンスを作成する