Amazon Aurora 移行 ~ マガシークの変 ~ 2017/7/5 システム開発本部システム開発部藤本忠
自己紹介 氏名 : 藤本忠 ( ふじもとただし ) 所属 : システム開発本部システム開発部社歴 :2012 年 4 月 ~ 担当 : サーバ ネットワークの設計 構築 運用保守サイトリニューアル データセンター移行などを経験関心 : クラウド全般 IoT データ分析基盤趣味 : テニス 錦織圭 1
マガシークについて 事業内容 インターネットを活用した婦人服 紳士服などの販売 主力 4 事業 設立 2003 年 4 月 1 日 OUTLET 事業 従業員数 150 名 (2017 年 3 月 31 日現在 ) 男女比 4:6 売上高 181 億円 (2017 年 3 月期 ) 本社 / 東京都千代田区三番町 3-8 泉館三番町ビル 3F MAGASEEK 事業 事業所 magaco/ 神奈川県座間市広野台 2 丁目 10-8 プロロジスパーク座間 2 3F magaco とは当社物流センターの愛称 EC ソリューション事業 dfashion 事業 取扱いブランド数 約 2000 ブランド 2
マガシーク事業 メンズからレディス ドメスティックからインポートブランドまで幅広い商材を揃え 独自のレコメンドシステムで使えば使うほどお客様の好みに合った商品を提案する 自分のためのセレクトショップ をコンセプトにした総合ファッションECサイトを運営しています http://www.magaseek.com/ 3
アウトレットピーク事業 メンズからレディスまで人気ブランドの旬の商品を24 時間 365 日オフプライスで手に入れることができる国内最大級のアウトレットファッションECサイトを運営しています 良質な商品をリーズナブルに提供するというコンセプトのもと 商品のセレクトから配送まで高いクオリティのサービスを提供しています http://www.outletpeak.com/ 4
d fashion 事業 NTTドコモが運営する d マーケット 内のファッション通販サイト マガシークとドコモの共同運営で ドコモポイントが使えたり商品代金を月々の携帯電話料金と一緒にお支払いいただけたりと d fashion ならではの利便性が特長です ドコモだけでなく 各社スマートフォン タブレット PCからのアクセスが可能となり ますます便利にご利用いただけます http://fashion.dmkt-sp.jp/ 5
EC ソリューション事業 アパレルメーカーや百貨店のオフィシャル ECサイト運営業務を受託するサービスを展開しています 当社が蓄積してきたEC 運営のノウハウ インフラを最大限活用しサイトの構築から運営 プロモーションまで トータルなワンストップサービスを行っています 6
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 7
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 8
移行理由 事業要因年 2 回のセールがアクセスのピークセール期はアプリサーバをクラウドでスケールシステム全体のスケーラビリティを確保したい 今のオンプレ環境では限界 9
移行理由 システム要因 ハードウェア ソフトウェア老朽化 システムのレガシー化 スピード感ださないと 変えられない 10
移行理由 外部要因 2015 年 10 月東京リージョンで Amazon Aurora 利用可能に 今やるしかない 11
ゴール設定 RDB は Oracle RAC から Amazon Aurora システム全体をオンプレ環境から クラウド環境 外部連携インタフェースにより移行できない一部環境は除く 12
ゴール設定 ( 結果 ) RDB は Oracle RAC から Amazon Aurora システム全体をオンプレ環境から クラウド環境 外部連携インタフェースにより移行できない一部環境は除く 13
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 14
接続アーキテクチャ 背景弊社のPHP 基盤に MariaDB Connector/Javaドライバーのような Amazon Auroraのフェイルオーバーに対応できる機能なし 15
接続アーキテクチャ 要件 Auroraのフェイルオーバーに即時反応 レプリカのスケール管理が容易 利用システムごとにレプリカノードを分別 read-write splitの実現 16
接続アーキテクチャ 検討案 DBロードバランサの導入 Cluster Endpoint, Reader Endpointの利用 アプリケーション独自基盤で実装 17
DB ロードバランサの導入 read-write split 機能に期待したが マスタとレプリカの振り分けが 意図した挙動にならなかった 18
Cluster Endpoint, Reader Endpoint の利用 Cluster Endpoint フェイルオーバー時 30 秒程度の 書き込み不能時間が発生 19
Cluster Endpoint, Reader Endpoint の利用 Reader Endpoint レプリカ全体のラウンドロビンな為 目的や利用システムに応じた振り分け制御ができない 20
アプリケーション独自基盤で実装 MariaDB Connector/Javaドライバアーキテクチャを参考独自基盤で開発要件どおりの制御やオプションを実現 21
接続アーキテクチャ 構成イメージ フロントエンドシステム バックエンドシステム システム管理者 Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2 Instance Endpoint Instance Endpoint Instance Endpoint Instance Endpoint Instance Endpoint Instance Endpoint RDS DB instance RDS DB instance read replica RDS DB instance read replica RDS DB instance read replica RDS DB instance read replica RDS DB instance read replica 22
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 23
DMS によるデータ移行 データ移行環境 DMS レプリケーションタスク Source Endpoint Target Endpoint Oracle RAC AWS Direct Connect DMS レプリケーションインスタンス Amazon Aurora Master Amazon Aurora Replica Magaseek data center 24
DMS によるデータ移行 DMS レプリケーションタスクの分割 基幹システム全体に影響するデータ移行 プレ移行 DMS レプリケーションタスク ( 一括移行 -> 差分移行 ) 差分移行期間 : 約 1 週間 移行当日 サービス停止 ( オンプレ ) データコンバート サービス切替 (AWS) 25
DMS によるデータ移行 DMS レプリケーションタスクの分割 個別系システムのデータ移行 プレ移行 DMS レプリケーションタスク ( 一括移行 -> 差分移行 ) 差分移行期間 : 約 1 週間 移行当日 サービス切替 (AWS) 26
DMS によるデータ移行 こんなこともやりました プレ移行 DMS レプリケーションタスク ( 一括移行 -> 差分移行 ) 差分移行期間 : 約 1 週間 移行当日 サービス停止 ( オンプレ ) データコンバート サービス切替 (AWS) サービス切替 (AWS) レプリカのみ使用 ラグが許容されるサービスを事前切替 27
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 28
トラブル事例 運用開始直後から デッドロックの発生 ロックタイムアウトが頻発 29
トラブル事例 ( 原因と対応 ) 原因 DELETE 処理やSELECT FOR UPDATE 処理におけるロック範囲が不適切で競合が発生 MySQL(InnoDB) 独自のロック機構 対応 - インデックス追加 SQL チューニング - 一時表の利用 30
本日のプログラム 移行概要開発フェーズ移行フェーズ運用フェーズ 移行理由ゴール設定接続アーキテクチャ DMSによるデータ移行トラブル事例 最後に 31
最後に Amazon Aurora の性能 E コマースサイトのレスポンスが向上 - マルチ AZ にもかかわらず 約 100~200 ミリ秒の向上 バッチ処理の性能が大幅に向上 - 全体的に約 3 倍のパフォーマンス向上 32
最後に AWS のサービスを組みあわせることで AWS Direct Connect AWS DMS Amazon RDS 検証やリハーサルが簡単に 実施可能 33
最後に 別のワークに集中できる アプリーション 移行 問題解決 タスク マネジメント 34
最後に 移行当日タスクの PERT 図 35
最後に サーバレス アプリケーション 改善 データ分析 基盤 IoT DevOps マイクロサービス 人工知能 36
ご清聴ありがとうございました 只今 エンジニアも募集中です!! http://www.magaseek.co.jp/recruit/ https://en-gage.net/magaseek/ 37