■初めに
本記事では、Amazon DevOps Guruの基本について説明します。
自分はサービスとして活用したことが無かったため公式ドキュメントや活用事例の記事を参考にサービス理解を深めました。
■まずAmazon DevOps Guruとは?
公式ドキュメントには以下のように書かれています。
『機械学習を適用して、運用データとアプリケーションのメトリクスおよびイベントを分析し、通常の運用パターンから逸脱する動作を特定します。DevOps Guru が運用上の問題またはリスクを検出すると通知が行われます。DevOps Guru は、各問題について、現在および予測される将来の運用上の問題に対処するためのインテリジェントなレコメンデーションを提示します。』
分かりやすくかみ砕くと、アプリの「健康診断」を自動でしてくれるAWSのサービスという認識で良さそうです。
■設定してみた
コンソールからの操作ですぐに設定可能です。
あまりリソースが無い環境で設定したのですぐ完了しました。

特になんの異常も出ていない状態です。
DevOps Guru は「平常時」を学習した上で異常を検知するため、最低でも 24時間程度は通常運用させてからテストした方が検知されやすいというのをみたので、次の日異常を引き起こしてみました。
■異常テストしてみた
手動でCPUの負荷テストをしてアラートを発報させてみました。
目に見えた異常であれば何かしら検出されるであろうという目論見でやってみたのですが……
なにも変化しない
そんなことあるか?と思ってよくよく調べてみたら、CPU使用率の急激な上昇といった突発的なものは検知されにくいようです。どちらかというと一定期間に渡る変なメトリクス推移のような異常が検出されたときにダッシュボードは更新されるようです。
■まとめ
機能を軽くまとめるとこんな感じです。
・アプリのログやCPU使用率、エラー数などの情報(メトリクス/イベント)を見張る。
・いつもと違う動き(例:急にエラーが増える、遅くなる)を見つけたら通知する。
・「何が原因っぽいか」「どう直せばいいか」を提案してくれる。
・すでに起きた問題の分析だけでなく、これから起きそうな問題の予兆も教えてくれる。
DevOps Guruは「突発的なスパイクを即検知する」用途には向かないです。『一定期間に渡る「いつもと違う振る舞い」を見つける異常検知ツール』というイメージなので他のサービスとうまく組み合わせて活用が必要です。
コスト見積もりツールを使用するとDevOps Guruが現在のAWSアカウントおよびリージョン内のAWSリソース、またはアプリケーションによって定義されたAWSリソースを分析するためのコストの見積りを無料で入手できます。(最大で90分ほど掛かる)

基本料金については以下で確認しましょう。

