Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Athenaを守り、Athenaで攻める
Search
NAVITIME JAPAN
PRO
April 13, 2018
Technology
0
41
Athenaを守り、Athenaで攻める
2018/04/05に開催された「Amazon Analytics(Athena)事例祭り」にて発表した資料です。
NAVITIME JAPAN
PRO
April 13, 2018
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
1
630
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
63
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
2.8k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.1k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
6
4.5k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
42
25k
もーひとつの時間がない症候群 / Yet Another SOT Syndrome
navitimejapan
PRO
1
2k
シーズン2〜スクラムチームのバトンを渡す〜 / Season 2 -pass the button of a scrum team-
navitimejapan
PRO
2
2.7k
チームのパフォーマンスを引き出す、ワクワクするプロダクトゴール、OKR / Waku-waku Product Goal and OKR
navitimejapan
PRO
16
17k
Other Decks in Technology
See All in Technology
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
630
沒想過的前端錯誤處理可能比你有做的還多
line_developers_tw
PRO
0
1.9k
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
1
140
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
1
230
中央集権体制からDataOpsへの転換 / centralized-to-dataops-transformation
pei0804
7
1.4k
Cloud Friendly(?) Jenkins. How we failed to make Jenkins cloud native and what we learned?
onenashev
PRO
0
110
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
12
2.8k
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
510
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
140
Autify Company Deck
autifyhq
1
30k
生成AIの不確実性と向き合うためのオブジェクト指向設計
tkikuchi1002
2
340
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
250
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Facilitating Awesome Meetings
lara
39
5.5k
KATA
mclloyd
14
11k
Bash Introduction
62gerente
604
210k
What's in a price? How to price your products and services
michaelherold
236
11k
Keith and Marios Guide to Fast Websites
keithpitt
407
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
15
6.3k
Git: the NoSQL Database
bkeepers
PRO
421
63k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Being A Developer After 40
akosma
56
580k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Why Our Code Smells
bkeepers
PRO
330
56k
Transcript
©NAVITIME JAPAN Athenaを守り、Athenaで攻める 〜Athena をよりセキュアに実サービスで利用する方法〜 Amazon Analytics (Athena) 事例祭り
©NAVITIME JAPAN 自己紹介 田中 一樹(たなか かずき) ・株式会社ナビタイムジャパン ACTS(研究開発) インフラグループ所属 ・普段の業務:
クラウド周りの構築/運用/アーキテクト
©NAVITIME JAPAN 自己紹介 加賀谷 駿(かがや しゅん) ・株式会社ナビタイムジャパン 交通コンサルティング事業 データサイエンティスト ・普段の業務:
ナビタイム利用者の行動ログを分析し、 官公庁や法人に対して地域の交通課題や観光課題を解決する
©NAVITIME JAPAN 会社紹介 会社名 設立 業務内容 従業員数 株式会社ナビタイムジャパン 2000年3月1日 ナビゲーションサイト・アプリの運営・開発
通信カーナビゲーション事業 経路探索エンジンのライセンス事業 など 約440名(エンジニア80%以上)
©NAVITIME JAPAN 会社紹介(BtoC) NAVITIME ドライブ サポーター 乗換 NAVITIME 自転車 NAVITIME
こみれぽ バス NAVITIME カーナビ タイム NAVITIME Transit NAVITIME for Japan Travel ウォーキング NAVITIME ツーリング サポーター Plat by NAVITIME トラック カーナビ 公共交通 ドライブ ツーリング トラベル&フィットネス 外国人&海外 PC/SPブラウザ NAVITIME トラベル
©NAVITIME JAPAN 会社紹介(BtoC) 月間ユーザ数 約 4100万UU 有料会員数 約 480万人 (2017年12月末時点)
©NAVITIME JAPAN 会社紹介(BtoB)
©NAVITIME JAPAN 位置情報 プローブデータ (移動軌跡) 経路検索条件 データ NAVITIMEが取り扱っている主なログ スポット検索 データ
©NAVITIME JAPAN 位置情報 プローブデータ (移動軌跡) 経路検索条件 データ NAVITIMEが取り扱っている主なログ スポット検索 データ
膨大な利用ログから “個人情報に配慮して”分析することが重要
©NAVITIME JAPAN NAVITIMEのログ分析基盤 ログ分析基盤で重要なポイント 集計に時間がかからない(数秒〜数分) 集計にコストをかけない 詳細なアクセス管理ができる
©NAVITIME JAPAN NAVITIMEのログ分析基盤
©NAVITIME JAPAN Athenaをセキュアに使う
©NAVITIME JAPAN Athenaをセキュアに使う コンプライアンス/セキュリティチームから出る要望例 ① 各利用者の見られるログは適切に管理してほしい ② 社外からログへのアクセスをさせたくない ③ 誰がどんなクエリを発行したか監視したい
©NAVITIME JAPAN Athenaをセキュアに使う ① 各利用者の見られるログは適切に管理してほしい
©NAVITIME JAPAN Athenaをセキュアに使う ① 各利用者の見られるログは適切に管理してほしい IAMポリシーで参照できるバケットを絞る 現時点で、DB/テーブル単位での権限絞込はできない 代わりにS3バケット単位でGetObjectの権限を絞る
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない IAMポリシーでSourceIPをオフィス限定にする CLI/SDKなどから操作がある場合 CLI/SDK実行元のSourceIPも指定する
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない IAMポリシーでSourceIPをオフィス限定にする CLI/SDKなどから操作がある場合 CLI/SDK実行元のSourceIPも指定する
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない Athenaの実行時にSourceIPがamazonaws.comになる SourceIPを限定していると実行できなくなる スイッチロールを使いこの問題を解決
©NAVITIME JAPAN Athenaをセキュアに使う スイッチロール(SwitchRole) IAMロールに割り当てられた権限を一時的にIAMユーザーに 割り当てる SwitchRoleの切り替え元はIPやユーザーなどで制限可能
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない IAMユーザー IPアドレス制限なし MFAの有効化 スイッチロールのみ許可 IAMロール
スイッチロール
©NAVITIME JAPAN Athenaをセキュアに使う ② 社外からログへのアクセスをさせたくない IAMユーザー IAMロール スイッチロール スイッチ元のIPアドレス制限(信頼関係) スイッチ元のユーザーを固定(IAMグループ)
IAMグループごとにロールを作成 Athena/S3/KMSの権限のみ Athenaを操作 IPアドレス制限なし MFAの有効化 スイッチロールのみ許可
©NAVITIME JAPAN Athenaをセキュアに使う ③ 誰がどんなクエリを発行したか監視したい
©NAVITIME JAPAN Athenaをセキュアに使う ③ 誰がどんなクエリを発行したか監視したい Athenaのクエリ履歴+CloudTrailから追う Athenaのクエリ履歴とCloudTrailのアクション CloudTrail:どのユーザーがAthenaを実行したか Athena:そのユーザーがどのクエリを実行したか
©NAVITIME JAPAN Athenaをセキュアに使う コンプライアンス/セキュリティチームから出る要望例 ① 各利用者の見られるログは適切に管理してほしい ② 社外からログへのアクセスをさせたくない ③ 誰がどんなクエリを発行したか監視したい
©NAVITIME JAPAN ログ活用事例
©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秒
©NAVITIME JAPAN ユーザーがビッグデータを分析できるようになるには 膨大なデータを加工・可視化するには時間も技術もかかる 膨大なデータを加工・可視化するまでには 数週間単位の時間がかかる。 データ取得・蓄積の進化に対して 人の技術が追いついておらず、 データを扱いきれない。 ビッグデータを分析するための
高性能マシンの準備コストだけでなく、 ビッグデータの保存コストもかかる。 必要な時に必要な分だけ分析でき、 大量のデータを早く、誰でも扱えるようなシステムが必要 時間 データ 管理 人材
©NAVITIME JAPAN 道路プロファイラー 交通ビッグデータをWebで誰でも簡単に分析できるシステム 道路プロファイラー 車の移動に特化した集計 弊社アプリから取得した 「車の走行実績データ(プローブ)」と 「アプリ利用者の属性情報」を使用 2015年1月~現在までの期間で集計可能
TB(テラバイト)単位のビッグデータも わずか数十秒で集計が可能 デモをします ナビタイムが蓄積した交通ビッグデータ
©NAVITIME JAPAN ビッグデータにおける分析サイクル ビッグデータを扱う上で最も大切なことは、分析サイクルの高速化 仮説 検証 モデリ ング 集計 可視化
ユーザーが立てた仮説をすぐさまフィードバック。 試行錯誤的に仮説検証を繰り返すことで、 精度の高い分析結果を得られます。 分析サイクルの大半を自動化。仮説検証に徹底できる 1サイクル 1週間を1分に!
©NAVITIME JAPAN 高速な分析サイクルを実現した技術 Athenaでローコスト、ハイパフォーマンスな分析環境を実現 必要な時に必要な分だけ分析環境を確保 Athenaは必要な時に必要な分だけマシンリソースを 自動で確保。ハイスペックなマシンを常時立ち上げておく 必要がありません。 集計~可視化がわずか数十秒。Athenaの高速分析 集計規模が多くてもAthenaであれば対応可能。
ビッグデータに対しても高速な集計を実現。 … 必要な時に必要なリソースを確保 分析システム 集計規模に合わせてリソースを調整 Webシステム 誰でも扱いやすいデザイン 豊富な交通分析ノウハウ リンク旅行速度 区間所要時間 断面交通流 1. 道路を選択 2. 期間を選択 完成! EMRと比べて 80%コスト削減! EMRで実現するにはコスト特大
©NAVITIME JAPAN 高速な分析サイクルを実現した技術 扱いやすいWebデザイン、豊富な交通分析パターンで誰でも簡単に 設定項目は最低限に、誰でも簡単に扱えるデザイン ナビタイムの分析ノウハウで、マクロな分析もミクロな分析も リンク旅行速度で データを俯瞰的に眺め、 断面交通流、区間所要時間で 詳細に分析できます。
Webシステム 誰でも扱いやすいデザイン 豊富な交通分析ノウハウ リンク旅行速度 区間所要時間 断面交通流 1. 道路を選択 2. 期間を選択 完成! 1. 道路を選択 2. 期間を選択 完成! … 必要な時に必要なリソースを確保 分析システム 集計規模に合わせてリソースを調整 リンク旅行速度 区間所要時間 断面交通流 micro macro
©NAVITIME JAPAN 相性の良いAthenaとWebシステム 道路プロファイラーは「誰でも」「簡単に」交通ビッグデータを扱えます AthenaとWeb UIの組み合わせが分析サイクルを実現する 仮説検証に専念できる環境が実現し、 最も時間のかかる「集計」もAthenaによって超高速化。 Athenaによる 高速分析システム
ナビタイムの 分析ノウハウ 扱いやすい Webシステム 仮説 検証 モデリ ング 集計 可視化
©NAVITIME JAPAN 今後の展望 分析サイクルをさらに高速化、より使いやすく 誰でも簡単に分析できるシステムが作れたのは Athenaの高速分析技術があったからこそ。 弊社のデータをより多くの方に触ってもらえるよう、 システムを改善していきます。 道路事業者だけでなくマーケティングや広告戦略にも どこからきてどこにいくのかを分析できる断面交通流では
対象の道路を通過するユーザと相関の深いエリアが見えてきます マーケティングや広告業界にも使っていただける 機能も提供していきます。 仮説 検証 モデリ ング 集計 可視化
©NAVITIME JAPAN エンジニア募集中!! ・サービス開発エンジニア ・スマートフォン向けアプリ開発エンジニア(iOS/Android) ・WEBエンジニア ・アルゴリズム開発エンジニア ・地図・ナビゲーション開発エンジニア ・システムエンジニア(エンジンライセンス) ・ネットワーク・インフラエンジニア
・デザイナー(UI/UX/web/アプリケーション/グラフィック) 自社開発でやってみたい方、ぜひご連絡ください。 http://recruit.navitime.co.jp/recruit/career.html
©NAVITIME JAPAN ご清聴ありがとうございました