Amazon Aurora のメトリクスのモニタリングの概要
モニタリングは、Amazon Aurora と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害をより簡単にデバッグするには、AWS ソリューションのすべての部分からモニタリングデータを収集することをお勧めします。
モニタリング計画
Amazon Aurora のモニタリングをスタートする前に、モニタリングプランを作成します。この計画で、以下の質問に答えるようにします。
-
どのような目的でモニタリングしますか?
-
どのリソースをモニタリングしますか?
-
どのくらいの頻度でこれらのリソースをモニタリングしますか?
-
どのモニタリングツールを使用しますか?
-
誰がモニタリングタスクを実行しますか?
-
問題が発生したときに誰に通知しますか?
パフォーマンスのベースライン
モニタリング目標を達成するには、ベースラインを確立する必要があります。これを行うには、Amazon Aurora 環境で負荷条件と時期をさまざまに変えてパフォーマンスを測定します。次のようなメトリクスをモニタリングできます。
-
ネットワークスループット
-
クライアント接続
-
読み取り、書き込み、メタデータのいずれかのオペレーションの I/O
-
DB インスタンスのバーストクレジットバランス
Amazon Aurora の履歴パフォーマンスデータを保存することをお勧めします。保存したデータを使用して、現在のパフォーマンスを過去の傾向と比較できます。また、正常なパフォーマンスパターンを異常から区別し、問題に対処するための方法を考案することもできます。
パフォーマンスガイドライン
一般的に、パフォーマンスメトリクスの許容値は、ベースラインに対してアプリケーションの現在の動作によって異なります。ベースラインからの一貫した差異またはトレンドになっている差異を調べます。多くの場合、次のメトリクスがパフォーマンスの問題の原因を示しています。
-
CPU または RAM の高消費量 - CPU または RAM の消費量が大きい値になっていても、それは妥当である場合があります。ただし、アプリケーションの目標 (スループット、同時実行数など) に沿った想定値であることが前提です。
-
ディスクスペースの消費量 - 使用されているディスクスペースが一貫して合計ディスクスペースの 85% 以上である場合は、ディスクスペースの消費量を調べます。インスタンスからデータを削除するか、別のシステムにデータをアーカイブして、スペースを解放できるかどうかを確認します。
-
ネットワークトラフィック - ネットワークトラフィックについてシステム管理者に問い合わせて、ドメインネットワークとインターネット接続に対する想定スループットを把握します。スループットが一貫して想定よりも低い場合は、ネットワークトラフィックを調べます。
-
データベース接続数 - ユーザー接続数が多いことが、インスタンスのパフォーマンスが下がっていること、応答時間が長くなっていることに関連しているとわかった場合、データベース接続数を制限することを検討します。DB インスタンスの最適なユーザー接続数は、インスタンスのクラスと実行中のオペレーションの複雑さによって異なります。データベース接続数を確認するには、
User Connections
パラメータが 0 (無制限) 以外の値に設定されているパラメータグループと DB インスタンスを関連付けます。既存のパラメータグループを使用するか、新しいパラメータグループを作成できます。詳細については、「Amazon Aurora のパラメータグループ」を参照してください。 -
IOPS メトリクス - IOPS メトリクスの想定値はディスクの仕様とサーバーの設定によって異なるため、ベースラインを使用して一般的な値を把握します。値とベースラインとの差が一貫しているかどうかを調べます。最適な IOPS パフォーマンスを得るには、読み取りおよび書き込みオペレーションが最小限になるように、一般的な作業セットがメモリに収まることを確認してください。
確立したベースラインをパフォーマンスが下回ると、場合によって、ワークロードに対してデータベースの可用性を最適化するために変更を加える必要があります。例えば、DB インスタンスのインスタンスクラスの変更が必要になる場合があります。または、クライアントで使用できる DB インスタンスとリードレプリカの数の変更が必要になる場合があります。
モニタリングツール
モニタリングは、Amazon Aurora およびその他の AWS ソリューションの信頼性、可用性、およびパフォーマンスを維持する上で重要な部分です。AWS には、Amazon Aurora を監視したり、問題が発生したときに報告したり、必要に応じて自動アクションを実行したりするためのモニタリングツールが用意されています。
自動モニタリングツール
モニタリングタスクをできるだけ自動化することをお勧めします。
トピック
Amazon Aurora クラスターステータスと推奨事項
以下の自動化されたツールを使用して、Amazon Aurora をモニタリングし、問題が発生したときにレポートできます。
-
Amazon Aurora クラスターステータス – Amazon RDS コンソール、AWS CLI、または RDS API を使用して、クラスターの現在のステータスに関する詳細を表示します。
-
Amazon Aurora 推奨事項 — DB インスタンス、DB クラスター、、DB クラスターパラメータグループなどのデータベースリソースに関する推奨事項が自動的に表示されます。詳細については、「Amazon Aurora の推奨事項」を参照してください。
Amazon Aurora の Amazon CloudWatch メトリクス
Amazon Aurora が Amazon CloudWatch と統合し、追加のモニタリング機能が利用できるようになりました。
-
Amazon CloudWatch - このサービスは AWS で実行されている AWS リソースやアプリケーションをリアルタイムにモニタリングします。次の Amazon CloudWatch 機能を Amazon Aurora で使用できます。
-
Amazon CloudWatch メトリクス - Amazon Aurora は、アクティブな各データベースのメトリクスを 1 分ごとに CloudWatch に自動送信します。CloudWatch の Amazon RDS メトリクスに対する追加料金は発生しません。詳細については、Amazon Aurora の Amazon CloudWatch メトリクスを参照してください。
-
Amazon CloudWatch アラーム - 特定の期間にわたって 1 つの Amazon Aurora メトリクスをモニタリングできます。そのため、設定したしきい値に関連するメトリクスの値に基づいて、1 つ以上のアクションを実行できます。
-
Amazon RDS Performance Insights とオペレーティングシステムのモニタリング
Amazon Aurora のパフォーマンスをモニタリングするには、次の自動化されたツールを使用します。
-
Amazon RDS Performance Insights – データベース負荷を評価し、いつどこに措置を講じたらよいかを判断します。詳しくは、「Amazon Aurora での Performance Insights を使用したDB 負荷のモニタリング」を参照してください。
-
Amazon RDS 拡張モニタリング – オペレーティングシステムのメトリクスをリアルタイムで参照します。詳しくは、「拡張モニタリングを使用した OS メトリクスのモニタリング」を参照してください。
統合サービス
次の AWS のサービスが Amazon Aurora と統合されます。
-
Amazon EventBridge は、アプリケーションをさまざまなソースのデータに簡単に接続できるようにするサーバーレスイベントバスサービスです。詳しくは、「Amazon Aurora イベントのモニタリング」を参照してください。
-
Amazon CloudWatch Logs を使用すると、Amazon Aurora インスタンス、CloudTrail、およびその他のソースからのログファイルをモニタリングして保存し、それらにアクセスすることができます。詳しくは、「Amazon Aurora ログファイルのモニタリング」を参照してください。
-
AWS CloudTrail は、AWS アカウント により、またはそのアカウントに代わって行われた API コールおよび関連イベントを取得し、指定した Amazon S3 バケットにログファイルを配信します。詳しくは、「AWS CloudTrail での Amazon Aurora API コールのモニタリング」を参照してください。
-
データベースアクティビティストリーミングは、Amazon Aurora の一機能であり、 DB クラスター内のアクティビティのストリーミングをほぼリアルタイムで提供します。詳しくは、「データベースアクティビティストリームを使用した Amazon Aurora のモニタリング」を参照してください。
-
DevOps Guru for RDS は Amazon DevOps Guru の一機能であり、Amazon Aurora データベースの Performance Insights メトリクスに機械学習を適用します。詳しくは、「Amazon DevOps Guru for 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
-
Aurora DB インスタンスのアクセシビリティ
これらのチェックの詳細については、「Trusted Advisor のベストプラクティス (チェック)
」を参照してください。 -
-
CloudWatch ホームページには、次の内容が表示されます。
-
現在のアラームとステータス
-
アラームとリソースのグラフ
-
サービスのヘルスステータス
また、CloudWatch を使用して、次のことが可能です。
-
重視するサービスをモニタリングするためのカスタマイズしたダッシュボードを作成する。
-
メトリクスデータをグラフ化して、問題をトラブルシューティングして、傾向を確認する。
-
AWS リソースのすべてのメトリクスを検索およびブラウズする。
-
問題があることを通知するアラームを作成/編集する。
-