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?

AWS CloudWatchでEC2のディスク容量監視を設定してみた

0
Posted at

背景

RailsアプリをAWS EC2上で運用していたところ、ある日突然アプリが停止しました。

原因を調査したところ、

No space left on device

というエラーが発生しており、EC2のルートディスクが100%まで埋まっていました。

この経験から、容量不足を事前に検知するためCloudWatch監視を導入しました。

環境

  • AWS EC2
  • Ubuntu
  • Rails 8
  • PostgreSQL
  • CloudWatch Agent

CloudWatch Agent導入

CloudWatch Agentをインストールし、ウィザードで設定を作成しました。

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

基本的にはデフォルト設定を選択しました。

メトリクス確認

CloudWatch → Metrics → CWAgent から以下のメトリクスを確認できました。

disk_used_percent

監視対象としてルートディスク(/)を選択しました。

CloudWatchアラーム作成

以下の条件でアラームを作成しました。

  • アラーム名: tasklink-disk-usage-80
  • メトリクス: disk_used_percent
  • path: /
  • 閾値: 80%

設定条件

disk_used_percent >= 80

SNSによるメール通知

CloudWatchアラーム発生時にメール通知を受け取るため、Amazon SNSを利用しました。

SNS設定

  1. SNS Topic作成
  2. Email Subscription作成
  3. AWS Notification - Subscription Confirmation を承認
  4. CloudWatch Alarmと連携

承認後、Subscription Status が「Confirmed」になれば設定完了です。

完成した構成

EC2

CloudWatch Agent

CloudWatch Metrics

CloudWatch Alarm

Amazon SNS

メール通知

学んだこと

  • CloudWatch AgentでEC2の詳細メトリクスを取得できる
  • SNSを利用してメール通知が可能
  • 容量不足による障害を事前に検知できる
  • 監視とバックアップは本番運用に必須

まとめ

以前はディスク使用率100%になるまで異常に気付けませんでしたが、CloudWatch監視を導入したことで80%到達時にメール通知を受け取れるようになりました。

バックアップ、復元テスト、監視まで構築できたことで、本番運用に近い環境を整えることができました。

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?