Amazon RDS ​のモニタリングの概要 - Amazon Relational Database Service

Amazon RDS ​のモニタリングの概要

モニタリングは、Amazon RDS と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害をより簡単にデバッグするには、AWS ソリューションのすべての部分からモニタリングデータを収集することをお勧めします。

モニタリング計画

Amazon RDS の監視を開始する前に、監視プランを作成します。この計画で、以下の質問に答えるようにします。

  • どのような目的でモニタリングしますか?

  • どのリソースをモニタリングしますか?

  • どのくらいの頻度でこれらのリソースをモニタリングしますか?

  • どのモニタリングツールを使用しますか?

  • 誰がモニタリングタスクを実行しますか?

  • 問題が発生したときに誰に通知しますか?

パフォーマンスのベースライン

モニタリング目標を達成するには、ベースラインを確立する必要があります。これを行うには、Amazon RDS 環境で負荷条件と時期をさまざまに変えてパフォーマンスを測定します。次のようなメトリクスをモニタリングできます。

  • ネットワークスループット

  • クライアント接続

  • 読み取り、書き込み、メタデータのいずれかのオペレーションの I/O

  • DB インスタンスのバーストクレジットバランス

Amazon RDS の履歴パフォーマンスデータを保存することをお勧めします。保存したデータを使用して、現在のパフォーマンスを過去の傾向と比較できます。また、正常なパフォーマンスパターンを異常から区別し、問題に対処するための方法を考案することもできます。

パフォーマンスガイドライン

一般的に、パフォーマンスメトリクスの許容値は、ベースラインに対してアプリケーションの現在の動作によって異なります。ベースラインからの一貫した差異またはトレンドになっている差異を調べます。多くの場合、次のメトリクスがパフォーマンスの問題の原因を示しています。

  • CPU または RAM の高消費量 – CPU または RAM の消費量が大きい値になっていても、それは妥当である場合があります。ただし、アプリケーションの目標 (スループット、同時実行数など) に沿った想定値であることが前提です。

  • ディスクスペースの消費量 – 使用されているディスクスペースが一貫して合計ディスクスペースの 85% 以上である場合は、ディスクスペースの消費量を調べます。インスタンスからデータを削除するか、別のシステムにデータをアーカイブして、スペースを解放できるかどうかを確認します。

  • ネットワークトラフィック – ネットワークトラフィックについてシステム管理者に問い合わせて、ドメインネットワークとインターネット接続に対する想定スループットを把握します。スループットが一貫して想定よりも低い場合は、ネットワークトラフィックを調べます。

  • データベース接続数 – ユーザー接続数が多いことが、インスタンスのパフォーマンスが下がっていること、応答時間が長くなっていることに関連しているとわかった場合、データベース接続数を制限することを検討します。DB インスタンスの最適なユーザー接続数は、インスタンスのクラスと実行中のオペレーションの複雑さによって異なります。データベース接続数を確認するには、User Connections パラメータが 0 (無制限) 以外の値に設定されているパラメータグループと DB インスタンスを関連付けます。既存のパラメータグループを使用するか、新しいパラメータグループを作成できます。詳細については、「DB パラメータグループを使用する」を参照してください。

  • IOPS メトリクス – IOPS メトリクスの想定値はディスクの仕様とサーバーの設定によって異なるため、ベースラインを使用して一般的な値を把握します。値とベースラインとの差が一貫しているかどうかを調べます。最適な IOPS パフォーマンスを得るには、読み取りおよび書き込みオペレーションが最小限になるように、一般的な作業セットがメモリに収まることを確認してください。

確立したベースラインをパフォーマンスが下回ると、場合によって、ワークロードに対してデータベースの可用性を最適化するために変更を加える必要があります。例えば、DB インスタンスのインスタンスクラスの変更が必要になる場合があります。または、クライアントで使用できる DB インスタンスとリードレプリカの数の変更が必要になる場合があります。

モニタリングツール

AWS では、Amazon RDS のモニタリングに使用できるさまざまなツールを用意しています。これらのツールの中には、自動モニタリングを設定できるものもあれば、手動操作を必要とするものもあります。

自動モニタリングツール

モニタリングタスクをできるだけ自動化することをお勧めします。

Amazon RDS レポート作成ツール

以下の自動化されたツールを使用して、Amazon RDS を監視し、問題が発生したときにレポートできます。

  • Amazon RDS インスタンスステータス – Amazon RDS コンソール、AWS CLI コマンド、または RDS API を使用して、インスタンスの現在のステータスに関する詳細を表示します。

  • Amazon RDS 推奨事項 — DB インスタンス、、リードレプリカ、DB パラメータグループなどのデータベースリソースに関する推奨事項が自動的に表示されます。詳細については、「Amazon RDS の推奨事項の表示」を参照してください。

  • Amazon RDS Performance Insights—データベースの負荷を評価し、アクションを実行するタイミングと場所を判断できます。詳細については、「Amazon RDS での Performance Insights を使用したモニタリング」を参照してください。

  • Amazon RDS 拡張モニタリング — オペレーティングシステムのメトリクスをリアルタイムで参照します。詳細については、「拡張モニタリング を使用した OS のモニタリング」を参照してください。

  • Amazon RDS イベント – Amazon RDS イベントにサブスクライブして、DB インスタンス、DB スナップショット、DB パラメータグループ、DB セキュリティグループのいずれかに変更が発生した場合に通知を受け取ります。詳細については、「Amazon RDS イベント通知の使用」を参照してください。

  • Amazon RDS データベースのログファイル – Amazon RDS コンソールまたは Amazon RDS API オペレーションを使用して、データベースのログファイルの表示、ダウンロード、監視を行います。データベーステーブルに読み込まれているデータベースログファイルに対してクエリを実行することもできます。詳細については、「Amazon RDS データベースログファイルの操作」を参照してください。

統合されたモニタリングツール

Amazon RDS は Amazon CloudWatch、Amazon EventBridge、AWS CloudTrail と統合してモニタリング機能を追加します。

  • Amazon CloudWatch – このサービスは AWS で実行されている AWS リソースやアプリケーションをリアルタイムにモニタリングします。次の Amazon CloudWatch 機能を Amazon RDS で使用できます。

  • [Amazon CloudWatch Logs] – ほとんどの DB エンジンによって、CloudWatch Logs のデータベースログファイルの監視、保存、およびアクセスが可能になります。詳細については、Amazon CloudWatch Logs ユーザーガイドを参照してください。

  • Amazon EventBridge – アプリケーションをさまざまなソースのデータに簡単に接続できるようにするサーバーレスイベントバスサービスです。EventBridge は、お客様独自のアプリケーション、SaaS (Software-as-a-Service) アプリケーション、AWS のサービスからのリアルタイムデータをストリーム配信し、そのデータを Lambda などのターゲットにルーティングします。これにより、サービスで発生したイベントをモニタリングし、イベント駆動型アーキテクチャを構築できます。詳細については、「Amazon RDS イベントでトリガーするルールの作成」を参照してください。

  • AWS CloudTrail – ユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を、Amazon RDS で表示できます。CloudTrail は、Amazon RDS の API コールをイベントとしてすべてキャプチャします。キャプチャ対象には、Amazon RDS API オペレーションに対する Amazon RDS コンソールからの呼び出しとコードからの呼び出しが含まれます。証跡を作成する場合は、Amazon RDS のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history (イベント履歴)] で最新のイベントを表示できます。詳細については、「AWS CloudTrail と Amazon RDS の操作」を参照してください。

手動モニタリングツール

CloudWatch アラームがカバーしない項目については、手動でモニタリングする必要があります。Amazon RDS、CloudWatch、 AWS Trusted Advisor などの AWS コンソールダッシュボードには、AWS 環境の状態が一目でわかるビューが表示されます。また、DB インスタンスのログファイルを確認することをお勧めします。

  • Amazon RDS コンソールから、リソースに関する以下の項目をモニタリングできます。

    • DB インスタンスへの接続の数

    • DB インスタンスへの読み書きオペレーションの量

    • DB インスタンスが現在使用しているストレージの量

    • DB インスタンスに使用されているメモリと CPU の量

    • DB インスタンスとの間で送受信されるネットワークトラフィックの量

  • Trusted Advisor ダッシュボードから、以下のコスト最適化、セキュリティ、対障害性、パフォーマンス向上のチェックを確認できます。

    • Amazon RDS アイドル DB インスタンス

    • Amazon RDS セキュリティグループのアクセスリスク

    • Amazon RDS バックアップ

    • Amazon RDS Multi-AZ

    これらのチェックの詳細については、「Trusted Advisor のベストプラクティス (チェック)」を参照してください。

  • CloudWatch ホームページには、次の内容が表示されます。

    • 現在のアラームとステータス

    • アラームとリソースのグラフ

    • サービス状態ステータス

    また、CloudWatch を使用して以下のことを行えます。

    • 重視するサービスをモニタリングするためのカスタマイズしたダッシュボードを作成する。

    • メトリクスデータをグラフ化して、問題のトラブルシューティングを行い、傾向を確認する.

    • AWS リソースのすべてのメトリクスを検索および参照する。

    • 問題があることを通知するアラームを作成/編集する.