1
results
for BIND
-
先日、とあるサービスで自前運用していたDNSサーバーをAWSのRoute53へ移設しました。 その移設の際に学んだ下記二点について、大変良い勉強になったので、折角なのでまとめておきます。 BINDからRoute53への移設方法 DNSのNSレコード移設時のポイント 移設前の環境 移設前のサーバーは他社のマネージドタイプの専用サーバーを契約しており、CentOS5のBINDで稼働していました。 DNSのセカンダリーには、そのマネージドサービスの無料のセカンダリーDNSサービスを利用しており、管理はマスターのみ実施しておりました。 移設が必要なゾーンは1つ。レコードが5000程度ありました。 また、ユーザーさんから申し込みがあった際に、BINDの動的更新を利用してレコードの追加が行われていました。 移設に至った経緯 大きくはCentOS5がEOLになったこと、BINDの脆弱性が多く、DNSの運用コストが課題となっており、自前運用のメリットが殆どなかったことが挙げられます。 そこで、マネージド・サービスであるRoute53への移設することで、BINDの脆弱性対応などのDNS運用コスト、および専用サーバー費用を下げられないかを検討することになりました。 Route53のコスト計算 Route53のコスト計算で最も重要なのは、現在のDNSでどの程度のクエリが発行されているかということになります。 とは言え、BINDのクエリーログの出力はIO負荷が高く、常時オンにしている環境は殆ど無いと思われます。 そこで、一時的にクエリーログをオンにして、そこから単純計算を実施しました。 クエリーログの有効には、named.confに直接記述する方法と、rndcコマンドで一時的に有効にする方法があります。 今回は一時的に出力する目的でしたので、rndcを使って、クエリーログを出力しました。 なお、デフォルトではmessagesにqueryログが出力されます。 query logがoffであることを確認する。 # rndc status query logging is OFF query logをonにする。 # rndc querylog query logがonになっていることを確認する。 # rndc status query logging is ON query logを停止する # rndc querylog query logがOFFであることを確認する。 # rndc status query logging is OFF 上記でクエリーログをオンにした時間とクエリーログ数で、概算の月間のクエリー数を算出し、Route53の見積もりを出します。 Route53の見積もりについては、言うまでもなくAWS簡易見積もり計算ツールを利用しています。 結果、専用サーバーの月額費用よりも圧倒的に安価であることがわかったので、Route53への移設を進めることにしました。 ※これは私の肌感ですが、AWSのEC2などのVMのサービスと比較すると、Route53だけ突出して安いように思います。 移設の手順 ここで言う移設は、事前準備が終わった状態で、レジストラに登録されているNSレコードまで切り替えが完了するまでになります。 安全に、そして、スムーズに移設するために実施した手順の概要が下記流れになります。