CloudWatchアラーム「StatusCheckFailed_Instance」に設定できるアクション

CloudWatchアラームアクションを使用して、EC2インスタンスを自動的に停止、終了、再起動、または復旧するアラームを作成できます。覚えておきたい事としては、StatusCheckFailed_Instanceと、StatusCheckFailed_Systemでは設定できるアクションが異なる事です。改めて確認しましたので、備忘としてまとめたいと思います。
2018.08.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、坂巻です。

CloudWatchアラームアクションを使用して、
EC2インスタンスを自動的に停止、終了、再起動、または復旧するアラームを作成できます。

覚えておきたい事としては、 StatusCheckFailed_Instanceと、StatusCheckFailed_Systemでは設定できるアクションが異なる事です。 改めて確認しましたので、備忘としてまとめたいと思います。

今回はStatusCheckFailed_Instanceのみ動作確認を行います。

StatusCheckFailed_Instanceって?という方は、以下の記事を確認してください。

目次

  • StatusCheckFailed_Instanceの再起動アクション
  • StatusCheckFailed_Instanceの復元アクション
  • StatusCheckFailed_Instanceの停止アクション
  • StatusCheckFailed_Instanceの終了アクション

StatusCheckFailed_Instanceの再起動アクション

ステータスチェック(インスタンス)に失敗したら、自動で再起動を行う設定です。
以下のようなアラームを設定しました。

1

該当のEC2は正常に稼働しているため、アラームの状態は「OK」となっています。

2

それではStatusCheckFailed_Instanceにエラーを発生させたいと思います。
このチェックはEC2インスタンスのネットワークがダウンしても検知されるので、
該当のEC2のネットワークインターフェイスを無効にして動作を確認してみます。

$ date
2018年  7月 31日 火曜日 16:20:31 JST
$ curl http://169.254.169.254/latest/meta-data/instance-id ; echo
i-02fb5968df361f554
$ sudo ifdown eth0

しばらくすると、状態が「アラーム」となりました。

3 4

またしばらくすると、 自動でEC2の再起動が行われ「アラーム」が解消されました。

5-1 5

該当のEC2にログインして、再起動されたことを確認しました。

$ last reboot
reboot   system boot  4.14.47-64.38.am Tue Jul 31 16:24 - 16:38  (00:14)

StatusCheckFailed_Instanceの再起動アクションは正常に行えました。

StatusCheckFailed_Instanceの復元アクション

ステータスチェック(インスタンス)に失敗したら、自動で復元を行う設定です。
以下のようなアラームを設定しました。

6

こちらの設定を保存してみたところ、以下のエラーが出力されました。

7

StatusCheckFailed_Instanceの復元アクションは設定できないことがわかりました。

StatusCheckFailed_Instanceの停止アクション

ステータスチェック(インスタンス)に失敗したら、自動で停止を行う設定です。
以下のようなアラームを設定しました。

8

先程同様、StatusCheckFailed_Instanceにエラーを発生させたいと思います。

$ date
2018年  7月 31日 火曜日 16:34:17 JST
$ curl http://169.254.169.254/latest/meta-data/instance-id ; echo
i-02fb5968df361f554
$ sudo ifdown eth0

しばらくすると、状態が「アラーム」となりました。

9

該当のEC2が停止されました。

10

StatusCheckFailed_Instanceの停止アクションは正常に行えました。

StatusCheckFailed_Instanceの終了アクション

ステータスチェック(インスタンス)に失敗したら、自動で終了を行う設定です。
先程のアクションにより、EC2が停止されているので、該当のEC2を起動しました。

11

以下のようなアラームを設定しました。

12

先程同様、StatusCheckFailed_Instanceにエラーを発生させたいと思います。

$ date
2018年  7月 31日 火曜日 18:55:23 JST
$ curl http://169.254.169.254/latest/meta-data/instance-id ; echo
i-02fb5968df361f554
$ sudo ifdown eth0

しばらくすると、状態が「アラーム」となりました。

13

該当のEC2が終了されました。

14

StatusCheckFailed_Instanceの終了アクションは正常に行えました。

最後に

公式ドキュメントに記載の通り、 StatusCheckFailed_Instanceでは復旧アクションが行えませんでした。

復旧アクションは、StatusCheckFailed_System でのみ使用できます。StatusCheckFailed_Instance では使用できません。

今回、改めて動作を確認したので、これで忘れることはありませんね!