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

アクセス数もクリック数も急激に増加!?メール配信サービスの謎の怪奇現象

892b1651a22fcf0d1170979920a58e8e?s=47 pbtnhan
September 18, 2019

 アクセス数もクリック数も急激に増加!?メール配信サービスの謎の怪奇現象

ある日、配配メールのサポート窓口に「クリック数の計測値がありえないほど増えている」という問い合わせが来ました。
また、別の日には運用チームが「通常では考えられないほどのアクセス集中」を検知しました。
これらの謎の現象に立ち向かった配配メール開発チームのちょっと怖いトラブルエピソードをお伝えします。

892b1651a22fcf0d1170979920a58e8e?s=128

pbtnhan

September 18, 2019
Tweet

Transcript

  1. #RAKUSMeetup ©2019 RAKUS Co., Ltd. ©2019 RAKUS Co., Ltd. アクセス数もクリック数も急激に

    増加!?メール配信サービスの謎 の怪奇現象 開発統括部 第二開発部 マーケティング・クラウド開発課 Pham Bui The Nhan 1
  2. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 自己紹介 • Pham Bui The

    Nhan 34才 (ファム ブィ テー ニャン) • 2014/10にラクスベトナムに入社 • 2018/08に日本へ出向 • 趣味 ・サッカー(見るだけ) ・旅行/読書/映画 2
  3. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 自己紹介 3 ラクスベトナムはこう いうふうなところです。

  4. #RAKUSMeetup ©2019 RAKUS Co., Ltd. とは • メルマガ配信・一斉メール配信サービス 「もっと効果的に。もっとラクに。」 グループ配信

    一斉配信 セグメント配信 ステップメール 自動送信メール 4
  5. #RAKUSMeetup ©2019 RAKUS Co., Ltd. どの機能でトラブルが発生したのか 効果測定機能で発 生したトラブルを ご紹介します! 5

  6. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 効果測定とは? 6

  7. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 効果測定とは? 配配メールはメールマーケティングサービスなので、 効果測定は重要なKPIになります。 • 配信成功数/失敗数

    • クリック率(CTR) • 開封率 7
  8. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 効果測定とは? 8

  9. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 謎の怪奇現象 9

  10. #RAKUSMeetup ©2019 RAKUS Co., Ltd. トラブル発生!! • ある日、運用チームが「通常では考えられないほどのアク セス集中」を検知しました。 •

    更に配配メールのサポート窓口に「クリック数の計測値が ありえないほど増えている」という問い合わせが来ました。 10
  11. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 何の問題があるかな・・・ クリック数値が 正しくない?? 11

  12. #RAKUSMeetup ©2019 RAKUS Co., Ltd. クリック/開封カウントの構造 xxxx@aaa.co.jp xxxx@bbb.ac.jp aaa.co.jp bbb.ac.jp

    cc.org.jp 111.111.11.11 222.22.22.22 33.33.33.3 12 アクセスIP 111.111.11.11 222.22.22.22 33.33.33.3 xxxx@cc.org.jp メール受信側でのメール開封/リンク クリックのイベントで配配メール側 に自動反映(アクセス)される。
  13. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 原因調査 •まずはApacheのアクセスログを調査してみると ・短期間に大量アクセスが来た ・1秒以内に連続アクセス 1秒に数十回以

    上のクリック/ 開封がある?? 13
  14. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 原因調査 1秒間に数十回連続クリック/開封は不可能… 機械的なアクセスによって 正確な開封数/クリック数が取得できていない 14

  15. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 機械的にアクセスする仕組みの例① xxxx@aaa.co.jp xxxx@bbb.ac.jp xxxx@ccc.org.jp aaa.co.jp

    bbb.ac.jp cc.org.jp 111.111.11.11 222.22.22.22 33.33.33.3 xxx.xxx.xxx.xxx 15 アクセスIP xxx.xxx.xxx.xxx 33.33.33.3 対象サーバへ来る前に、 別サーバで メールが開封/クリック される
  16. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 機械的にアクセスする仕組みの例② yyy.yyy.yyy.yyy xxxx@aaa.co.jp xxxx@bbb.ac.jp xxxx@ccc.org.jp

    aaa.co.jp bbb.ac.jp cc.org.jp 111.111.11.11 222.22.22.22 33.33.33.3 アクセスIP yyy.yyy.yyy.yyy 222.22.22.22 33.33.33.3 ・・・ 16 ツール等によって メールが開封/ク リックされる
  17. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 怪奇現象との戦い 17

  18. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 実施対策 (1) 機械的にアクセスしていると思われる IPアドレスを判別し、 除外対象IPリストを作成。

    18
  19. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 実施対策 (2) 除外対象IPからのアクセスは集計を除外 ・クリック数/開封数にカウントしない ※既にカウントしたクリック数/開封数は再集計して顧客に報告

    19
  20. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 実施対策 cc.org.jp 111.111.11.11 222.22.22.22 33.333.33.3

    yyy.yyy.yyy.yyy xxx.xxx.xxx.xxx 除外対象IPリスト xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy 除外対象IPからのアク セスはクリック/開封 にカウントしない 20 除外するはず アクセス 除外対象IPからの アクセス
  21. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IPリストの作成 ユーザエージェント(UA)で判別 ・ブラウザ以外のUAは除外対象とする ➡ブラウザと同じUAで 機械的にアクセスするケースも見つかった

    ➡ この対策が失敗した。 21
  22. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IPリストの作成 22

  23. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IPリストの作成 クリック/開封のアクセスログ(Apache)を集計 多数のアクセスがあるメールドメインのIPを抽出 ユーザエージェント(UA)情報の収集 ...

    色々なパターンを 組み合わせて作成 ※内部ロジックなので、詳しくお伝えすることはできません。 23
  24. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 追加対策 (3) アクセス集中を回避するため 除外対象IPからのアクセスをリダイレクト •

    PHPプログラムを実行しないため負荷軽減 • 一部のプログラムのみ対応(後述) 24
  25. #RAKUSMeetup ©2019 RAKUS Co., Ltd. Apache Module mod_rewrite RewriteRule ^hoge¥.php$

    /img/fuga.html • 除外対象IPからのアクセスは固定のページを返す • 動的なページを返す必要があるケースは未対応 25 https://httpd.apache.org/docs/current/mod/mod_rewrite.html
  26. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 効果 お客さんからの報告 データが正しくなりました。 26

  27. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 運用の課題 27

  28. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 運用の課題 •しかし… •除外対象IPリストは日々更新しないといけない… 28

  29. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IP作成の運用 ①毎日1回、各サーバか らクリック/開封のアクセ スのみ送信 ※開発でスクリプト作成

    29
  30. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IP作成の運用 除外IPリ スト ②アクセス解析サーバで 毎日、定義した条件で除

    外対象IPリストを作成 ③週次に集計データを働 くDBへデータ登録 ※働くDB:弊社の別サービス 30
  31. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 除外対象IP作成の運用 ④除外対象IPリストの精査 除外対象IPリストの内容を目視で確認 ⑤ 各サーバへ反映

    精査した除外対象IPリストを 設定ファイルに登録し、各サーバへ反映 31
  32. #RAKUSMeetup ©2019 RAKUS Co., Ltd. 今後に向けた検討 •精度向上 • 除外対象IPリストの作成条件を見直して精度を上げる •自動化

    • 運用手順の半自動化を行って更新期間を短縮する •AI化 • 機械的なアクセスの特徴を学習して自動的に除外する 32
  33. #RAKUSMeetup ©2019 RAKUS Co., Ltd. まとめ 33

  34. #RAKUSMeetup ©2019 RAKUS Co., Ltd. まとめ ・メール配信サービスでは想定外のトラブルがよく発生する ➡サービスの外側で起きることは影響を受けやすく制御できない ・トラブル発生により、大変なこと、難しいことがある ➡トラブルによる発見もあって色々勉強になる

    ・運用面は手動の作業があって手間がかかる ➡どんどん自動化したい 34
  35. #RAKUSMeetup ©2019 RAKUS Co., Ltd. ご清聴ありがとうございました。 35