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

Logging infrastructure for CDN

Logging infrastructure for CDN

suzuki_yosuke

June 10, 2019
Tweet

More Decks by suzuki_yosuke

Other Decks in Technology

Transcript

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

    View Slide

  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.

    View Slide

  3. マネーフォワードのご紹介
    3

    View Slide

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

    View Slide

  5. 4つの事業領域 5
    すべての人生を、
    便利で豊かにする。
    ビジネスの成長を加速させる。
    パートナーと共に、
    新たな金融サービスを創出する。
    お金をいい方向へと動かす。
    記帳代行自動化サービス
    クラウド経営分析ソフト
    くらしの経済メディア
    自動家計簿・資産管理サービス
    金融商品の比較・申し込みサイト
    自動貯金アプリ
    ライフプラン診断
    クーポンアプリ
    for ○○
    金融機関お客様向け自動家計簿・
    資産管理サービス
    for ○○
    金融機関お客様向けクラウドサービス
    デジタル通帳
    金融機関お客様向け通帳アプリ
    MF Unit
    金融機関のアプリへの
    一部機能提供
    企業間後払い決済サービス
    ブロックチェーン・仮想通貨関連事業
    AI融資審査モデルの開発
    バックオフィス向け
    業務効率化ソリューション
    お金を前へ。人生をもっと前へ。

    View Slide

  6. 話すこと、持ち帰って頂きたいこと
    © Money Forward,Inc.
    6
    話すこと
    ● Money ForwardにおけるCDN要件
    ● なぜfastlyなのか?
    ● BigQueryを用いたログ基盤構成
    ● なぜBigQueryなのか?
    持ち帰って頂きたいこと
    ● CDNを安全に導入/運用するための考慮点
    ● ログ基盤にBigQueryを用いることの理由と考慮

    View Slide

  7. fastlyって何?
    Money Forwardのfastly利用方法
    7

    View Slide

  8. MoneyFowardにおけるfastlyの役割
    8
    ● CDN
    ● ReverseProxy
    ○ Headerの書き換えやメンテナス切り替え制御
    ● LoadBarancer
    ○ L7のLoadBarancer
    ○ RequestPath毎のBackEndを振り分け
    ● TLS 終端(fastly=>BackendもTLSなので終端が正しいかは疑問)
    ○ fastlyに証明書管理はお任せ。自動更新。
    fastlyでは他にこんな機能。
    ● WAF
    ○ 仮想通貨の取引所で使うつもりだった。。
    ● ImageOptimizer

    View Slide

  9. なぜfastlyなのか?
    9

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  15. サービスの特性
    15
    ● PFMサービスで、750万ユーザー、数千万リクエスト/日。
    ● 殆どのページはユーザ毎のページ。
    ● 扱っている情報はセンシティブ。
    ● ユーザにセキュリティの不安を抱かせるだけでもNG。
    ○ CDNにありがちな障害「他人のキャッシュ見える」なんて起
    こしたら会社存続の危機。絶対避ける。
    つまり、
    CDNに向いていない(と一般に思われる)
    サービス群。

    View Slide

  16. マネーフォワードに求められる要件
    16
    CDNを入れて、
    ● サイトを高速化したい。
    ● サーバの負荷軽減したい。
    ● でも無闇にキャッシュさせずに事故は絶対避ける。

    View Slide

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

    View Slide

  18. コンフィグレーションの柔軟性
    18
    ● fastlyのバックエンドはvarnish。
    ● VCL(varnish configuration Langege)で柔軟に定義可能。
    ● キャッシュ条件を柔軟に定義できる。
    ● 例えば、こんな感じ。
    a. 特定の拡張子(.jpg,.gif,.css等)はキャッシュ
    b. 特定のURI(/image等)はキャッシュ
    c. 特定のheader(Surrogate-age)設定がある場合はキャッ
    シュ
    d. それ以外はキャッシュしない
    ● 意図しないキャッシュを無くし、事故を避ける。
    ● 条件が厳しいことで、安心してアプリ開発できる。

    View Slide

  19. 超高速なキャッシュパージとコンフィグ反映
    19
    ● 誤ったキャッシュが出来てしまった場合に、素早く削除できる、
    素早く設定を変更できることが大切。
    ● 一般にCDNのキャッシュ削除、コンフィグ伝搬は時間がかか
    る。
    ○ 裏には世界各国のエッジサーバがある。
    ● fastlyはキャッシュ削除、コンフィグ伝搬が圧倒的に速い。
    キャッシュ削除 コンフィグ伝搬
    他社事例 A社①90%に対して5秒で、全体には1分
    A社②去年5月から5秒になった。
    (どちらも部分パージ。これでも相当早くなった)
    十数分かかる。
    fastly 部分パージなら150ミリ秒
    (全キャッシュパージでも 10秒程度。一工夫する
    と、全キャッシュパージも 150ミリ秒)
    数秒〜十数秒

    View Slide

  20. API Firstのサービス
    20
    ● APIファーストの開発なので、全ての変更がAPIで可能。
    ● つまり、全ての設定をコード化&自動化できる。
    ● マネフォではこのような構成
    ● Chatbotを使って、Slackからデプロイやロールバック、キャッ
    シュ削除なんてことも実装可能。

    View Slide

  21. fastlyの採用理由まとめ
    21
    ● コンフィグレーションが超柔軟
    ⇨セキュリテイ事故のリスクを低減する。
    ● キャッシュの削除が超高速
    ● コンフィグ伝搬が超高速
    ⇨事故発生時のリカバリが素早く行える。
    ● APIで全ての操作が可能
    ⇨上記を自動化する。

    View Slide

  22. 少しだけ話し変わります。
    Question.
    「キャッシュの条件厳しすぎて、
    キャッシュヒット率低くならないか?」
    こんな疑問ありませんでしたか?
    22

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. fastlyのログ基盤構成
    26

    View Slide

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

    View Slide

  28. ログ基盤構成(マネーフォワードの構成)
    © Money Forward,Inc.
    28
    ポイント
    1. コスト削減(本当にリアルタイムが必要か?)
    a. BigQueryのStreaming Insertを避ける($0.010 /200MB)
    b. GCSを介して、5分に1度のバッチ処理
    2. Datastdioによるログの可視化

    View Slide

  29. なぜBigQueryなのか?
    29

    View Slide

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

    View Slide

  31. 大量データに対する高速クエリ
    ● CDNのアクセスログは大容量データ
    ○ 数千万レコード/日、数十億レコード/月
    ● 大量のデータに素早くログを集計する必要があった。
    ● BigQuery遅くとも十数秒で欲しい情報を取り出せる。
    ○ 慣れたSQL構文で必要なログを抽出出来る。
    ○ かつ、それを現実的な速度で実現できる。
    ● こんなユースケース
    ○ ユーザからの依頼で調査のためのログを抽出する。
    ○ DDOS攻撃を受けている可能性。大量アクセスのIPアドレ
    スも簡単に集計し、ランキング化。攻撃者を見つけられる。
    31

    View Slide

  32. DataStudioで簡易なBI提供
    32
    ● BigQueryのデータはDataStudioというサービスを使って簡
    易にビジュアライズできます。
    ● しかもDataStudio自体は無償。
    ● DataStudioもGoogleのサービスです。
    ○ BigQueryとの連携簡単。
    ○ 初心者でも簡単にビジュアライズできます。
    ○ 後で説明する『厳格なアクセス制御』はこのサービスに
    も適用されます。
    ● 次ページからはビジュアライズの事例をご紹介します。

    View Slide

  33. 国別リクエスト数。海外からも使ってくれてる。
    © Money Forward,Inc.
    33

    View Slide

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

    View Slide

  35. 厳格なユーザアクセス制御
    ● G Suiteの認証基盤を利用。
    ● G Suite上の個人アカウントや組織に権限を付与することで『権限を持つ人』に『必
    要な権限』のみを付与。
    ● G Suiteを使うことで二要素認証もただの設定項目1つ。より認証を厳格化。
    ● GCPコンソールから権限追加も容易。
    ○ 『必要な時』にのみ権限付与ができる。
    ● これにより『権限を持つ人』が『必要な時』に『必要な権限』のみを利用できる
    35

    View Slide

  36. +α 金融サービスの為の更なるセキュリティ
    36
    ● G Suiteだけだと金融のサービスレベルだと1点弱点ある。
    ● 権限がある人は『何処から』でもアクセスできる。
    ● AzureADからSSOする事で、『何処から』も制限可能。
    ● これにより、『権限を持つ人』が『必要な時』に『許可をされた場所』からのみ
    『必要な権限』のみ利用できる。

    View Slide

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

    View Slide

  38. まとめ
    © Money Forward,Inc.
    38
    ● fastlyを使うと安全にCDNを活用できる。
    ○ 適切に制限をかけられることは大事。
    ○ もしもの時のリカバリ速度も大事。
    ○ サービスの特性を見極めることも大事。
    ● ログ基盤には、BigQueryがおすすめ。
    ○ 大量データの処理や可視化が可能
    ○ G Suiteを利用して、厳格にアクセス管理を行える

    View Slide

  39. 最後に一つだけ。
    © Money Forward,Inc.
    39
    ● 適切に設計すれば、クラウドは高度なセキュリティを実現でき
    ます。
    ● クラウドはセキュリティが心配という感覚だけで、使わないのは
    勿体無い。
    ● Googleの最新のTechnologyを活用する事で、ユーザに提供
    できる価値があります。
    ● クラウドの力を借りて、『よりユーザ価値が高い』金融サービス
    を『より早く』一緒に作っていきましょう。

    View Slide

  40. クラウド大好き!全てのインフラをコード化してやる!
    そんな仲間を募集しています。
    ご静聴ありがとうございました!
    この後の懇親会、ぜひお声掛け下さい。
    40
    マネーフォワード  https://de.wantedly.com/companies/moneyforward

    View Slide