Amazon DevOps Guru for RDS発表
2021年12月1日、「AWS re:Invent」において「Amazon DevOps Guru for RDS」が発表されました。この新機能はAmazon Auroraの利用者が増加し、さらに多様化・複雑化するアプリケーションで発生している性能問題を迅速に解決するために提供するものです。 【参考】:Amazon Aurora 内のパフォーマンスおよび運用に関する問題を自動的に検出して診断する、機械学習を利用した機能である Amazon DevOps Guru for RDS の発表
Amazon DevOps Guru for RDSは機械学習ベースの機能として、データベースの問題の検出・診断を自動的に行います。サービス利用により従来数日かけて実施した解析作業が、数分に短縮され解決可能にしたものです。
Amazon DevOps Guru for RDSはAmazon DevOps Guruの追加機能として提供され、料金もAmazon DevOps Guru料金から追加されることなく利用できます。
Amazon DevOps Guru for RDSの提供リージョン
Amazon DevOps Guru for RDSサービスは、米国東部(バージニア北部・オハイオ)、米国西部 (オレゴン)、欧州(フランクフルト・アイルランド・ストックホルム)、アジアパシフィック(東京・シンガポール・シドニー)の主要リージョンで開始しています。近日中に他のリージョンからも提供されていく予定です。
Amazon Auroraとは
Amazon Auroraとは、AWSのクラウド向けリレーショナルデータベースです。MySQL・PostgreSQLと互換性を持っており、Amazon Relational Database Service(RDS)によるフルマネージドサービスとして提供されています。
特徴としては、性能と拡張性に優れていること・高可用性と耐久性が高いこと・安全性が高いことが挙げられます。結果として標準的なMySQL データベースと比較し最大5倍、PostgreSQL データベースと比較し最大3倍のスループットを実現していることが公表されています。 【参考】:Amazon Aurora
Amazon RDSとは
Amazon RDSは「Amazon Relational Database Service」の略です。メモリ・パフォーマンス・I/Oのバランスや用途に応じてデータベースインスタンスを選択できます。具体的には、Amazon Aurora・PostgreSQL・MySQL・MariaDB・Oracle データベース・SQL Serverの6種類のデータベースエンジンから選択することができます。
最適なデータベースエンジンを選択することで、必要な管理タスクを自動化し運用負担を低減しながらアプリケーション作業に注力することができます。そのため既存データベースの移行を簡単に進めることができます。料金も低額に設定されており、利便性を高めています。 【参考】:Amazon RDS
Amazon DevOps Guruとは
Amazon DevOps Guruとは、運用時の問題を解決するために機械学習を利用して問題点を自動検知するサービスです。2020年のre:Inventで発表されました。
Amazon DevOps Guruでは蓄積データと運用時の動作の状況を指標と比較し、今後予測されるサービス停止や中断を未然に防ぎ運用時の可用性を向上させます。加えて、問題の推奨解決方法を提示するため、専門知識を持たない場合でも効率的なサービス運用が可能です。 【参考】:Amazon DevOps Guru
Amazon DevOps Guru for RDS概要
Amazon DevOps Guru for RDSは、Amazon DevOps Guruをデータベースサービスに適応させたものです。通常データベースの問題解決は幅広い専門知識が求められます。Amazon DevOps Guru for RDSは機械学習を用いてデータベースの性能問題や運用上の問題をモニターし、必要な解決策を提示します。 【参考】:Amazon DevOps Guru for RDS
Amazon DevOps Guru for RDSのサポートするデータベースサービスは、Amazon AuroraのMySQL互換エディション・PostgreSQL互換エディションとなります。今後Amazon RDSデータベースエンジンの追加サポートが予定されています。
Amazon DevOps Guru for RDSの仕組み
Amazon DevOps Guru for RDSでは、データベース性能に影響を与えるパフォーマンス指標をモニターし、異常の有無を識別します。具体的には、Performance InsightsのキーメトリックであるDB Loadを秒単位で収集し、以下の指標を識別します。
・平均アクティブセッション DBエンジンにクエリ実行しているセッションの接続数を用います。
・平均アクティブ実行 経過時間当たりのクエリ合計実行時間から算出します。
・ディメンジョン 待機イベントや上位のSQLからボトルネックの要因を診断します。 【参考】:新機能 – Amazon DevOps Guru for RDS が ML を使用して Amazon Aurora 関連の問題を検出、診断、解決
異常の分析・診断結果はDevOps Guruコンソールに表示されるほか、必要に応じて通知機能によりすみやかに必要なアクションを実行することができます。
Amazon DevOps Guru for RDSの開始方法
開始方法は、最初にAmazon RDSコンソールでAmazon RDS Performance Insightsを有効化します。続いてAmazon DevOps Guru コンソールでDevOps Guru を有効化します。 【参考】:Working with anomalies in DevOps Guru for Amazon RDS
もしPerformance Insightsがデータベースインスタンスに設定されていない場合は、以下の方法で通知・設定変更ができます。
・ダッシュボード Amazon RDSコンソールのリソース別Insightsのビューで、Performance Insightsが未設定であることが表示されます。
・Insights RecommendationsのセクションでPerformance Insightsの設定変更が可能です。
・Settings Amazon RDSセクションから、Amazon RDSコンソールを用いてPerformance Insightsの設定変更が可能です。 【参考】:Enabling DevOps Guru for RDS 【参考】:Performance Insights の有効化と無効化
Amazon DevOps Guru for RDSの作業の流れ
Amazon DevOps Guru for RDSではAmazon DevOps Guruの仕組みを用い、作業設定します。具体的には以下のような作業分類がされています。
・分析カバレッジの選択 AWSアカウント全体やAWS CloudFormationスタックを指定します。
・データソース連携 Amazon CloudWatch・AWS Config・AWS System Manager Ops Center・AWS CloudFormation・AWS X-Rayやパートナー監視ソリューションからデータを取り込み分析を開始します。
・Amazon DevOps Guruによる分析 機械学習モデルを用い、これまでの20年以上のAWS運用経験に基づいた運用データについて定常時・異常時の各種指標や関連イベントを分析します。そして今後発生し得る異常動作や障害を予測し運営者へ報告するとともに、想定解決策を提案します。
・運用サービス連携 AWS Systems Manager Ops Center・Amazon Simple Notification Service(SNS)や各種運用サービスと連携し、統合運用が可能です。
一層複雑化するデータベース性能問題を解決する有効な新機能です
近年クラウド利用は増加が顕著であり、アプリケーションの利用は高度化・複雑化がますます進んでいきます。特にデータベースは利用アクセスパターンが多岐に渡り、性能分析に時間を要する傾向が高まっています。
Amazon DevOps Guru for RDSは数日かかる解析・分析作業を数分で検出し推奨解決策を提示してくれます。クラウドの最適運用への一歩として新機能の情報収集を進めましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから