公開日:2021年10月5日最終更新日: 2021年10月19日
Amazon DevOps Guruは2020年のre:Inventでアナウンスされ、2021年5月に公開が開始されたサービスです。DevOpsをサポートするサービスとしてアナウンス時から注目され、公開が開始されてからも一気に注目を集めています。
これからのAWS運用においてAmazon DevOps Guruは非常に大きな役割を果たすと考えられます。特に「運用の自動化」を検討している現場では、Amazon DevOps Guruが運用を大きく変えてくれるはずです。東京リージョンでも利用できるようになったAmazon DevOps Guruについて今回は解説します。
目次 <Contents>
Amazon DevOps Guruの概要
Amazon DevOps Guruと言われてもどのようなサービスであるのか把握できていない人も多いはずです。まずは新しいサービスであるAmazon DevOps Guruとはどのようなものであるのかをご説明します。
機能概要
Amazon DevOps GuruはAWSの運用をサポートしてくれるサービスです。
AWSが長年サービスを提供してきた中で得た情報を機械学習し、その学習結果から私たちが利用するリソースにエラーが無いかを判断してくれます。私たちが運用について学習させるのではなく、AWSが学習した情報が利用される仕組みです。
また、学習結果を元に異常を表示してくれるAmazon DevOps Guru専用のダッシュボードが用意されています。私たち利用者はこのダッシュボードを利用することで、リソースに関する運用上の問題をいち早く見つけられるようになっているのです。リソース毎に管理画面を開き、それぞれの状況を個別に把握する必要はありません。
ただ、注意しなければならないのは、Amazon DevOps GuruはAWSが学習した結果に基づいてエラーが無いかを判断してくれる点です。誤検知が発生する場合もあるので、現時点ではAmazon DevOps Guruだけで運用の自動化ができるのではなく、運用の一部自動化が実現できる状況です。
利用例
Amazon DevOps Guruの利用例は様々なものが考えられます。AWSでの運用の効率化が目的ですので、使い方は特定のものに定まるわけではありません。例えばAmazon DevOps Guruの使い方には以下が挙げられます。
- インシデントが発生する前の問題検知
- 事前設定によるリソースの自動検知と監視への追加
リソースの余裕を持った監視 - 監視設定の詳細化による平均復旧時間の短縮
これらは一例ですが、AWSの運用を効率化するために Amazon DevOps Guruが役立ちます。
利用料金
料金はAWSのリソースの種類によって以下の2つに分類されます。
- グループ A(S3, Lambda)1リソースあたり 0.0028 USD / 1時間
- グループ B(上記以外)1リソースあたり 0.0042 USD / 1時間
S3とLambdaだけは料金が安く抑えられています。
ただ、上記の通り定められているものの、自力で計算するのは難しいものです。そのため、 Amazon DevOps Guruの「コスト見積りツール」を利用することをおすすめします。 Amazon DevOps Guruのダッシュボードからすぐにアクセスして利用可能です。
Amazon DevOps Guruの有効化
実際にAmazon DevOps Guruを有効化し、トラブルを起こしてAmazon DevOps Guruが正しく動作しているか確認してみましょう。
有効化までの手順
1Amazon DevOps Guruの画面へとアクセスします。
マネジメントコンソールの検索フォームから「Amazon DevOps Guru」と検索しましょう。
2表示される画面で「ご利用にあたって」ボタンをクリックします。
3画面が遷移するとAmazon DevOps Guruの概要と作成する必要があるIAMロールの説明が表示されます。
こちらは必ず作成する必要があるので、内容を理解して次の工程へと進みます。
なお、「ロールポリシーを表示」をクリックするとIAMロールの詳細が表示され、「アクセス許可の詳細を表示」をクリックすると必要なアクセス許可の詳細が表示されます。
ロールポリシーの詳細
アクセス許可の詳細
1具体的な中身が気になる場合は、リンクをクリックしてそれぞれの詳細に目を通しておくと良いでしょう。
2ページ下部には「Amazon DevOps Guru 分析カバレッジ」との項目があります。こちらはAmazon DevOps Guruを利用して分析する対象を「リージョン内の全てのリソース」とするか「自分で選択したリソース」とするかを選べる項目です。
説明の通り、Amazon DevOps Guruは対象となるリソース数に応じて費用が変化します。費用を抑えたい場合は自分でリソースを選択するようにした方が良いでしょう。
3設定が完了したら、ページ最下部の「有効化」をクリックします。
4この通りAmazon DevOps Guruのダッシュボードが表示されればAmazon DevOps Guruが有効化されています。
Amazon DevOps Guruのデータ収集には数時間必要となるケースが大半です。リソース数が多い環境になると1日以上必要となる場合もありますので、Amazon DevOps Guruの利用を開始する際には時間に余裕を持って対応するようにしましょう。
数時間待機してAmazon DevOps Guruのデータ収集が完了するとダッシュボードの表示内容が変化します。今回の例であれば特に問題は発生しておらず、正常にリソースが運用できていることが確認できます。
トラブルを起こして有効化されているか確認しよう
正しく設定されているかどうかを確認するためにはAWSの公式ブログを参考にします。「Gaining operational insights with AIOps using Amazon DevOps Guru」へとアクセスし、必要な手順を実行してみます。
手順を実行して数時間程度待機してみると、Amazon DevOps Guruのダッシュボードの表示が変化します。
赤枠の通り「事後的インサイトの合計数」に数値が表示されていると、これが「運用上発生したトラブルの検知数」となります。
上記赤枠のリンクをクリックすると画面が遷移します。
AWSの例の通り進められていると、遷移後の画面で「DynamoDB ThrottledRequests スタック内の myServerless-Stack 異常」が検知されているはずです。
まとめ
AWSで運用を効率化するのであれば、これからはAmazon DevOps Guruが必要となってくるでしょう。AWSの運用を自動化するために必要なサービスだと考えられます。
ただ、Amazon DevOps Guruは機械学習した内容を踏まえて運用を効率化するので、学習間違いが発生します。高い精度ではあるものの、100%信頼できるものではありません。そのため、Amazon DevOps Guruの情報を踏まえながら最終的には人間が確認して対応の有無を決定しなければなりません。
とは言え、Amazon DevOps Guruを導入すれば運用を効率化できるのは間違いありません。全て人間の手で対応する状況と比較すると、Amazon DevOps Guruの導入には大きなメリットがあります。更なる機能強化にも期待できるので、今のうちに利用法を把握しておくと良いでしょう。