Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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日

    View full-size slide

  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

    View full-size slide

  3. 2
    認定対策本も書いてます
    データベースももうすぐ!

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 8
    Amazon Lookout for Metricsを触ってみる

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. 13
    今回作成する構成
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    ※構成は作ってから書いてます
    ※はてなブログのGoogle Analytics設定方法は割愛
    Google
    Analytics

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  19. 18
    App Flowの前に・・Googlle Analytics側のAPI設定が必要
    公式ドキュメントを参考に設定してく
    • API有効
    • OAuth設定
    • Client ID(キー)作成
    https://docs.aws.amazon.com/appflow/latest/userguide/google-analytics.html

    View full-size slide

  20. 19
    App Flowでフロー作成
    KMSキーを指定しないと(AWSマネージドキーだと)エラーになる
    設定しないとエラーになる

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  24. 23
    フロー作成!

    View full-size slide

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

    View full-size slide

  26. 25
    App Flow完成
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    ここができた
    Google
    Analytics

    View full-size slide

  27. 26
    Lookout for Metricsに戻ってくる

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  34. 33
    アーキテクチャ変更
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    Amazon S3 AWS Lambda Amazon S3
    追加
    S3にオブジェクトが格納されたら、
    Lookout for Metrics用にデータを変換して格納
    Google
    Analytics

    View full-size slide

  35. 34
    Lookout for MetricsのDatasourceをS3に
    リアルタイム(AppFlow)の前に・・
    過去分データのみで異常検出ができる
    Backtestをやってみる

    View full-size slide

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

    View full-size slide

  37. 36
    過去データ(CSV)はGoogle Analyticsから直接ダウンロード

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  45. 44
    AppFlowの送信先をLookout for MetricsからS3に変更
    取得処理は毎日0:15

    View full-size slide

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

    View full-size slide

  47. 46
    途中経過
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    Amazon S3 AWS Lambda Amazon S3
    ここは詳細割愛
    Pythonで実装
    Google
    Analytics

    View full-size slide

  48. 47
    Lookout for Metricsへ、
    リアルタイムデータを処理するためにContinuousを選択

    View full-size slide

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

    View full-size slide

  50. 49
    途中経過
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    Amazon S3 AWS Lambda Amazon S3
    ここまで設定完了
    Google
    Analytics

    View full-size slide

  51. 50
    Dataset作成後はBacktestと作業内容は同様
    Backtestは1回きりだったが、Continuousは指定間隔で継続実行される

    View full-size slide

  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

    View full-size slide

  53. 52
    3.ひととおり流し終えたら、詳細機能を見るなど深掘り
    (+見直し)

    View full-size slide

  54. 53
    当初予定していた構成は、AWS CLIで解決した
    AWS Cloud
    Amazon AppFlow Amazon Lookout
    for Metrics
    サポートより回答があり、AppFlowの登録をマネジメントコンソールではなく
    AWS CLIにすることで解決した
    aws appflow create-flowで登録
    Google
    Analytics

    View full-size slide

  55. 54
    アラートも設定して飛ばしてみた
    アラートの追加を行い、メール通知
    JSONで飛んでくる

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  58. 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

    View full-size slide

  59. 59
    Amazon Lookout for Metrics 感想
    • CloudWatch anomaly detectionの他サービス対応版の印象を持った
    • 対応しているサードパーティのサービスが多いのがありがたい
    • 外部サービス(今回はGoogle Analytics)のAPI設定はそれぞれコツが必要
    • とりあえずS3に格納すればどんなデータも異常検出できる
    • 異常値検知が無いとグラフは見れない?
    • 自分で異常値が決めれないものに活用したい

    View full-size slide

  60. 60
    学びポイント
    • AWSのAIサービスは特に知識が無くとも始めやすいものが多い
    • 諦めないことが大事、他に方法が無いか考えてみる
    • サポートは偉大
    • マネジメントコンソールがNGならAWS CLIも試してみる

    View full-size slide

  61. 61
    ありがとうございました

    View full-size slide