DNS ラウンドロビン問題を解決する「MyDNS」
そこで、モバゲータウンのシステムではDNSサーバーに「MyDNS」というフリーソフトウェアを採用している。MyDNSはIPアドレスとホスト名の関連付けをゾーンファイルではなくMySQL上のデータベースで管理し、ロードバランシング機能も備えるDNSサーバーである。また、BIND namedからMyDNSへの移行も至って簡単である。
導入手順は次の通りである。
1.MyDNSのインストール
MyDNSのインストールは、以下のコマンドを入力することにより行なう。
#wget http://mydns.bboy.net/download/mydns-1.1.0.tar.gz #tar xvfz mydns-1.1.0.tar.gz #cd mydns-1.1.0 #./configure #make #make install
2.データベーステーブルの作成
MySQLにMyDNSで使用するデータベーステーブルを作成するには、以下のコマンドを入力して行なう。
$mysqladmin -u <username> -p create mydns $ mysql -u <user> -p mydns mysql>GRANT SELECT ON mydns.* TO <user>@localhost IDENTIFIED BY'<password>'; $/usr/local/sbin/mydns --create-tables | mysql -u <user> -p mydns
3.SOA/RRレコードのinsert
SOA/RRレコードを同名のテーブルにinsertするには、LIST2に示すコマンドを入力する。SOAレコードの値はゾーンファイルで記述するものと同じでかまわない(RRレコードのaux値については後述する)。
mysql>insert into soa (id,origin,ns,mbox,serial,refresh,retry,expire,minimum,ttl)values (1,'mydns.dena.ne.jp.','ns','postmaster.mydns.
dena.ne.jp',20070325,10800,3600,3600000,300,300); mysql>insert into rr (zone,name,type,data,aux,ttl) values (1,'mydb00'
,'A','192.168.20.1',100,300); mysql>insert into rr (zone,name,type,data,aux,ttl) values (1,'mydb00'
,'A','192.168.20.2',200,300);
4.mydns.confファイルの設定
confファイルへの設定は、以下のコマンドを入力する。
#make conf #vi /etc/mydns.conf db-user = mydns # SQL server username db-password = mydns # SQL server password database = mydns # MyDNS database name
5.起動と/etc/resolv.conf編集
最後に、デーモンを以下のコマンドで起動する。
# mydns -background
その後DNSクライアントとなるマシンの/etc/resolv.confのnameserver行でMyDNS実行サーバーのIPアドレスを指定すれば完了である。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
能登 信晴(ノト トキハル)
株式会社ディー・エヌ・エーにて、ケータイ向けサービス開発と運用を担当。以前はソリューション事業の一環で顧客企業向けコンサルティングや提携サイト構築プロジェクト統括なども行なっていた。「DeNA技師のメモ」更新中。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
早乙女 正巳(サオトメ マサミ)
株式会社ディー・エヌ・エーにて、ケータイ向けサービス「モバコレ」の立ち上げと運用を担当。以前はディー・エヌ・エーのPC サービスの開発を幅広く担当していた。モバコレに関しては1 人で物流/決済などを含むすべての開発を約2ヶ月で行なった。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

'<password>';
$/usr/local/sbin/mydns --create-tables | mysql -u <user> -p mydns