$30 off During Our Annual Pro Sale. View Details »

Amazon Lookout for Metrics触ってみた

Amazon Lookout for Metrics触ってみた

2021/05/22
「AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる はじめての異常検知」

でお話した資料です。

fumiakiueno

May 22, 2021
Tweet

More Decks by fumiakiueno

Other Decks in Technology

Transcript

  1. Amazon Lookout for Metrics触ってみた NRIネットコム株式会社 上野 史瑛 2021年5月22日

  2. 1 自己紹介 名前: 上野 史瑛(うえの ふみあき) 所属: NRIネットコム株式会社 経歴: ・各種Webシステムのインフラ構築・運用

    - サーバ、ネットワーク管理や構築がメイン - オンプレとAWSの両方を経験 ・AWS最適化プロジェクトに参画 ・AWS技術検証や構成レビュー ・CCoE支援 ・2020/2021 APN Ambassadors ・2020/2021 APN AWS Top Engineers ・2020/2021 APN ALL AWS Certifications Engineer @fu3ak1
  3. 2 認定対策本も書いてます データベースももうすぐ!

  4. 3 会社紹介 WEBシステムを中心にソリューションを提供しています

  5. 4 会社紹介 AWSは特に力をいれて頑張っています ・資格取得数100 ・モバイルコンピテンシー取得 AWSでご相談があればご連絡ください →「NRIネットコム 問い合わせ」で検索

  6. 5 AWSエンジニア募集してます!

  7. 6 Amazon Lookout for Metricsを見ていく前に・・ 新サービスを触るときの私のやりかた

  8. 7 新サービスを触って理解するときの流れ 1. サービスの概要や目的をざっくり理解する 2. マネジメントコンソールから画面の手順に従って触ってみる 進めなくなったor不明点が出たら公式ドキュメント読む 3. ひととおり流し終えたら、詳細機能を見るなど深掘り 4.

    (状況に応じて)ブログや登壇などでアウトプット
  9. 8 Amazon Lookout for Metricsを触ってみる

  10. 9 1. サービスの概要や目的をざっくり理解する

  11. 10 サービス概要ページを読む メトリクスの異常検出 メトリクス=S3、Redshift、RDSのデータ、サードパーティSaaS

  12. 11 特徴ページもおすすめ 概要ページよりもすこし詳細な情報が書いてある

  13. 12 2. マネジメントコンソールから画面の手順に従って触ってみる

  14. 13 今回作成する構成 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    ※構成は作ってから書いてます ※はてなブログのGoogle Analytics設定方法は割愛 Google Analytics
  15. 14 Google Analyticsについて Googleが提供するアクセス解析ツール はてなブログから簡単に設定してアクセス解析ができる ⇒Lookout for Metricsに連携して異常検出(たくさんアクセスが来たら検知)してみる 自分のブログで設定

  16. 15 マネジメントコンソールから画面の手順に従って触ってみる 流れの概要を理解 開始

  17. 16 Detectorの作成 • 必須項目だけ入力してCreate • IntervalsはGoogle Analyticsの仕様上 1dayを選択

  18. 17 Datasourceの選択 • Google AnalyticsはAppFlowが必要 ⇒App Flowへ移動

  19. 18 App Flowの前に・・Googlle Analytics側のAPI設定が必要 公式ドキュメントを参考に設定してく • API有効 • OAuth設定 •

    Client ID(キー)作成 https://docs.aws.amazon.com/appflow/latest/userguide/google-analytics.html
  20. 19 App Flowでフロー作成 KMSキーを指定しないと(AWSマネージドキーだと)エラーになる 設定しないとエラーになる

  21. 20 Google Analyticsに接続して、オブジェクトを選択

  22. 21 送信先にLookout for Metricsを選択 間隔など、細かい設定は変更できず 00:00にしないと エラーになる

  23. 22 取得フィールドのマッピング アクセス状況に関わる3項目をピックアップ ・pageviews(アクセス数) ・ページタイトル ・dateHour(日付と時刻)

  24. 23 フロー作成!

  25. 24 フローをアクティブ化

  26. 25 App Flow完成 AWS Cloud Amazon AppFlow Amazon Lookout for

    Metrics ここができた Google Analytics
  27. 26 Lookout for Metricsに戻ってくる

  28. 27 作成したAppFlowをDatasourceとして選択 作成したAppFlowのflowを選択 IAM RoleはCreate a Roleを 選択し、flow名を入力

  29. 28 異常検知対象とするデータを選択する

  30. Copyright© 2019 NRI Netcom, Ltd. All Rights Reserved. 29 ここでトラブル

  31. 30 異常検知対象とするデータを選択する 選択肢が出てこない ⇒サポート問い合わせ

  32. Copyright© 2019 NRI Netcom, Ltd. All Rights Reserved. 31

  33. Copyright© 2019 NRI Netcom, Ltd. All Rights Reserved. 32

  34. 33 アーキテクチャ変更 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 追加 S3にオブジェクトが格納されたら、 Lookout for Metrics用にデータを変換して格納 Google Analytics
  35. 34 Lookout for MetricsのDatasourceをS3に リアルタイム(AppFlow)の前に・・ 過去分データのみで異常検出ができる Backtestをやってみる

  36. 35 Google Analytics Backtest(手動アップロード)の構成イメージ AWS Cloud Amazon Lookout for Metrics

    Amazon S3 ダウンロード アップロード csv csv
  37. 36 過去データ(CSV)はGoogle Analyticsから直接ダウンロード

  38. 37 手動アップロードしたCSVファイルの場所を指定

  39. 38 計測対象にアクセス数、TimeStampに時刻を設定 Dimeisions(分類)は設定せず。 1時間単位(date)の、アクセス数(visits) を対象に異常検知

  40. 39 Activateしてしばらく待機

  41. 40 完了したのでanomaliesチェック

  42. 41 閾値を0(デフォルト70)にして異常値チェック いくつか異常値あり

  43. 42 異常値をクリックするとグラフが見える 異常値 ※3/30に記事UP無し

  44. 43 Backtest(過去分)ができたので、AppFlow経由のリアルタイムも試す AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 S3にオブジェクトが格納されたら、 Lookout for Metrics用にデータを変換して格納 ※Lambdaの詳細は割愛 Google Analytics
  45. 44 AppFlowの送信先をLookout for MetricsからS3に変更 取得処理は毎日0:15

  46. 45 途中経過 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 ここが完成 Google Analytics
  47. 46 途中経過 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 ここは詳細割愛 Pythonで実装 Google Analytics
  48. 47 Lookout for Metricsへ、 リアルタイムデータを処理するためにContinuousを選択

  49. 48 変換後データ格納先のS3詳細設定 1オブジェクトのパスを入力 パスパターン入力 Google Analytics(無料版) の仕様で1日間隔 格納後1時間後に分析開始 精度を高めるため 過去データも指定

  50. 49 途中経過 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 ここまで設定完了 Google Analytics
  51. 50 Dataset作成後はBacktestと作業内容は同様 Backtestは1回きりだったが、Continuousは指定間隔で継続実行される

  52. 51 処理の流れおさらい AWS Cloud Amazon AppFlow Amazon Lookout for Metrics

    Amazon S3 AWS Lambda Amazon S3 日次(0:15)でS3に取り込むように 取り込まれたらオブジェクトトリガーで Lambdaを起動しMetrics用に変換 日次(1:00)で データ取り込み Google Analytics
  53. 52 3.ひととおり流し終えたら、詳細機能を見るなど深掘り (+見直し)

  54. 53 当初予定していた構成は、AWS CLIで解決した AWS Cloud Amazon AppFlow Amazon Lookout for

    Metrics サポートより回答があり、AppFlowの登録をマネジメントコンソールではなく AWS CLIにすることで解決した aws appflow create-flowで登録 Google Analytics
  55. 54 アラートも設定して飛ばしてみた アラートの追加を行い、メール通知 JSONで飛んでくる

  56. 55 4.(状況に応じて)ブログや登壇などでアウトプット

  57. 56 アウトプットのすすめ ブログや社内共有、登壇などなんでもOK 自分の知識整理にもなるのでおススメです

  58. 57 まとめ

  59. 58 構築した構成 AWS Cloud Amazon Lookout for Metrics Amazon S3

    ダウンロード アップロード csv csv AWS Cloud Amazon AppFlow Amazon S3 AWS Lambda Amazon S3 AWS Cloud Amazon AppFlow Amazon Lookout for Metrics ① ② ③ Google Analytics Google Analytics Google Analytics
  60. 59 Amazon Lookout for Metrics 感想 • CloudWatch anomaly detectionの他サービス対応版の印象を持った

    • 対応しているサードパーティのサービスが多いのがありがたい • 外部サービス(今回はGoogle Analytics)のAPI設定はそれぞれコツが必要 • とりあえずS3に格納すればどんなデータも異常検出できる • 異常値検知が無いとグラフは見れない? • 自分で異常値が決めれないものに活用したい
  61. 60 学びポイント • AWSのAIサービスは特に知識が無くとも始めやすいものが多い • 諦めないことが大事、他に方法が無いか考えてみる • サポートは偉大 • マネジメントコンソールがNGならAWS

    CLIも試してみる
  62. 61 ありがとうございました