0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2インスタンスの死活監視のやり方

Last updated at Posted at 2025-07-25

こんにちは、2025年7月の連日の猛暑日はなかなか体にこたえますが、皆さんもAWSライフを楽しんでいますでしょうか。
今回は個人的な備忘録ですが盲点でもあったのでEC2の死活監視について改めて知識の整理として記載します。
EC2インスタンスの死活監視について皆さんは普段どのように監視されているでしょうか。
普段からAWSを触っている皆さんであれば当たり前のことかもしれませんが、気づきがあったので忘れた時にまたこの記事を読もうと思います。。。

EC2の死活監視の観点整理

AWSの死活監視は4つのポイントに主に分かれています。
また、どの観点で死活監視をしたいかにより構築、運用が大きく影響がある部分です。

①.AWSシステム側の障害やOS側の一部の障害

・ネットワーク接続の喪失
・システム電源の喪失
・物理ホストのソフトウェアの問題
・ネットワーク到達可能性に影響する、物理ホスト上のハードウェアの問題

②.EC2インスタンスの異常

・失敗したシステムステータスチェック
・正しくないネットワークまたは起動設定
・メモリの枯渇
・破損したファイルシステム
・互換性のないカーネル
・再起動中、インスタンスのステータスチェックはインスタンスが再び使用可能になるまで失敗を報告します。

③.インスタンスの停止(以下例)

・ユーザが誤ってインスタンを停止してしまった
・AZ障害などでEC2が停止してしまった

④.インスタンスの終了(以下例)

・ユーザが誤ってインスタンを終了してしまった

詳細は以下に記載されています。
AWS公式ドキュメント

CloudWatchアラームで監視ができるのは①と②

基本的に死活監視において①と②は StatusCheckの分類になります。
CloudWatchアラームで監視できるものは具体的に以下の2つです。
※StatusCheckFailed_AttachedEBSというEBSのメトリクスも存在しています。

・①の監視メトリクス名: StatusCheckFailed_System
・②の監視メトリクス名: StatusCheckFailed_Instance
・①と②の監視を含むメトリクス名: StatusCheckFailed ※すべてのステータスチェックを確認します。

AWS公式ドキュメント

これらのメトリクスでは通常CloudWatchアラームで監視設定を行うことができます。
インスタンを停止した際、CloudWatchアラームは「データ不足」となります。

EventBridgeで監視ができるのは③と④

インスタンスの状態の変化をトリガーにアクションを実行するためにEventBridgeが役立ちます。
インベントパターンは以下のように設定することでインスタンスを監視することができます。

Json
{
  "source": ["aws.ec2"],
  "detail-type": ["EC2 Instance State-change Notification"],
  "detail": {
    "state": ["stopped"],
    "instance-id": ["任意のインスタンスID"]
  }
}

設定画像は以下です。
image.png

Cloudwatchアラームの設定を工夫して監視できる?

前述で記載しましたが、CloudWatchアラームの挙動でインスタンを停止した際は「データ不足」となります。
これを上手く利用してアラートを出す方法があります。

※AWSのベストプラクティスではないと思いますので実施される際は自己責任でお願いいたします。

非常に単純なことですが、「データ不足」をどのように取り扱うかの設定をすることで以下のように3つの監視を同時に行うことができます。
StatusCheckFailed_System + インスタンス停止とインスタンス終了
StatusCheckFailed_Instance + インスタンス停止とインスタンス終了
StatusCheckFailed + インスタンス停止とインスタンス終了

1.メトリクス名は①または②を選択します。
image.png

2.同じ設定ページの最下部にある「その他設定」内の「欠落データの処理」にて「欠落データを不正(しきい値を超えている)として処理」を選択します。
image.png

これで両方の監視を行うことができます。

ブログが若干味気なくなってしまったのでCLIからCloudWatchアラームを作成する方法もご紹介します。
以下コマンドの例です。

AWS CLI
aws cloudwatch put-metric-alarm \
  --alarm-name "EC2-StatusCheckFailed" \
  --alarm-description "Status check failed for EC2 instance" \
  --metric-name "StatusCheckFailed_Instance" \
  --namespace "AWS/EC2" \
  --statistic "Average" \
  --period 60 \
  --threshold 1 \
  --comparison-operator "GreaterThanOrEqualToThreshold" \
  --dimensions Name=InstanceId,Value=i-xxxxxxxxxxxxxxxxx \
  --evaluation-periods 3 \
  --datapoints-to-alarm 3 \
  --treat-missing-data "breaching" \
  --alarm-actions "arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:your-sns-topic"

「データ不足」取り扱い設定は--treat-missing-dataオプションで設定が可能です。
設定値の説明は以下にまとめました。

image.png

オプション名 日本語での設定
missing 欠落データを見つかりませんとして処理
notbreaching 欠落データを適正(しきい値をこえていない)として処理
ignore 欠落データを無視(アラーム状態を維持する)として処理
breaching 欠落データを不正(しきい値を超えている)として処理

最後まで読んでくださりありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?