EC2インスタンスがハングしたときに自動復旧させる(CloudWatch)

インスタンスが何らかの障害があってハングアップ状態になってしまった時に自動的に再起動させるように設定します。 前提として、インスタンスの監視するサービスであるCloud Watchを利用します。

Cloud Watchのアラーム設定

インスタンスがハングアップした時、再起動するようなアラームを作成します。

インスタンスメニューで設定したいインスタンスを選択、「アクション」から「CloudWachのモニタリング」→「アラームの追加/編集」

アラームの作成をクリックし、下の画像のように、アクションを実行の項目とどんな時にアラーム発生させるかを設定し、アラームの作成をクリック。

以上で再起動の設定が完了いたしました! 次は実際に再起動するかのテストを行います。

動作確認テスト

インスタンスを故意にハングアップさせるために以下のコマンドを使います。

sudo sh -c 'echo 1 > /proc/sys/kernel/sysrq'
sudo sh -c 'echo c > /proc/sysrq-trigger'

上のコマンドを簡単に説明すると、1行目でsystem requestの設定をオンにして、2行目でカーネルをクラッシュさせるコマンドのcをsystem requestに入力しています。これでカーネルがクラッシュされ、ハングアップされました。

再起動したかを確かめるため、以下のコマンドを実行してみてください。

 last reboot
reboot   system boot  4.14.72-73.55.am Thu Oct 25 15:29 - 15:32  (00:03)

上記のようにカーネルをクラッシュした時のrebootができていたら設定は完了です!!!