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

Athenaを守り、Athenaで攻める

 Athenaを守り、Athenaで攻める

2018/04/05に開催された「Amazon Analytics(Athena)事例祭り」にて発表した資料です。

NAVITIME JAPAN
PRO

April 13, 2018
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Technology

Transcript

  1. ©NAVITIME JAPAN
    Athenaを守り、Athenaで攻める
    〜Athena をよりセキュアに実サービスで利用する方法〜
    Amazon Analytics (Athena) 事例祭り

    View Slide

  2. ©NAVITIME JAPAN
    自己紹介
    田中 一樹(たなか かずき)
    ・株式会社ナビタイムジャパン
    ACTS(研究開発) インフラグループ所属
    ・普段の業務:
    クラウド周りの構築/運用/アーキテクト

    View Slide

  3. ©NAVITIME JAPAN
    自己紹介
    加賀谷 駿(かがや しゅん)
    ・株式会社ナビタイムジャパン
    交通コンサルティング事業 データサイエンティスト
    ・普段の業務:
    ナビタイム利用者の行動ログを分析し、
    官公庁や法人に対して地域の交通課題や観光課題を解決する

    View Slide

  4. ©NAVITIME JAPAN
    会社紹介
    会社名
    設立
    業務内容
    従業員数
    株式会社ナビタイムジャパン
    2000年3月1日
    ナビゲーションサイト・アプリの運営・開発
    通信カーナビゲーション事業
    経路探索エンジンのライセンス事業 など
    約440名(エンジニア80%以上)

    View Slide

  5. ©NAVITIME JAPAN
    会社紹介(BtoC)
    NAVITIME
    ドライブ
    サポーター
    乗換
    NAVITIME
    自転車
    NAVITIME
    こみれぽ
    バス
    NAVITIME
    カーナビ
    タイム
    NAVITIME
    Transit
    NAVITIME for
    Japan Travel
    ウォーキング
    NAVITIME
    ツーリング
    サポーター
    Plat by
    NAVITIME
    トラック
    カーナビ
    公共交通
    ドライブ
    ツーリング トラベル&フィットネス
    外国人&海外 PC/SPブラウザ
    NAVITIME
    トラベル

    View Slide

  6. ©NAVITIME JAPAN
    会社紹介(BtoC)
    月間ユーザ数

    4100万UU
    有料会員数

    480万人
    (2017年12月末時点)

    View Slide

  7. ©NAVITIME JAPAN
    会社紹介(BtoB)

    View Slide

  8. ©NAVITIME JAPAN
    位置情報 プローブデータ
    (移動軌跡)
    経路検索条件
    データ
    NAVITIMEが取り扱っている主なログ
    スポット検索
    データ

    View Slide

  9. ©NAVITIME JAPAN
    位置情報 プローブデータ
    (移動軌跡)
    経路検索条件
    データ
    NAVITIMEが取り扱っている主なログ
    スポット検索
    データ
    膨大な利用ログから
    “個人情報に配慮して”分析することが重要

    View Slide

  10. ©NAVITIME JAPAN
    NAVITIMEのログ分析基盤
    ログ分析基盤で重要なポイント
    集計に時間がかからない(数秒〜数分)
    集計にコストをかけない
    詳細なアクセス管理ができる

    View Slide

  11. ©NAVITIME JAPAN
    NAVITIMEのログ分析基盤

    View Slide

  12. ©NAVITIME JAPAN
    Athenaをセキュアに使う

    View Slide

  13. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    コンプライアンス/セキュリティチームから出る要望例
    ① 各利用者の見られるログは適切に管理してほしい
    ② 社外からログへのアクセスをさせたくない
    ③ 誰がどんなクエリを発行したか監視したい

    View Slide

  14. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ① 各利用者の見られるログは適切に管理してほしい

    View Slide

  15. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ① 各利用者の見られるログは適切に管理してほしい
    IAMポリシーで参照できるバケットを絞る
    現時点で、DB/テーブル単位での権限絞込はできない
    代わりにS3バケット単位でGetObjectの権限を絞る

    View Slide

  16. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない

    View Slide

  17. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない
    IAMポリシーでSourceIPをオフィス限定にする
    CLI/SDKなどから操作がある場合
    CLI/SDK実行元のSourceIPも指定する

    View Slide

  18. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない
    IAMポリシーでSourceIPをオフィス限定にする
    CLI/SDKなどから操作がある場合
    CLI/SDK実行元のSourceIPも指定する

    View Slide

  19. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない
    Athenaの実行時にSourceIPがamazonaws.comになる
    SourceIPを限定していると実行できなくなる
    スイッチロールを使いこの問題を解決

    View Slide

  20. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    スイッチロール(SwitchRole)
    IAMロールに割り当てられた権限を一時的にIAMユーザーに
    割り当てる
    SwitchRoleの切り替え元はIPやユーザーなどで制限可能

    View Slide

  21. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない
    IAMユーザー
    IPアドレス制限なし
    MFAの有効化
    スイッチロールのみ許可
    IAMロール
    スイッチロール

    View Slide

  22. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ② 社外からログへのアクセスをさせたくない
    IAMユーザー IAMロール
    スイッチロール
    スイッチ元のIPアドレス制限(信頼関係)
    スイッチ元のユーザーを固定(IAMグループ)
    IAMグループごとにロールを作成
    Athena/S3/KMSの権限のみ
    Athenaを操作
    IPアドレス制限なし
    MFAの有効化
    スイッチロールのみ許可

    View Slide

  23. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ③ 誰がどんなクエリを発行したか監視したい

    View Slide

  24. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    ③ 誰がどんなクエリを発行したか監視したい
    Athenaのクエリ履歴+CloudTrailから追う
    Athenaのクエリ履歴とCloudTrailのアクション
    CloudTrail:どのユーザーがAthenaを実行したか
    Athena:そのユーザーがどのクエリを実行したか

    View Slide

  25. ©NAVITIME JAPAN
    Athenaをセキュアに使う
    コンプライアンス/セキュリティチームから出る要望例
    ① 各利用者の見られるログは適切に管理してほしい
    ② 社外からログへのアクセスをさせたくない
    ③ 誰がどんなクエリを発行したか監視したい

    View Slide

  26. ©NAVITIME JAPAN
    ログ活用事例

    View Slide

  27. ©NAVITIME JAPAN
    交通コンサルティング事業の分析事例
    0
    60
    120
    180
    240
    300
    7 8 9 10 11 12 13 14 15 16 17 18
    交差点通過時間[s]
    時間帯
    登下校時間帯の左折時間が長い
    左折時間(平均±標準偏差) 直進時間(平均)
    対象期間:2014年4-9月
    警視庁様にて信号渋滞対策に活用中!
    交差点通過時間中央値
    (t[s])別に色分け
    ➔:t ≦30
    ➔:30<t ≦60
    ➔:60<t ≦90
    ➔:90<t
    通過数が多いほど
    線幅が太い
    交差点分析 ~都内で一番左折が混んでいる交差点(西巣鴨)~
    直進 58秒
    左折 132秒

    View Slide

  28. ©NAVITIME JAPAN
    ユーザーがビッグデータを分析できるようになるには
    膨大なデータを加工・可視化するには時間も技術もかかる
    膨大なデータを加工・可視化するまでには
    数週間単位の時間がかかる。
    データ取得・蓄積の進化に対して
    人の技術が追いついておらず、
    データを扱いきれない。
    ビッグデータを分析するための
    高性能マシンの準備コストだけでなく、
    ビッグデータの保存コストもかかる。
    必要な時に必要な分だけ分析でき、
    大量のデータを早く、誰でも扱えるようなシステムが必要
    時間
    データ
    管理
    人材

    View Slide

  29. ©NAVITIME JAPAN
    道路プロファイラー
    交通ビッグデータをWebで誰でも簡単に分析できるシステム 道路プロファイラー
    車の移動に特化した集計
    弊社アプリから取得した
    「車の走行実績データ(プローブ)」と
    「アプリ利用者の属性情報」を使用
    2015年1月~現在までの期間で集計可能
    TB(テラバイト)単位のビッグデータも
    わずか数十秒で集計が可能
    デモをします
    ナビタイムが蓄積した交通ビッグデータ

    View Slide

  30. ©NAVITIME JAPAN
    ビッグデータにおける分析サイクル
    ビッグデータを扱う上で最も大切なことは、分析サイクルの高速化
    仮説
    検証
    モデリ
    ング
    集計
    可視化
    ユーザーが立てた仮説をすぐさまフィードバック。
    試行錯誤的に仮説検証を繰り返すことで、
    精度の高い分析結果を得られます。
    分析サイクルの大半を自動化。仮説検証に徹底できる
    1サイクル
    1週間を1分に!

    View Slide

  31. ©NAVITIME JAPAN
    高速な分析サイクルを実現した技術
    Athenaでローコスト、ハイパフォーマンスな分析環境を実現
    必要な時に必要な分だけ分析環境を確保
    Athenaは必要な時に必要な分だけマシンリソースを
    自動で確保。ハイスペックなマシンを常時立ち上げておく
    必要がありません。
    集計~可視化がわずか数十秒。Athenaの高速分析
    集計規模が多くてもAthenaであれば対応可能。
    ビッグデータに対しても高速な集計を実現。

    必要な時に必要なリソースを確保
    分析システム
    集計規模に合わせてリソースを調整
    Webシステム
    誰でも扱いやすいデザイン
    豊富な交通分析ノウハウ
    リンク旅行速度 区間所要時間
    断面交通流
    1. 道路を選択 2. 期間を選択 完成!
    EMRと比べて
    80%コスト削減!
    EMRで実現するにはコスト特大

    View Slide

  32. ©NAVITIME JAPAN
    高速な分析サイクルを実現した技術
    扱いやすいWebデザイン、豊富な交通分析パターンで誰でも簡単に
    設定項目は最低限に、誰でも簡単に扱えるデザイン
    ナビタイムの分析ノウハウで、マクロな分析もミクロな分析も
    リンク旅行速度で
    データを俯瞰的に眺め、
    断面交通流、区間所要時間で
    詳細に分析できます。
    Webシステム
    誰でも扱いやすいデザイン
    豊富な交通分析ノウハウ
    リンク旅行速度 区間所要時間
    断面交通流
    1. 道路を選択 2. 期間を選択 完成!
    1. 道路を選択 2. 期間を選択 完成!

    必要な時に必要なリソースを確保
    分析システム
    集計規模に合わせてリソースを調整
    リンク旅行速度
    区間所要時間
    断面交通流
    micro
    macro

    View Slide

  33. ©NAVITIME JAPAN
    相性の良いAthenaとWebシステム
    道路プロファイラーは「誰でも」「簡単に」交通ビッグデータを扱えます
    AthenaとWeb UIの組み合わせが分析サイクルを実現する
    仮説検証に専念できる環境が実現し、
    最も時間のかかる「集計」もAthenaによって超高速化。
    Athenaによる
    高速分析システム
    ナビタイムの
    分析ノウハウ
    扱いやすい
    Webシステム 仮説
    検証
    モデリ
    ング
    集計
    可視化

    View Slide

  34. ©NAVITIME JAPAN
    今後の展望
    分析サイクルをさらに高速化、より使いやすく
    誰でも簡単に分析できるシステムが作れたのは
    Athenaの高速分析技術があったからこそ。
    弊社のデータをより多くの方に触ってもらえるよう、
    システムを改善していきます。
    道路事業者だけでなくマーケティングや広告戦略にも
    どこからきてどこにいくのかを分析できる断面交通流では
    対象の道路を通過するユーザと相関の深いエリアが見えてきます
    マーケティングや広告業界にも使っていただける
    機能も提供していきます。
    仮説
    検証
    モデリ
    ング
    集計
    可視化

    View Slide

  35. ©NAVITIME JAPAN
    エンジニア募集中!!
    ・サービス開発エンジニア
    ・スマートフォン向けアプリ開発エンジニア(iOS/Android)
    ・WEBエンジニア
    ・アルゴリズム開発エンジニア
    ・地図・ナビゲーション開発エンジニア
    ・システムエンジニア(エンジンライセンス)
    ・ネットワーク・インフラエンジニア
    ・デザイナー(UI/UX/web/アプリケーション/グラフィック)
    自社開発でやってみたい方、ぜひご連絡ください。
    http://recruit.navitime.co.jp/recruit/career.html

    View Slide

  36. ©NAVITIME JAPAN
    ご清聴ありがとうございました

    View Slide