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 インスタンスを関連付けます。既存のパラメータグループを使用するか、新しいパラメータグループを作成できます。詳細については、「「パラメータグループを使用する」 」を参照してください。

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

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

モニタリングツール

モニタリングは、Amazon RDS およびその他の AWS ソリューションの信頼性、可用性、およびパフォーマンスを維持する上で重要な部分です。AWS には、Amazon RDS を監視したり、問題が発生したときに報告したり、必要に応じて自動アクションを実行したりするためのモニタリングツールが用意されています。

自動モニタリングツール

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

Amazon RDS インスタンスステータスと推奨事項

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

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

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

Amazon RDS の Amazon CloudWatch メトリクス

Amazon RDS が Amazon CloudWatch と統合し、追加のモニタリング機能が利用できるようになりました。

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

    • Amazon CloudWatch メトリクス - Amazon RDS は、アクティブな各データベースのメトリクスを 1 分ごとに CloudWatch に自動送信します。CloudWatch の Amazon RDS メトリクスに対する追加料金は発生しません。詳細については、Amazon CloudWatch を使用した Amazon RDS メトリクスのモニタリングを参照してください。

    • Amazon CloudWatch アラーム - 特定の期間にわたって 1 つの Amazon RDS メトリクスをモニタリングできます。そのため、設定したしきい値に関連するメトリクスの値に基づいて、1 つ以上のアクションを実行できます。詳細については、「Amazon CloudWatch を使用した Amazon RDS メトリクスのモニタリング」を参照してください。

Amazon RDS Performance Insights とオペレーティングシステムのモニタリング

Amazon RDS のパフォーマンスをモニタリングするには、次の自動化されたツールを使用します。

統合サービス

次の AWS のサービスが Amazon RDS と統合されます。

  • Amazon EventBridge は、アプリケーションをさまざまなソースのデータに簡単に接続できるようにするサーバーレスイベントバスサービスです。詳しくは、「Amazon RDS イベントのモニタリング」を参照してください。

  • Amazon CloudWatch Logs を使用すると、Amazon RDS インスタンス、CloudTrail、およびその他のソースからのログファイルをモニタリングして保存し、それらにアクセスすることができます。詳しくは、「Amazon RDS ログファイルのモニタリング」を参照してください。

  • AWS CloudTrail は、AWS アカウント により、またはそのアカウントに代わって行われた API コールおよび関連イベントを取得し、指定した Amazon S3 バケットにログファイルを配信します。詳しくは、「AWS CloudTrail での Amazon RDS API コールのモニタリング」を参照してください。

  • データベースアクティビティストリーミングは、Amazon RDS の一機能であり、Oracle DB インスタンス内のアクティビティのストリーミングをほぼリアルタイムで提供します。詳しくは、「データベースアクティビティストリームを使用した 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 リソースのすべてのメトリクスを検索およびブラウズする。

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