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

Logging infrastructure for CDN

Logging infrastructure for CDN

5c4aa56e9054db3fbbf0fd18cbc841d1?s=128

suzuki_yosuke

June 10, 2019
Tweet

Transcript

  1. Money Forward,Inc. 2019/6/10 マネーフォワードにおける CDN ログ基盤 BigQueryを用いたCDNのアクセスデータ分析 Yosuke Suzuki

  2. Introduction 2 Yosuke Suzuki  Money Forward ,Inc. CTO室 • Career

    ◦ 2005~2008 Fujitsu FIP, Inc. ◦ 2008~2014 Simplex Technology, Inc. ◦ 2015~2016 American Family Life Assurance Company of  Columbus( Aflac ) ◦ 2017.01~2018.05 Money Forward, Inc. ◦ 2018.06~2019.04 Money Forward Financial, Inc ◦ 2019.05~ Money Forward, Inc. • SNS ◦ @syou1024(twitter) © Money Forward,Inc.
  3. マネーフォワードのご紹介 3

  4. Mission/Vision/Value 個人のお金の悩みや不安の解消、事業者の経営改善に貢献し、 日本でNo.1の「お金のプラットフォーム」になることを目指しています。 4 「お金」は、人生においてツールでしかありません。 しかし「お金」とは、自身と家族の身を守るため、また夢を実現するために必要不可欠な存在でもあります。私たちは「お金 と前向きに向き合い、可能性を広げることができる」サービスを提供することにより、ユーザーの人生を飛躍的に豊かにす ることで、より良い社会創りに貢献していきます。

  5. 4つの事業領域 5 すべての人生を、 便利で豊かにする。 ビジネスの成長を加速させる。 パートナーと共に、 新たな金融サービスを創出する。 お金をいい方向へと動かす。 記帳代行自動化サービス クラウド経営分析ソフト

    くらしの経済メディア 自動家計簿・資産管理サービス 金融商品の比較・申し込みサイト 自動貯金アプリ ライフプラン診断 クーポンアプリ for ◦◦ 金融機関お客様向け自動家計簿・ 資産管理サービス for ◦◦ 金融機関お客様向けクラウドサービス デジタル通帳 金融機関お客様向け通帳アプリ MF Unit 金融機関のアプリへの 一部機能提供 企業間後払い決済サービス ブロックチェーン・仮想通貨関連事業 AI融資審査モデルの開発 バックオフィス向け 業務効率化ソリューション お金を前へ。人生をもっと前へ。
  6. 話すこと、持ち帰って頂きたいこと © Money Forward,Inc. 6 話すこと • Money ForwardにおけるCDN要件 •

    なぜfastlyなのか? • BigQueryを用いたログ基盤構成 • なぜBigQueryなのか? 持ち帰って頂きたいこと • CDNを安全に導入/運用するための考慮点 • ログ基盤にBigQueryを用いることの理由と考慮
  7. fastlyって何? Money Forwardのfastly利用方法 7

  8. MoneyFowardにおけるfastlyの役割 8 • CDN • ReverseProxy ◦ Headerの書き換えやメンテナス切り替え制御 • LoadBarancer

    ◦ L7のLoadBarancer ◦ RequestPath毎のBackEndを振り分け • TLS 終端(fastly=>BackendもTLSなので終端が正しいかは疑問) ◦ fastlyに証明書管理はお任せ。自動更新。 fastlyでは他にこんな機能。 • WAF ◦ 仮想通貨の取引所で使うつもりだった。。 • ImageOptimizer
  9. なぜfastlyなのか? 9

  10. まず軽くサービスの紹介。 10

  11. PFM(Personal Financial Management)サービス お金の見える化サービス *2018年11月27日、当社サービスの名称を 『マネーフォワード』から『マネーフォワード ME』に変更しました。

  12. 『マネーフォワード ME』の利用実績 出所:2017年03月23日~2017年3月27日、楽天インサイト「現在利用している家計簿アプリ」    調査対象者:20~60代家計簿アプリ利用者685名 堅調な利用者数の成長 家計簿利用率 シェアNo. 1

  13. サービスラインナップ など *2018年11月27日、当社サービスの名称を 『MFクラウドシリーズ』から『マネーフォワード クラウドシリーズ』に変更しました。

  14. 会計事務所との連携 会計事務所が活用しているクラウド会計ソフトとして、「マネーフォワード クラウド会 計・確定申告」がNo.1になりました! (出所)2017年6月 株式会社実務経営サービス「クラウド会計ソフトの導入状況に関するアンケート調査」をもとに当社作成 現在事務所で使っている クラウド会計ソフト 34.9% 顧問先に導入済み

    または導入予定の クラウド会計ソフト 新規の顧問先に 一番勧めたい クラウド会計ソフト 58.8% 44.3% freee 22.7% 弥生 11.6% FX4 その他 freee 10.7% A-SaaS 7.7% その他 弥生 freee 12.4% 弥生 12.4% FX4 その他 No.1 No.1 No.1
  15. サービスの特性 15 • PFMサービスで、750万ユーザー、数千万リクエスト/日。 • 殆どのページはユーザ毎のページ。 • 扱っている情報はセンシティブ。 • ユーザにセキュリティの不安を抱かせるだけでもNG。

    ◦ CDNにありがちな障害「他人のキャッシュ見える」なんて起 こしたら会社存続の危機。絶対避ける。 つまり、 CDNに向いていない(と一般に思われる) サービス群。
  16. マネーフォワードに求められる要件 16 CDNを入れて、 • サイトを高速化したい。 • サーバの負荷軽減したい。 • でも無闇にキャッシュさせずに事故は絶対避ける。

  17. fastlyの採用理由 17 1. コンフィグレーションの柔軟性 2. 超高速なキャッシュパージとコンフィグ反映 3. API Firstなサービス  ⇨これら全てが最重要

  18. コンフィグレーションの柔軟性 18 • fastlyのバックエンドはvarnish。 • VCL(varnish configuration Langege)で柔軟に定義可能。 • キャッシュ条件を柔軟に定義できる。

    • 例えば、こんな感じ。 a. 特定の拡張子(.jpg,.gif,.css等)はキャッシュ b. 特定のURI(/image等)はキャッシュ c. 特定のheader(Surrogate-age)設定がある場合はキャッ シュ d. それ以外はキャッシュしない • 意図しないキャッシュを無くし、事故を避ける。 • 条件が厳しいことで、安心してアプリ開発できる。
  19. 超高速なキャッシュパージとコンフィグ反映 19 • 誤ったキャッシュが出来てしまった場合に、素早く削除できる、 素早く設定を変更できることが大切。 • 一般にCDNのキャッシュ削除、コンフィグ伝搬は時間がかか る。 ◦ 裏には世界各国のエッジサーバがある。

    • fastlyはキャッシュ削除、コンフィグ伝搬が圧倒的に速い。 キャッシュ削除 コンフィグ伝搬 他社事例 A社①90%に対して5秒で、全体には1分 A社②去年5月から5秒になった。 (どちらも部分パージ。これでも相当早くなった) 十数分かかる。 fastly 部分パージなら150ミリ秒 (全キャッシュパージでも 10秒程度。一工夫する と、全キャッシュパージも 150ミリ秒) 数秒〜十数秒
  20. API Firstのサービス 20 • APIファーストの開発なので、全ての変更がAPIで可能。 • つまり、全ての設定をコード化&自動化できる。 • マネフォではこのような構成 •

    Chatbotを使って、Slackからデプロイやロールバック、キャッ シュ削除なんてことも実装可能。
  21. fastlyの採用理由まとめ 21 • コンフィグレーションが超柔軟 ⇨セキュリテイ事故のリスクを低減する。 • キャッシュの削除が超高速 • コンフィグ伝搬が超高速 ⇨事故発生時のリカバリが素早く行える。

    • APIで全ての操作が可能 ⇨上記を自動化する。
  22. 少しだけ話し変わります。 Question. 「キャッシュの条件厳しすぎて、 キャッシュヒット率低くならないか?」 こんな疑問ありませんでしたか? 22

  23. その通り、低いです。 リクエスト全体の9%~30%。 23 マネフォの使い方が特殊で厳し過ぎるだけで、 fastly自体は高キャッシュヒット率が売りのサービスです。 誤解無いように。

  24. 24 でも大丈夫。 トラフィック比率で評価すると変わる。 全体の55%~99%のトラフィックが削減

  25. Answer 「キャッシュヒット率は低くいが、 トラフィックに占める割合は高く、 十分な効果があった」 まず、サービスの特性を見極めること大事! 25

  26. fastlyのログ基盤構成 26

  27. ログ基盤構成(BigQueryを用いた一般的な構成) © Money Forward,Inc. 27 • fastlyのインテグレーションで簡単に設定可能 • BigQueryでクエリを実行してログ参照

  28. ログ基盤構成(マネーフォワードの構成) © Money Forward,Inc. 28 ポイント 1. コスト削減(本当にリアルタイムが必要か?) a. BigQueryのStreaming

    Insertを避ける($0.010 /200MB) b. GCSを介して、5分に1度のバッチ処理 2. Datastdioによるログの可視化
  29. なぜBigQueryなのか? 29

  30. BigQueryの採用理由 30 1. 大量データに対する高速クエリが必要だった 2. DataStudioで簡易にBI提供が可能だった 3. 厳格なユーザアクセス制御が出来る

  31. 大量データに対する高速クエリ • CDNのアクセスログは大容量データ ◦ 数千万レコード/日、数十億レコード/月 • 大量のデータに素早くログを集計する必要があった。 • BigQuery遅くとも十数秒で欲しい情報を取り出せる。 ◦

    慣れたSQL構文で必要なログを抽出出来る。 ◦ かつ、それを現実的な速度で実現できる。 • こんなユースケース ◦ ユーザからの依頼で調査のためのログを抽出する。 ◦ DDOS攻撃を受けている可能性。大量アクセスのIPアドレ スも簡単に集計し、ランキング化。攻撃者を見つけられる。 31
  32. DataStudioで簡易なBI提供 32 • BigQueryのデータはDataStudioというサービスを使って簡 易にビジュアライズできます。 • しかもDataStudio自体は無償。 • DataStudioもGoogleのサービスです。 ◦

    BigQueryとの連携簡単。 ◦ 初心者でも簡単にビジュアライズできます。 ◦ 後で説明する『厳格なアクセス制御』はこのサービスに も適用されます。 • 次ページからはビジュアライズの事例をご紹介します。
  33. 国別リクエスト数。海外からも使ってくれてる。 © Money Forward,Inc. 33

  34. クライアント別リクエスト数 34

  35. 厳格なユーザアクセス制御 • G Suiteの認証基盤を利用。 • G Suite上の個人アカウントや組織に権限を付与することで『権限を持つ人』に『必 要な権限』のみを付与。 • G

    Suiteを使うことで二要素認証もただの設定項目1つ。より認証を厳格化。 • GCPコンソールから権限追加も容易。 ◦ 『必要な時』にのみ権限付与ができる。 • これにより『権限を持つ人』が『必要な時』に『必要な権限』のみを利用できる 35
  36. +α 金融サービスの為の更なるセキュリティ 36 • G Suiteだけだと金融のサービスレベルだと1点弱点ある。 • 権限がある人は『何処から』でもアクセスできる。 • AzureADからSSOする事で、『何処から』も制限可能。

    • これにより、『権限を持つ人』が『必要な時』に『許可をされた場所』からのみ 『必要な権限』のみ利用できる。
  37. BigQueryの採用理由まとめ 37 • 大量データに対する高速クエリが必要。 ⇨BigQueryだからこそ、大量データに対して現実的な速度で必 要な情報が取り出せる。 • DataStudioで簡易にBI提供が可能。 • 厳格なユーザアクセス制御が出来る

    ⇨Gsuiteを利用して、『権限を持つ人』が『必要な時』に『必要な 権限』(+『許可された場所』から)のみ利用可能
  38. まとめ © Money Forward,Inc. 38 • fastlyを使うと安全にCDNを活用できる。 ◦ 適切に制限をかけられることは大事。 ◦

    もしもの時のリカバリ速度も大事。 ◦ サービスの特性を見極めることも大事。 • ログ基盤には、BigQueryがおすすめ。 ◦ 大量データの処理や可視化が可能 ◦ G Suiteを利用して、厳格にアクセス管理を行える
  39. 最後に一つだけ。 © Money Forward,Inc. 39 • 適切に設計すれば、クラウドは高度なセキュリティを実現でき ます。 • クラウドはセキュリティが心配という感覚だけで、使わないのは

    勿体無い。 • Googleの最新のTechnologyを活用する事で、ユーザに提供 できる価値があります。 • クラウドの力を借りて、『よりユーザ価値が高い』金融サービス を『より早く』一緒に作っていきましょう。
  40. クラウド大好き!全てのインフラをコード化してやる! そんな仲間を募集しています。 ご静聴ありがとうございました! この後の懇親会、ぜひお声掛け下さい。 40 マネーフォワード  https://de.wantedly.com/companies/moneyforward