AWS CloudWatchで死活監視を行う方法まとめ!初心者でもわかるサーバー監視設定ガイド
生徒
「AWSでサーバーを運用しているんですが、サーバーが停止したときに気づく方法ってありますか?」
先生
「あります。AWSではCloudWatchという監視サービスを使って、サーバーの死活監視を行うことができます。」
生徒
「死活監視ってどういう意味ですか?」
先生
「サーバーが正常に動いているか、それとも停止しているかを監視する仕組みのことです。CloudWatchではCPU使用率やネットワーク通信などを監視して、異常があれば通知することができます。」
生徒
「通知もできるんですか?」
先生
「はい。SNSという通知サービスと連携すると、メールなどでアラート通知を受け取ることができます。それではAWS CloudWatchを使った死活監視の設定方法を順番に見ていきましょう。」
1. AWS CloudWatchとは
AWS CloudWatchとは、AWSが提供しているクラウド監視サービスです。AWSのサーバーやアプリケーションの状態をリアルタイムで監視できるため、システム運用では非常に重要なサービスです。
例えば次のような監視ができます。
- EC2のCPU使用率監視
- ネットワーク通信量の監視
- ディスク使用率監視
- サーバー停止などの死活監視
CloudWatchを利用することで、AWSのサーバー監視、障害検知、アラート通知を自動化できます。AWS運用やインフラ監視を行う場合には必ず覚えておきたいサービスです。
特にEC2サーバーを利用している場合は、CloudWatchによる死活監視を設定しておくことで、サーバー障害や負荷上昇をすぐに検知できるようになります。
2. 死活監視とは何か
死活監視とは、サーバーやシステムが正常に動作しているかどうかを監視する仕組みのことです。
システム運用では、サーバーが停止してしまうとWebサイトやアプリケーションが利用できなくなります。そのため、サーバーの状態を常に監視しておく必要があります。
死活監視では次のような状態をチェックします。
- サーバーが起動しているか
- CPU使用率が異常に高くないか
- ネットワーク通信が停止していないか
- メモリ使用率が上限に達していないか
AWS CloudWatchでは、これらの監視をメトリクスという数値データで管理しています。そして一定の条件を超えた場合にアラームを発生させることができます。
例えば次のような監視ルールを作ることができます。
- CPU使用率が80パーセント以上になったら通知
- サーバーステータスチェックが失敗したら通知
- ネットワーク通信が停止したら通知
3. CloudWatchで死活監視を行う基本構成
AWS CloudWatchで死活監視を行う場合、基本的には次の三つのサービスを組み合わせます。
CloudWatch メトリクス
CloudWatch アラーム
SNS 通知
それぞれの役割を簡単に説明します。
まずCloudWatchメトリクスは、EC2などのリソースの状態を数値データとして記録する機能です。CPU使用率やネットワーク通信量などが自動で記録されます。
次にCloudWatchアラームは、メトリクスの値が指定した条件を超えた場合にアラートを発生させる機能です。
最後にSNSは通知サービスで、アラームが発生したときにメールなどで通知を送ることができます。
つまり次の流れになります。
- CloudWatchがサーバー状態を監視
- 条件を超えるとアラーム発生
- SNSがメール通知を送信
この構成を作ることで、AWSサーバーの死活監視を自動化できます。
4. SNSで通知設定を作成する
CloudWatchアラームを設定する前に、通知先となるSNSトピックを作成します。SNSはAWSの通知サービスで、メールやHTTPなど様々な方法で通知できます。
設定手順は次の通りです。
- AWS管理コンソールを開く
- SNSサービスを開く
- トピックを作成をクリック
- トピック名を入力
- メール通知を登録
メールアドレスを登録すると確認メールが届くので、リンクをクリックして登録を完了させます。
これでCloudWatchアラームが発生したときにメール通知を受け取る準備が整いました。
5. CloudWatchアラームを作成する
次にCloudWatchで監視アラームを作成します。AWS CloudWatchのアラーム機能を使うことで、EC2サーバーの異常を自動検知できます。
設定の基本手順は次の通りです。
- CloudWatchを開く
- アラームメニューを選択
- アラーム作成をクリック
- EC2メトリクスを選択
- CPU使用率などの監視項目を選択
例えばCPU使用率の監視を行う場合、次のような設定にします。
- メトリクス CPUUtilization
- 条件 80以上
- 評価期間 5分
この設定により、CPU使用率が高くなった場合にアラートを発生させることができます。
6. EC2のステータスチェックで死活監視する
EC2の死活監視を行う場合は、CPU監視だけではなくステータスチェック監視も設定しておくと安全です。
EC2には次の二つのステータスチェックがあります。
- System Status Check
- Instance Status Check
System Status Checkは、AWSのハードウェア側の問題を検知します。
Instance Status Checkは、OSやネットワークなどインスタンス内部の問題を検知します。
CloudWatchでは次のメトリクスを利用して監視できます。
- StatusCheckFailed
- StatusCheckFailed_Instance
- StatusCheckFailed_System
これらの値が1になった場合にアラームを発生させる設定を行うことで、EC2サーバーの死活監視を実現できます。
7. CloudWatchエージェントで詳細監視を行う
標準のCloudWatch監視では、CPU使用率やネットワークなどの基本メトリクスしか取得できません。
より詳細な監視を行いたい場合はCloudWatchエージェントをEC2サーバーにインストールします。
CloudWatchエージェントを導入すると次のような監視が可能になります。
- メモリ使用率監視
- ディスク使用率監視
- ログ監視
- アプリケーションログ送信
Amazon Linuxなどでは次のコマンドでインストールできます。
sudo yum install amazon-cloudwatch-agent
Loaded plugins: extras_suggestions
Installed: amazon-cloudwatch-agent
インストール後に設定ファイルを作成し、CloudWatchへメトリクスを送信することでより高度なサーバー監視が実現できます。
本格的なAWS運用では、このCloudWatchエージェントを使った監視設定を行うケースが多くなります。