ec2-auto-recovery001

シンジです。タイトルの通り、勝手にお亡くなりになったEC2を自動的にあれこれしましょうということが出来ます。今回は意図的にカーネルパニック起こして死んだサーバーを作って、この機能で勝手に復活させてみます。

まずはAWS Cloud Watchを設定します

新規アラームを作成します。

ec2-auto-recovery002

メトリクスを選びます

ここでは

StatusCheckFailed_System

と検索します。対象のインスタンスを選んで、次へをクリックです。

ec2-auto-recovery004

アラームを定義します

既存のアクションは削除して、新規で「EC2 アクション」を作成します。今回は再起動させますね。右下の統計の部分は割とどうでもいい気がしましたが、一応最大にしてみました。

ec2-auto-recovery003

設定はこれで終わりです

簡単ですね。簡単すぎてマジで動くか分からないので適当にカーネルパニックさせます。その結果がこれ。

ec2-auto-recovery005

Datadogで死活監視しているので、Slackに飛んできたアラートはこんな感じ

ec2-auto-recovery006

EC2が死んだ瞬間がこんなかんじ

ec2-auto-recovery009

EC2のステータスを見てみると

ec2-auto-recovery008

というわけで10分以内に自動再起動している

実はこの手の1/2ステータスは、AWSマネジメントコンソールから再起動しても再起動しないんです。なので、停止してから起動してやらないといけない。今回はきちんと自動的に再起動してくれることが分かりました。楽〜〜〜すばらしい〜〜

問題が起きた時の根本的解決にはならないけど

便利な機能であることは間違いないですよね〜

元記事はこちら

Cloud Watchのリカバリアクションを使って死んだEC2を自動で蘇らせる