Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

なぜfastlyなのか? 9

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

会計事務所との連携 会計事務所が活用しているクラウド会計ソフトとして、「マネーフォワード クラウド会 計・確定申告」が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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

fastlyのログ基盤構成 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

なぜBigQueryなのか? 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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