[amazon クラウド] RDS上のMySQLでリージョン間のレプリケーションを構築する

2015-07-12前回、前々回とRDS内でのレプリケーションの仕組み、MySQLでのレプリケーションの仕組みををまとめましたが

それを踏まえて

リージョン間でレプリケーションしたらどうなるかをまとめてみました。

WS000038

つまり更新系はマスターでないと他のスレーブに配ってくれないので、データは

マスターに行く。参照系は、各リージョンにあるRDSに繋げば、データ量が多いクエリも

マスターを見に行くより早いのは間違いない。

この方法による構築での課題点は

・参照系と更新系でデータベースの接続先が違う。

・MySQLのレプリケーションは非同期レプリケーションなので、タイミングによっては、
整合性がとれていないクエリー結果になってしまう。
上記の図の例で言いますと、海外1と海外2はタイミングによっては、結果がずれる。
東京は、マスターを参照するので、ずれはない。
因みに、リージョン内での参照系レプリケーションであればRDS側のReadReprication機能で対応できます。

具体的な手順を以下に記載します。

1.まず、マスターのEC2を立ち上げます。

2.MySQLをインストールしましょう。

3.マスターのリージョンにRDSインスタンスをmySQLで起動します。

•MySQL5.6.13のRDS

•Publicly AccessibleをON

•Mullti-AZオプションはOFF

•セキュリティグループではお互いの通信を許可

ポートの開放

インバウンド、アウトバウンド両方

4.EC2からRDSのmySQLに接続

5.ここでレプリケーション用のユーザーを作成しておく

6.テスト用のテーブルを作成する。

7.バイナリ―のログにアクセスできるようにストアドプロシージャーを実行する。

8.内容を控えておく

8.次に、スレーブ用のリージョンのRDSのインスタンスを起動します。

同じようにポートを解放してください。

9.スレーブのデータベースに接続します。

10.レプリケーション用のユーザーを作成します。

11.マスターのデータベースをそのままスレーブにコピーします。

最初にマスターをダンプします。

次にスレーブ側でダンプファイルをインポートします。

12.スレーブ側 mySQLにて以下ストアドプロシージャ―を実行します。

先程の内容をセットします。

13.スレーブ側でレプリケーションを開始します。

14.状況確認します。

13.マスター側で

データを登録

14.スレーブ側でレコードが増えているか確認 レコードが1件増えていれば

同期確認完了。



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 



シェアする

  • このエントリーをはてなブックマークに追加

フォローする