« 【AWS発表】Amazon RDS - SQL Server が SSL のサポートを開始 | メイン | 【AWS発表】Amazon Linux AMI 2012.09 が利用可能になりました! »

【AWS発表】Amazon RDS for MySQL - リードレプリカのマスター昇格機能を追加!

Amazon RDS for MySQLを使えば、リードレプリカの作成、管理が簡単に行えます(詳しくは過去のブログ記事(英語)を参照ください)。AWS Management Consoleから、対象のデータベースインスタンスを右クリックし、「Create Read Replica」を選択するだけで、リードレプリカを作成することができます。

1つ以上のリードレプリカを追加することで、データベースへの読み込みのトラフィック増えても、それを制御することが可能になります。

本日、リードレプリカの機能を拡張し、マスターへの昇格機能を追加いたしました。リードレプリカの昇格機能を使うと、MySQLのリードレプリカを"スタンドアロン"のRDSデータベースインスタンスにコンバートすることができます。この機能を実行すると次の2つのことが起こります。

  1. 旧マスターからのレプリケーションが停止します。
  2. リードレプリカは"スタンドアロン"のデータベースインスタンスになります。

Promotion in Motion
この新機能の使いどころはたくさんあります。ここではすぐにはじめられるいくつかの利用シーンを紹介します。

DDLオペレーションの実行 - カラムを追加したり、インデックスを張ったりするようなテーブルレベルのDDLオペレーションは時間がかかり、マスターデータベースインスタンスのパフォーマンスに影響を与えてしますことがあります。リードレプリカの昇格機能を使えば次のような方法がとれます。

  1. 指定されたリードレプリカ上でオペレーションを実行し、それが完了するまで待ちます。
  2. リードレプリカの同期がマスターデータベースインスタンスに追いつくまで待ちます。
  3. リードレプリカをマスターに昇格します。
  4. 新しく昇格したマスターに全てのデータベーストラフィックを向けます。
  5. 必要に応じてパフォーマンス向上のために追加のリードレプリカを作成します。
  6. 元のマスターとそれに関連づけられている残りのリードレプリカをを終了します。

テーブルのシャーディング - シャーディングはテーブルを小さいテーブルに分割することを指し、たいていはテーブルの主キーに対してハッシングアルゴリズムを使って、書きこむテーブルを決定し、書きこみを複数のテーブルに分散させます。次のようにすれば、リードレプリカの昇格機能を使って1つのテーブルモデルからシャードモデルに移行することができます。

  1. 各々のシャード用にリードレプリカを作成します。
  2. 新規に作成した各リードレプリカが利用可能になるまで待ちます。
  3. リードレプリカをマスターに昇格させます。
  4. データベースのトラフィックを新しいシャーディングされたマスターに向けます。
  5. 各シャードでは、他のシャードに属している行を削除します。
  6. 元のマスターを終了します。

障害回復機能を実装する - Amazon RDSはMulti-AZ 配備ポイント・イン・タイムリカバリーなどデータ復旧のためのオプションを複数用意しています。リードレプリカの昇格機能が備わったことで、リードレプリカが障害に対するもうひとつのデータ復旧方式とみなすことができるようになります。しかし、復旧の手段としてこのオプションを使用する前に、非同期レプリケーション・モデルの影響とその限界を理解しておく必要があります。 同期レプリケーション、自動障害検知、自動フェイルオーバーが必要な場合は、Multi-AZ 配備でDBインスタンスを運用することをオススメします。 データ復旧メカニズムとしてリードレプリカを使用したい場合は、まずリードレプリカを作成し、障害を検知するためにマスターの監視をする必要があるでしょう。そして障害が発生したら次の手順で復旧を行います。

  1. リードレプリカを昇格させます。
  2. 新しいマスターにデータベースのトラフィックを向けます。
  3. 代替のリードレプリカを作成します。

これらの操作は全てAmazon RDS APIを使って実行することができますので、Amazon Simple Workflow Serviceを使って、上記の手順を自動化することをご検討ください。またこの新機能の面白い使い方を思いつきましたら是非お知らせください!

堀内康弘 (Facebook, Twitter)

 

コメント

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c534853ef017d3ca89ab1970c

【AWS発表】Amazon RDS for MySQL - リードレプリカのマスター昇格機能を追加!を参照しているブログ:

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31