はじめに
- この記事では先日遭遇したエラーに関しての原因とその解決策を備忘録として残しておきます。
目次
1. 遭遇したエラーの詳細
2. 原因特定の旅
3. 原因
4. 解決策
遭遇したエラーの詳細
-
ある日、EC2インスタンスで立ち上げているwebサーバーにアクセスしようとしました。
しかし、以下のように「アクセスしています」状態のまま20分ほどアクセスできずにいました。
これは何かおかしいと感じてエラー発見の旅に出ました。
原因特定の旅
-
まずはAWSのEC2インスタンスを見て何が起きているのかを確認してみることにしました。すると以下のようなインスタンスの接続性チェックに失敗しましたという文字がありました。
この段階ではまだ、原因の特定には至りませんでしたが、何かしらEC2インスタンス側でエラーが発生していることが分かりました。
-
色々調べてみるとインスタンスのスクリーンショットを取得してみると原因がわかるみたいです。
インスタンスのスクリーンショットの取得の仕方は使用しているインスタンスを選択→アクション→モニタリングとトラブルシューティング→インスタンスのスクリーンショットを取得で行えるようです。
-
こうしてインスタンスのスクリーンショットを取得すると以下のような画像が得られました。
なにやらOut of memoryという文字が見えています。ふむふむ・・・なんとなくエラーの原因が見えてきました。
原因
- つまり原因としてはインスタンスに割り当てられたメモリを超える負荷・使用量になり、OSがプロセスを停止せざるを得なかったことのようです。
解決策
- 自分がとった解決策としては単純にEC2インスタンスのスペックを上げることを行いました。今まではEC2インスタンスの無料枠であるt2.microを使用していたので、メモリの想定使用量と料金を鑑みてt3.smallにしました。
- インスタンスのタイプの変更はわざわざもう一度インスタンスを作り直さなくても、変更できます。変更方法は使用しているインスタンスを選択→アクション→インスタンスの設定→インスタンスタイプを変更から行うことができます。
まとめ
- この記事ではインスタンスが途中で終了することに対しての原因と解決策に関してまとめました。今回は簡単にエラーの内容を特定、解決できましたが大規模システムになればなるほど、簡単にインスタンスのタイプを変更するだけでエラー解決という線は薄そうです。