9
AWS User Group - Japan 第第第 MySQL Multi-master on EC2 第第第第第 第第第第 第第第 第第 第第 stanaka @ hatena.ne.jp twitter: @stanaka

MySQL Multi-master on EC2

Embed Size (px)

Citation preview

Page 1: MySQL Multi-master on EC2

第0回  AWS User Group - Japan  勉強会

MySQL Multi-master on EC2を実現する一つの方法

はてな 田中 慎司

stanaka @ hatena.ne.jptwitter: @stanaka

Page 2: MySQL Multi-master on EC2

自己紹介 ( 株 ) はてな 執行役員

担当領域 システムアーキテクチャ

スケーラビリティ サーバ・ネットワーク サポート

Page 3: MySQL Multi-master on EC2

MySQL Multi-master とは 安いハードで高信頼 マルチマスタ 無停止メンテナンス

マスターDB

マスターDB

アプリケーションサーバ

X

相互にレプリケーション

Page 4: MySQL Multi-master on EC2

MySQL Multi-master のキモ 仮想 IP アドレス

マスターDB

マスターDB

アプリケーションサーバ

X

相互にレプリケーション

10.xx.yy.zz 10.xx.yy.zz

Page 5: MySQL Multi-master on EC2

EC2 上では ?

仮想 IP アドレスが使用できない

/sbin/ip addr add 10.xx.yy.zz/23 dev eth0

Page 6: MySQL Multi-master on EC2

DNS による MySQL Multi-master

FQDN で接続 TTL を短め (10 秒とか ) に設定

マスターDB

マスターDB

アプリケーションサーバ

X

相互にレプリケーション

db.testdomain db.testdomain

$ORIGIN testdomain.$TTL 10 ; 10 seconds@ IN SOA testdomain. postmaster.testdomain. ( 1002223028 ; serial 3600 ; refresh (1 hour) 1200 ; retry (20 min.) 1209600 ; expire (2 weeks) 900 ; minimum (15 min.) )@ IN NS ns1.testdomain.ns1 IN A 10.xx.yy.zzdb IN A 10.xx.yy.zz

Page 7: MySQL Multi-master on EC2

MMM + ns-agent

マスターDB

マスターDB

監視サーバ

相互にレプリケーション

db.testdomain db.testdomain

mmm_agent

mmm_monDNS

サーバ

ns_agent

mmm_agent

$ORIGIN testdomain.$TTL 10 ; 10 seconds@ IN SOA testdomain. …db IN A 10.xx.yy.zz

Page 8: MySQL Multi-master on EC2

デモ

Page 9: MySQL Multi-master on EC2

まとめ EC2 で MySQL Multi-master フェイル

オーバー 仮想 IP アドレスではなく DNS ベース

切り替えに数秒程度Q&A

[email protected]: @stanaka