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

redash patche at dmm

tannai
September 03, 2019

redash patche at dmm

tannai

September 03, 2019
Tweet

More Decks by tannai

Other Decks in Technology

Transcript

  1. © DMM.com DMM.comにおける Redashパッチ事情 プラットフォーム事業本部ビッグデータ部DREチーム 丹内優紀 1

  2. © DMM.com • 丹内優紀 • 2018年11月 中途入社 • ビッグデータ部DREチーム所属 • データ分析基盤の運用をしてます

    • Redashの運用もやってます! 2 自己紹介
  3. None
  4. © DMM.com DMM.comのRedash運用状況 • 社員1527人中、アカウント保有者547人 • クエリ実行者 266人 4

  5. © DMM.com DMM.comのRedash運用状況 • ダッシュボード数 884 • クエリ数 12370 5

  6. © DMM.com DMM.comのRedash運用状況 • ホスト情報 • CPU 8コア • メモリ

    64GB • disk 60GB • Docker/Portainerを使用 • Redash v4 6
  7. © DMM.com 7 _人人人人人人_ > Redash v4 <  ̄YYYYYY ̄

  8. © DMM.com アップデートを阻むもの、それは・・・ パッチ! 8

  9. © DMM.com 本日の発表の趣旨 Redashの利用が活発になると、新しい要求が出てきます。 環境が急激に変化するDMM.comでは、パッチを当てることで幾つかの要 求に応えてきました。 パッチは必ずしも良いと言えるものではありません。 パッチの裏にある要求を持ち帰って頂けると幸いです。 9

  10. © DMM.com データソースの名前やIDを コメント出力するパッチ 10

  11. None
  12. その数だけ事業部が!!

  13. © DMM.com 背景 • Redashで事業部ごとのクエリ実行状況を把握したい。 • 事業部ごとの消費リソース(特にAthena代)を知りたい。 => 分析環境の管理業務を容易に! 13

  14. © DMM.com パッチの内容(バックエンド) コメント出力部分に追加 14

  15. © DMM.com パッチの結果 クエリにコメントが出力された! 15

  16. © DMM.com パッチの結果 部署ごとの利用金額ダッシュボードができた! 16

  17. © DMM.com クエリ実行時に partition keyを強制するパッチ 17

  18. © DMM.com 背景 データ増えるけどリソース増えないので パーティション指定してほしい! 18

  19. © DMM.com パッチの内容 クエリをパースして正規表現で探す 19

  20. © DMM.com パッチの結果 where句で Partition Key 必須になった! (ついでにlimit句も必須にした) 20

  21. © DMM.com パラメータ付きクエリを viewerも閲覧できるパッチ 21

  22. © DMM.com 背景 • 閲覧権限では、「クエリを編集して実行・保存」ができない。 • 「Fork」もできない • 「パラメータ付きクエリ」はダッシュボードの閲覧すらできない。 =>

    閲覧したい! 22
  23. © DMM.com パッチの内容(フロントエンド) 23 閲覧権限でもクエリ実行ボタンを押せるようにする

  24. © DMM.com パッチの内容(フロントエンド) 閲覧権限ではforkボタンを表示しない 24

  25. © DMM.com パッチの内容(バックエンド) バックエンドで弾かない 25

  26. © DMM.com パッチの結果 26

  27. © DMM.com 人によってテーブルを 出し分けるパッチ 27

  28. © DMM.com 背景 おかねのデータは限られた人だけ見れるようにしたい! 28

  29. © DMM.com 背景補足 今回は横断部署の分析環境についてお話しています。 分析環境から触れられるDBには個人情報が入っていません。 従って、全ての分析者にデータを公開する方針で運営しています。 一方で事業部が独立していて、お金に関わるデータを公開しにくい 場合もあります。 できるだけ横断の分析環境を使って欲しいので、 必要なセキュリティを実装することでデータを入れてもらいます。

    29
  30. © DMM.com パッチの前に • データ基盤のセキュリティは次のような観点で考えられる。 • 認証:アクセスする人物の確認 • 認可:アクセスする権限の確認 •

    監査:アクセスした事実の記録 • RedashのGoogleログイン機能で認証を実現する • データソース毎の機能で認可を実現する 30
  31. © DMM.com パッチの内容 31 Prestoへの認可

  32. © DMM.com パッチの内容(オンプレPresto) • Prestoにテーブルセキュリティ設定を追加 • Redashにスキーマ閲覧制限設定を追加 これらを hive-security.json ファイルで実現する

    32
  33. © DMM.com パッチの内容(オンプレPresto) • Prestoはhiveテーブルを参照する設定にしている。 • その設定は hive-security.json ファイルで行っている。 •

    同じファイルをRedashのpyhiveにもパッチ。 33
  34. © DMM.com 34 これがずっと続く パッチの内容(オンプレPresto)

  35. © DMM.com パッチの内容 35 Athenaへの認可

  36. © DMM.com パッチの内容(Athena) IAMでアクセス可能なテーブルを制御する ※AWS Glueを併用しています 36

  37. © DMM.com パッチの内容(Athena) 部署ごとにできるIAM UserとPolicyの管理が必要 37

  38. © DMM.com パッチを外すには 38

  39. © DMM.com 対応方針 • PRを送る • 諦める(特にUIが関わるもの) • Redash以外で実現する 39

  40. © DMM.com Redash以外でアクセス制御を実現する方法 http://pivotalhd.docs.pivotal.io/docs/knox-gateway-administration-guide.html 40 Hadoopにセキュリティ設定を寄せる

  41. © DMM.com 教訓とまとめ 41

  42. © DMM.com 教訓 • パッチは最後の手段にする。 • 要求を見つけて長期的な計画のもと利用環境を整備する。 • 運用コストをかけてまで実現したいことなのかを考える。 42

  43. © DMM.com まとめ • 様々な立場の人がRedashを使うと、新しい要求が出てきます。 • Redashに限らず、パッチを含め状況の変化に対応しつつ、 システムを運用しやすいものにしていきましょう! 43

  44. © DMM.com 最後に そんなDMMでは一緒に基盤を良くし てくれる人を探しています! https://dmm-corp.com/recruit/359 もちろん分析してくれる人も、 他の職種も募集中です! 44

  45. © DMM.com おしまい