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
78
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
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
14k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
260
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
88
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.3k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
220
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.2k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.2k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.2k
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
Lexical Analysis
shigashiyama
1
150
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
110
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
110
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
180
The Rise of LLMOps
asei
7
1.7k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Lambdaと地方とコミュニティ
miu_crescent
2
370
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Statistics for Hackers
jakevdp
796
220k
Making Projects Easy
brettharned
115
5.9k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Designing for Performance
lara
604
68k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Rails Girls Zürich Keynote
gr2m
94
13k
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 ご清聴ありがとうございました