CentOSはじめにとあるサービスを作っている最中に負荷について調べていたところ、将来的にDBの負荷分散が必要になる可能性があった。サービスはAWS上に構築するため、DBの負荷分散にはリードレプリカを利用し、DBのアクセスを振り分ける感じになる。DBの負荷分散を想定してアプリを制作していなかったので、アプリの改造か必要かどうかの確認や改造後の動作確認が必要になり、DBアクセスをロードバランスする(またはそれっぽい)仕組みを開発環境に構築することにした。マスターDBとリードレプリカなどのDBへのアクセスの振り分けについては、以下の方法があると思う。最初にNICを2つ持ったCentOS7仮想マシンを用意して、ロードバランサを構築しようとしたけれども、上手く行かなかったので断念ということもあって、本番環境ではRoute53にマスターDBとリードレプリカのレコードセットを用意することにして、開発環境にはRoute53を同じ動作をしてもらうDNSサーバを構築することにした。想定している本番環境は以下の感じ。9.9.4IPアドレス・名前マスターDB192.168.35.10DNS名:updatable-db.sample.internalスレーブDB192.168.35.11DNS名:read-only-db.sample.internalDNSサーバ192.168.35.20bindのインストールまずCentOS7にbindをインストールする。設定ファイル「/etc/named.conf」を修正する。dnssecの機能を無効。正引き設定設定を「/var/named/sample.internal.zone」に記載する。192.168.35.10逆引き設定を「/var/named/35.168.192.in-addr.arpa.rev」に記載する。updatable-db.sample.internal.作成した設定ファイルの所有者を変更する。/var/named/35.168.192.in-addr.arpa.revNetworkManagerの設定の変更リソルバを固定するため、「/etc/NetworkManager/NetworkManager.conf」の26行目あたりにあるDNSの設定を変更する。[main]#plugins=ifcfg-rh,ibftdns=none変更後は、NetworkManagerを再起動する。NetworkManager「/etc/resolv.conf」の設定を変更する。192.168.35.20おわりに本番環境のRoute53と同じ動作をするための開発環境用のDNSサーバを構築できた。DNSサーバの構築で、DNSの設定だけではなく、NetworkManagerやらresolv.confを修正しないといけなかったので意外と時間が掛かった気がする。構築したDNSサーバを使用するときは、PCのDNSサーバの設定を変更する必要あり。»プロフィールid:monakaice88自称C#が得意。C/C++も多分いける。PHP歴がC#歴を超えそうで震える。気づけばC#よりサーバ構築に悩んでる時間が長いような・・・Pythonの時代が来ると信じている(勉強はしない)。的が全然絞れない私です。(3)はてなブログをはじめよう!monakaice88さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。