【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

Amazon CloudWatch で Amazon RDS(Relational Database Service)のリソースを監視する設定方法について解説します。

リソースを監視し、しきい値を超えた場合、Amazon SNS でアラートメールを送信します。

 

以下の記事は、監視対象のメトリクスを CloudWatch ダッシュボードで監視する方法です。

 

【AWS】CloudWatch でカスタマイズした CloudWatch ダッシュボードを作成する【RDS】

 

 

 

 

【事前準備】Amazon RDS 構築手順

今回の監視対象は RDS となりますが、RDS の構築手順は以下を参照してください。

 

【AWS】【RDS】SQL Server 作成手順

 

 

 

【事前準備】Amazon SNS でのトピックの作成手順

リソース監視でしきい値を超えた場合、Amazon SNS(Simple Notification Serviceでメールを送信します。

メール送信は Amazon SNS のトピックを利用します。

 

チュートリアル: Amazon SNS トピックを作成する

https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-tutorial-create-topic.html

Amazon SNS トピックは、通信チャネルとして機能する論理アクセスポイントです。トピックを使用すると、複数のエンドポイント (AWS Lambda、Amazon SQS、HTTP/S、E メールアドレスなど) をグループにまとめることができます。

 

 

以下の記事で Amazon SNS でトピックを作成しメールを送信する設定を参考にしてください。

 

【AWS】SNS(Simple Notification Service)でメールを送信する設定手順

 

 

 

 

RDS リソース監視の設定

最初から複雑で込み入ったリソース監視を実施しようと考えても、結局設定ができなくて途中で諦める、または導入しても監視することもないといったことが起こるので、まずは基本的な設定だけ導入し運用しながら必要な監視項目が出たら都度設定するという手順で行きます。

 

その場合、AWS 公式サイトでも記述がありますが、以下の監視項目にまとまるかと思います。

  • CPU 使用率
  • メモリ使用率 
  • ディスクス使用率
  • ネットワークトラフィック
  • データベース接続数
  • IOPS

 

監視対象の RDS

今回利用した RDS は以下となります。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

デフォルトでも基本的な監視項目を確認できる

デフォルトでも(何も設定していなくても)「サービスダッシュボード」で RDS の基本的な監視項目を確認できます。

 

CloudWatch ダッシュボードより、「AWS サービスによるアラーム」「RDS」をクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

デフォルトで以下の監視が入っています。

  • CPU 使用率(CPU Utilization Avarage)
  • データベース接続数(Database Connection Sum)
  • ディスクフリースペース量(Free Storage Space Avarage)
  • フリーメモリ量(Freeable Memory Average)

 

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

  • Read Latency Average
  • Read Throughput Average
  • Read IOPS Average
  • Write Latency Average
  • Write Throughput Average
  • Write IOPS Average

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

アラームの設定

実際にアラームの設定をします。

例として CPU 使用率が 80% 以上になった場合にアラームを送信する設定をします。

 

CPU 使用率

CPU 使用率 80% でアラームを発報します。

「CloudWatch ダッシュボード」より左型ペインより「アラーム」をクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

「アラームの作成」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

「メトリクスと条件の指定」画面で「メトリクスの選択」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

下図のようにメトリクスが表示されるので「RDS」をクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

監視対象の RDS を選択したいので「データベース別メトリクス」をクリックします。

※対象の RDS のメトリクスが見つけやすいか見つけにくいかだけなので、どこからでも目的のメトリクスにはたどり着けると思います。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

監視対象の RDS(例では sqlservertest01)の「CPUUtilization」にチェックを入れて「メトリクスの選択」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

 

 

 

「メトリクスと条件の指定」画面で以下のように設定します。

  • メトリクス名 ← CPUUtilization
  • DBInstanceIdentifier ← sqlservertest01
  • 統計 ← 平均値
  • 期間 ← 5分

設定したら下にスクロールします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

「条件」で以下のように設定します。

  • しきい値の種類 ← 静的
  • CPUUtilization が次の時… ← 以上
  • …よりも ← 80(CPU 使用率 80% 以上を監視するので 80 と入力します。)
  • アラームを実行するデータポイント ← 2 / 2(瞬間的なバーストを外すために、2回連続で 80% 以上になった場合のみアラームを実行する設定にします。)
  • 欠落データの処理 ← 欠落データを見つかりませんとして処理

設定したら「次へ」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

「アクションの設定」画面で以下のように設定します。

  • このアラーム状態が以下のとき ← アラーム状態
  • SNS トピックの選択 ← 既存の SNS トピックを選択
  • 通知の送信先 ← CloudWatch で利用するための既に作成している SNS トピック(例では MailforCloudWatchAgent)を選択します。
  • E メール(エンドポイント) ← SNS トピックで設定した E メールアドレスになっていることを確認します。

設定したら下にスクロールします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

 

「Auto Scaling アクション」で必要な場合は設定し、「次へ」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

 

「説明の追加」画面で「アラーム名」を定義し「次へ」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

 

 

「プレビューと作成」画面で設定を確認し「アラームの作成」ボタンをクリックします。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

 

 

 

 

 

下図のようにアラームがエラーなく作成されることを確認します。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

他にも同じような手順で以下のメトリクスを監視できます。

  • メモリ使用率 
  • ディスクス使用率
  • ネットワークトラフィック
  • データベース接続数
  • IOPS

 

 

 

 

動作確認

ツールを使用して故意に RDS に負荷を掛けると AWS から攻撃と認識される可能性があります。

負荷試験をする際は AWS に申請が必要のようですが、今回は CloudWatch でアラームが出来るかどうかを確認したいだけなので、しきい値を下げてアラートが発砲されるかどうかを確認します。

 

 

「CPUUtilization」のしきい値を「80%」から「5%」に下げます。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

しばらく待ち、条件に当てはまると「アラーム状態」に表示が変更します。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

 

 

アラートメールの受信確認

下図のようにアラートメールの受信を確認します。

【AWS】【CloudWatch】CloudWatch で RDS のリソースを監視する設定方法

 

 

メールの全文は以下のようになります。

ALARM: “sqlservertest01-CPU-Utilization-Alert” in Asia Pacific (Tokyo) 
受信トレイ 

 
MailforCloudWatchAlert no-reply@sns.amazonaws.com amazonses.com 経由 
13:19 (8 分前) 
To 自分 
 
You are receiving this email because your Amazon CloudWatch Alarm “sqlservertest01-CPU-Utilization-Alert” in the Asia Pacific (Tokyo) region has entered the ALARM state, because “Threshold Crossed: 2 out of the last 2 datapoints [7.041759284986565 (14/10/19 04:14:00), 25.2254098360656 (14/10/19 04:09:00)] were greater than or equal to the threshold (5.0) (minimum 2 datapoints for OK -> ALARM transition).” at “Monday 14 October, 2019 04:19:52 UTC”. 
 
View this alarm in the AWS Management Console: 
https://ap-northeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#s=Alarms&alarm=sqlservertest01-CPU-Utilization-Alert 
 
Alarm Details: 
– Name:                       sqlservertest01-CPU-Utilization-Alert 
– Description:                
– State Change:               OK -> ALARM 
– Reason for State Change:    Threshold Crossed: 2 out of the last 2 datapoints [7.041759284986565 (14/10/19 04:14:00), 25.2254098360656 (14/10/19 04:09:00)] were greater than or equal to the threshold (5.0) (minimum 2 datapoints for OK -> ALARM transition). 
– Timestamp:                  Monday 14 October, 2019 04:19:52 UTC 
– AWS Account:                xxxxxxxxxxxx 
 
Threshold: 
– The alarm is in the ALARM state when the metric is GreaterThanOrEqualToThreshold 5.0 for 300 seconds. 
 
Monitored Metric: 
– MetricNamespace:                     AWS/RDS 
– MetricName:                          CPUUtilization 
– Dimensions:                          [DBInstanceIdentifier = sqlservertest01] 
– Period:                              300 seconds 
– Statistic:                           Average 
– Unit:                                not specified 
– TreatMissingData:                    missing 
 
 
State Change Actions: 
– OK: 
– ALARM: [arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:MailforCloudWatchAlert] 
– INSUFFICIENT_DATA: 
 
 
— 
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe: 
https://sns.ap-northeast-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:MailforCloudWatchAlert:238462a5-9b2c-4081-8f69-aeec198a7e16&Endpoint=xxxxxxxxxx@gmail.com 
 
Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support

 

 

 

 

参考サイト

 

公式サイト
Amazon RDS​ のモニタリングの概要

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください