認証情報ハッシュ化(DMM.com)

OVERVIEW

数千万ユーザーの認証情報セキュア化対応を無停止で実施

YEAR 2015

当時2000万~3000万レコードほどの認証情報のセキュア化対応を行った。

こちらのプロジェクトは2年前から実施しようと計画だけは行われていたが、実際に実施するまで持っていくのが難易度やリソース状況的に難しいという状態だった、そのためエンジニアとしてアサインされるメンバーが自分と新卒1年目のもうひとりだけだった。


案件にはリードエンジニアのような立ち位置として Join し、移行計画や設計、実装(テーブルの更新、コンバータの作成、APIにHash化アルゴリズムの追加、チェックツールの作成)、移行対応、問題があった場合のリスクヘッジ、設計、メンバー教育を実施した。

無停止、無障害を達成するために計画としてはデータの2重保持からの参照切り替えを計画したり、現行のユーザー情報に対してはコンバータをクロンとして用意し1ヶ月ほどかけて移行し、そのデータが問題ないかチェックするツールを別で走らせてコンバートが問題ないことを確認するなどした。
また、最終的に参照を切り替えをした際に障害が起こるパターンを事前に洗い出しその対応策を用意するなどサービスダウン時間を極限まで起こさないように準備をした。

最終的には無障害無停止をやりきれた。


大変だったことは、Hash化を行うAPIが乗っているのがオンプレのVMだったのだが、一部のマシーンだけHash値が違う値になる問題がチェックツールで発覚し、そのVMを外す作業を行ったことです。


開発人員

  • バックエンド 2人
  • ディレクター 1人