Amazon Web Services ブログ

新機能 – Amazon DevOps Guru for RDS が ML を使用して Amazon Aurora 関連の問題を検出、診断、解決

2021 年 12 月 1 日(米国時間)、 Amazon DevOps Guru の新しい機能である Amazon DevOps Guru for RDS を発表しました。これにより、デベロッパーは Amazon Aurora のパフォーマンスと運用上の問題を簡単に検出、診断、解決できます。

Amazon Aurora は可用性が高く、スケーラブルで、耐久性に優れているため、現在何十万ものお客様が Amazon Aurora を利用しています。しかし、アプリケーションの規模と複雑さが増すにつれて、運用やパフォーマンスの問題を迅速に検出して解決することが難しくなっています。

昨年の re:Invent で、DevOps Guru を発表しました。これは、機械学習 (ML) を使用して、データベースの問題を含むアプリケーションの問題を自動的に検出し、お客様に警告するサービスです。本日、Amazon Aurora データベースを使用するデベロッパーがデータベースのパフォーマンスの問題を迅速かつ大規模に検出、診断、解決できるよう支援する DevOps Guru for RDS を発表します。これで、デベロッパーは、データベースパフォーマンスの問題の正確な原因を特定するのに十分な情報を得ることができます。このリリースにより、デベロッパーやエンジニアは、パフォーマンスに関連するデータベースの問題の発見と修正に費やす時間を大幅に削減できます。

DevOps Guru for RDS は ML を使用して、ホストリソースの過剰使用、データベースのボトルネック、SQL クエリの誤動作など、パフォーマンスに関連するさまざまなデータベースの問題を自動的に特定して分析します。また、検出された問題を解決するための解決策を推奨します。この機能を使用するには、データベースや ML のエキスパートである必要はありません。

問題が検出されると、DevOps Guru for RDS はその結果を DevOps Guru コンソールに表示し、Amazon EventBridge またはAmazon Simple Notification Service (SNS) を使用して通知を送信します。これにより、デベロッパーは課題を自動的に管理し、リアルタイムでアクションを取ることができます。

DevOps Guru for RDS の仕組み
DevOps Guru for RDS は、データベース負荷 (DB 負荷) パフォーマンスメトリクスの異常検出を使用して問題を検出します。DB 負荷は、平均アクティブセッション (AAS) の単位で測定されます。DB 負荷はデータベース内のアクティビティのレベルを測定するため、データベースの状態を把握するための優れた指標になります。DB の負荷が高いと、パフォーマンスの問題が発生する可能性があります。このメトリクスは仮想 CPU (vCPU) の数と比較でき、DB の負荷がこの数よりも大きい場合、問題が発生する可能性があります。

このメトリクスで最も有用なディメンションは、待機イベントと上位 SQL です。待機イベントは、現在 SQL を実行しているシステム状態が待機しているものを記述します。ステートメントが待機している最も一般的な理由には、CPU を待機している、読み取りまたは書き込みを待機している、またはロックされたリソースを待機していることが挙げられます。上位の SQL ディメンションには、DB の負荷に最も寄与しているクエリが示されます。

次の画像は、DevOps Guru for RDS が報告した結果の例です。このグラフは、AAS から、ほとんどのユーザーがテーブルまたは CPU へのアクセスを待機していたことを示しています。

異常検出の例
DevOps Guru for RDS 分析ページをスクロールし続けると、問題の原因と修正するためのレコメンデーションを見つけることができます。この例では、高負荷待機イベントと CPU 容量の超過という 2 つの問題が検出されました。

DevOps Guru for RDS は、これらの問題についてさらに詳しく調べています。まず、IO と CPU の待機タイプに 27 の AAS があり、DB の総負荷の 99% に相当する高負荷の待機イベントを調べています。

次に、実行中のタスクが 6 つのプロセスを超えたことを示しています。このデータベースには 2 つの vCPU しかなく、実行中のプロセスの推奨数は最大 4 つ (vCPU の 2 倍) にする必要があります。DevOps Guru for RDS も、これらの問題を解決するためのレコメンデーションを作成します。

レコメンデーション

別の異常では、待機イベントの負荷が高く、1 つの SQL クエリでさらに調査が必要であることがグラフに示されています。[SQL ダイジェスト ID] をクリックすると、正確な SQL クエリを表示することもできます。インサイトの分析とレコメンデーションのセクションには、問題をさらに調査して修正する方法に関する情報が満載されています。待機イベントwait/io/table/sql/handler や [トラブルシューティングドキュメントを表示] リンクなどの待機イベントをクリックすると、多くの詳細情報を取得できます。

分析とレコメンデーション

DevOps Guru for RDS の開始方法
DevOps Guru のこの新機能の使用を開始するには、Amazon Aurora DB インスタンスで Performance Insights が有効になっていることを確認してください。MySQL と PostgreSQL との互換性を持つ Amazon Aurora をサポートしています。Performance Insights を有効にする手順については、「Performance Insights の有効化と無効化」を参照してください。

次のステップは、DevOps Guru が AWS リソースのモニタリングを開始できるようにすることです。DevOps Guru でカバーするリソースを指定することができます。

既に DevOps Guru を使用している場合、Amazon Aurora データベースリソースに関する新しいインサイトがあると、コンソールに表示されます。

詳細なデータベース分析を表示するには、[インサイト] ページに移動し、DB 負荷集計メトリクスの下にある新しい [分析を表示] ボタンを選択します。このボタンをクリックすると、DevOps Guru for RDS による詳細な分析が表示されます。

分析を表示

料金と可用性
DevOps Guru for RDS は、DevOps Guru がお客様の RDS リソースの利用に対して課金する既存の料金の一部として、追加料金なしでお客様に提供されます。

DevOps Guru for RDS は、DevOps Guru が提供されている米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アイルランド)、および欧州 (ストックホルム) の各リージョンでご利用いただけます。

DevOps Guru for RDS の詳細をご覧ください。また、AWS re:Invent での「Amazon DevOps Guru for RDS でパフォーマンスの問題を自動的に検出して解決する」 (セッション ID 15877) の講演をご覧ください。

Marcia

原文はこちらです。