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