Logging infrastructure for CDN

Logging infrastructure for CDN

5c4aa56e9054db3fbbf0fd18cbc841d1?s=128

suzuki_yosuke

June 10, 2019
Tweet

Transcript

  1. 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.
  2. 5.

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

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

    話すこと、持ち帰って頂きたいこと © Money Forward,Inc. 6 話すこと • Money ForwardにおけるCDN要件 •

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

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

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

    サービスの特性 15 • PFMサービスで、750万ユーザー、数千万リクエスト/日。 • 殆どのページはユーザ毎のページ。 • 扱っている情報はセンシティブ。 • ユーザにセキュリティの不安を抱かせるだけでもNG。

    ◦ CDNにありがちな障害「他人のキャッシュ見える」なんて起 こしたら会社存続の危機。絶対避ける。 つまり、 CDNに向いていない(と一般に思われる) サービス群。
  6. 18.

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

    • 例えば、こんな感じ。 a. 特定の拡張子(.jpg,.gif,.css等)はキャッシュ b. 特定のURI(/image等)はキャッシュ c. 特定のheader(Surrogate-age)設定がある場合はキャッ シュ d. それ以外はキャッシュしない • 意図しないキャッシュを無くし、事故を避ける。 • 条件が厳しいことで、安心してアプリ開発できる。
  7. 19.

    超高速なキャッシュパージとコンフィグ反映 19 • 誤ったキャッシュが出来てしまった場合に、素早く削除できる、 素早く設定を変更できることが大切。 • 一般にCDNのキャッシュ削除、コンフィグ伝搬は時間がかか る。 ◦ 裏には世界各国のエッジサーバがある。

    • fastlyはキャッシュ削除、コンフィグ伝搬が圧倒的に速い。 キャッシュ削除 コンフィグ伝搬 他社事例 A社①90%に対して5秒で、全体には1分 A社②去年5月から5秒になった。 (どちらも部分パージ。これでも相当早くなった) 十数分かかる。 fastly 部分パージなら150ミリ秒 (全キャッシュパージでも 10秒程度。一工夫する と、全キャッシュパージも 150ミリ秒) 数秒〜十数秒
  8. 28.

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

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

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

    慣れたSQL構文で必要なログを抽出出来る。 ◦ かつ、それを現実的な速度で実現できる。 • こんなユースケース ◦ ユーザからの依頼で調査のためのログを抽出する。 ◦ DDOS攻撃を受けている可能性。大量アクセスのIPアドレ スも簡単に集計し、ランキング化。攻撃者を見つけられる。 31
  10. 32.

    DataStudioで簡易なBI提供 32 • BigQueryのデータはDataStudioというサービスを使って簡 易にビジュアライズできます。 • しかもDataStudio自体は無償。 • DataStudioもGoogleのサービスです。 ◦

    BigQueryとの連携簡単。 ◦ 初心者でも簡単にビジュアライズできます。 ◦ 後で説明する『厳格なアクセス制御』はこのサービスに も適用されます。 • 次ページからはビジュアライズの事例をご紹介します。
  11. 35.

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

    Suiteを使うことで二要素認証もただの設定項目1つ。より認証を厳格化。 • GCPコンソールから権限追加も容易。 ◦ 『必要な時』にのみ権限付与ができる。 • これにより『権限を持つ人』が『必要な時』に『必要な権限』のみを利用できる 35
  12. 38.

    まとめ © Money Forward,Inc. 38 • fastlyを使うと安全にCDNを活用できる。 ◦ 適切に制限をかけられることは大事。 ◦

    もしもの時のリカバリ速度も大事。 ◦ サービスの特性を見極めることも大事。 • ログ基盤には、BigQueryがおすすめ。 ◦ 大量データの処理や可視化が可能 ◦ G Suiteを利用して、厳格にアクセス管理を行える
  13. 39.

    最後に一つだけ。 © Money Forward,Inc. 39 • 適切に設計すれば、クラウドは高度なセキュリティを実現でき ます。 • クラウドはセキュリティが心配という感覚だけで、使わないのは

    勿体無い。 • Googleの最新のTechnologyを活用する事で、ユーザに提供 できる価値があります。 • クラウドの力を借りて、『よりユーザ価値が高い』金融サービス を『より早く』一緒に作っていきましょう。