EC2上でのMySQL Multi-masterフェイルオーバー、DynamicDNS(BIND)に対応させた

d:id:stanaka:20100223 EC2上でMySQL Multi-masterフェイルオーバー - 田中慎司のログ をみて、EC2上でMulti-masterのフェイルオーバーが可能なことを知りましたが、
EC2インスタンスを管理するDNSがDynamicDNSな環境なため、修正しないと使えないなと思ってns_agentを拡張して使えるようにしてみました。

事前準備

基本的な設定は参照元のブログと同じなのでそっちにあわせます。
オリジナルのns_agentはphpで動作するのですが、今回作成したものもphpで動作します。

1. pearをインストールして、Net_DNS2をインストールします。

$ pear list-upgrades
$ sudo pear install Net_DNS2


2. mmm_ddns_agentをチェックアウトして、設定ファイルを作成します。

$ cd ~/utils
$ git clone git://github.com/roothybrid7/mmm_ddns_agent.git


DNSサーバの設定とレコードの設定を行います。

$ cd mmm_ddns_agent
$ cp mmm_ddns_agent.conf.sample mmm_ddns_agent.conf
$ vim mmm_ddns_agent.conf


確認

参照元のブログと同様に各デーモンプロセスを起動します。
mmm_ddns_agentの起動は、下記の通りです。

$ php ddns_agent.php


本番運用の際は、DaemonToolsやinit.dスクリプトを使用した方がいいでしょう。
実際にMySQL multi-masterを使った確認は別の人がやったのですが、とりあえず問題なく動いたようです。