「監視メトリクス」タグアーカイブ

【AWS Aurora MySQL × CloudWatch】Amazon監視メトリクス設定例とそれぞれの項目毎の意味について

Amazon Aurora MySQL は、高性能でスケーラブルなデータベースエンジンであり、可用性と耐障害性を備えたクラウドネイティブなデータベースソリューションです。Aurora MySQL の運用において、パフォーマンスや可用性の監視は非常に重要です。そこで、Amazon CloudWatch を使用してメトリクスを監視し、異常な状態を迅速に検知することで、問題発生を未然に防ぐことができます。

今回は、Amazon Aurora MySQL の代表的なメトリクスを CloudWatch で監視するための設定例と、それぞれの監視項目の意味や設定理由について詳しく解説します。


1. CloudWatch メトリクスの設定方法

Amazon RDS/Aurora では、CloudWatch を通じて主要なメトリクスを自動的に収集できます。CloudWatch でメトリクスを監視するためには以下の手順を行います。

手順

  1. CloudWatch コンソールにアクセス
    AWS 管理コンソールにログインし、「CloudWatch」を検索して CloudWatch ダッシュボードにアクセスします。
  2. メトリクスの選択
    ダッシュボードから「メトリクス」を選択し、次に「RDS」カテゴリを選択します。Aurora クラスターが選択肢に表示されるので、そこで MySQL クラスタに関連するメトリクスを確認します。
  3. アラームの作成
    特定のメトリクスに異常があった場合に通知を受け取るため、メトリクスにアラームを設定します。「アラーム」を選択して「アラームを作成」をクリックし、通知する条件を設定します。

2. 監視すべき主要メトリクスとその意味

Aurora MySQL の運用で特に重要なメトリクスは、リソースの使用状況やパフォーマンス、接続状態、エラー発生状況などを監視することです。以下は主要な監視項目と、それぞれのメトリクスの意味、設定理由について解説します。

2.1 CPUUtilization(CPU 使用率)

  • 意味: Aurora インスタンスで消費されている CPU リソースの割合を示します。
  • 理由: CPU 使用率が高すぎると、データベースが負荷に耐えられず、応答が遅くなる可能性があります。異常な高負荷を早期に検知するために監視が必要です。
  • 設定例: CPU 使用率が 80% を超えた場合にアラームを発生させ、インスタンスのスケーリングを検討します。

2.2 DatabaseConnections(データベース接続数)

  • 意味: 現在データベースに接続しているクライアントの数を示します。
  • 理由: 接続数が上限に達すると、新しい接続要求が拒否される可能性があります。接続数の上昇やピークを監視することで、リソース不足や設定変更の必要性を早期に発見できます。
  • 設定例: 現在の接続数が最大許容接続数の 80% を超えた場合にアラームを発生させます。

2.3 FreeableMemory(利用可能メモリ)

  • 意味: Aurora インスタンスで利用可能なメモリ量を示します。
  • 理由: メモリが不足すると、スワップ領域の使用が増加し、パフォーマンスに悪影響を与える可能性があります。メモリが逼迫しているかどうかを監視することが重要です。
  • 設定例: 利用可能メモリが 10% 以下になった場合にアラームを設定し、メモリ不足に備えます。

2.4 DiskQueueDepth(ディスクキューの深さ)

  • 意味: ディスクに対して保留中の読み書きリクエスト数を示します。
  • 理由: キューが溜まるということは、ディスク I/O がボトルネックになっている可能性があります。キューが長くなると、処理の遅延が発生し、データベースの応答速度に影響を与えます。
  • 設定例: キューが 10 を超えた場合にアラームを発生させ、ストレージの問題を調査します。

2.5 ReplicaLag(レプリカ遅延)

  • 意味: プライマリインスタンスとリードレプリカ間でデータの同期がどの程度遅延しているかを示します。
  • 理由: レプリカ遅延が発生すると、リードレプリカを使用しているアプリケーションが古いデータを参照する可能性があります。特にリアルタイム性が求められるアプリケーションでは、レプリカの同期状況を監視することが重要です。
  • 設定例: 遅延が 10 秒を超えた場合にアラームを設定し、レプリカの再同期を検討します。

2.6 BinLogDiskUsage(バイナリログディスク使用量)

  • 意味: Aurora で保持されている MySQL バイナリログのディスク使用量を示します。
  • 理由: バイナリログがディスク領域を圧迫することによって、パフォーマンスに影響を与える可能性があります。過剰なログ保存を防ぐために、ディスク使用量の監視が必要です。
  • 設定例: バイナリログの使用量が 75% を超えた場合にアラームを設定し、ログの削除や保存ポリシーの見直しを行います。

2.7 AuroraVolumeBytesUsed(Aurora ボリューム使用量)

  • 意味: Aurora クラスタのデータボリュームの使用量を示します。
  • 理由: データベースのストレージ容量が逼迫すると、新たなデータの書き込みができなくなる可能性があります。容量が不足しないよう、事前に監視を行い必要に応じてストレージの拡張を検討します。
  • 設定例: ボリューム使用量が 85% を超えた場合にアラームを発生させ、ストレージ拡張の計画を立てます。

3. まとめ

Amazon Aurora MySQL を運用する際、CloudWatch を活用してメトリクスを監視することは、システムの安定性を確保し、パフォーマンスの問題を未然に防ぐために非常に有効です。CPU、メモリ、ストレージ、接続数、レプリカ遅延といった主要なメトリクスを定期的に監視し、異常値が検出された際にアラームを設定することで、トラブルシューティングの時間を短縮できます。

AWS ではこれらの監視を通じて、運用コストを最適化し、システムの信頼性を向上させることが可能です。今回ご紹介した設定例を基に、各システムの要件に応じた適切な監視設定を行い、データベースの健全な運用をサポートしましょう。