質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

Q&A

解決済

2回答

6365閲覧

dnsラウンドロビンについて

mint.cherry

総合スコア284

DNS

DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

0グッド

2クリップ

投稿2016/04/13 01:46

dnsで次の3つのサーバをwebサーバーa,b,cをdnsラウンドロビンをしようし負荷分散かけたとします。
pc1からの問い合わせでdnsがa宛てとおしえます。
pc2からの問い合わせでdnsがb宛てとおしえます。
pc3からの問い合わせでdnsがcあてとおしえます。
ここでaが何かしらでダウンしたらpc4はaはダウンしてるからb宛てと教えてくれるのでしょうか?

簡単にまとめると、dnsラウンドロビンはダウンしたサーバーの検知してくれるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

DNSラウンドロビンは負荷分散が目的なので、障害検知の仕組みはありません。
またDNSの伝播時間を考えると、瞬時に切り替わるような仕組みは取りにくいです。
*ただし、瞬間切り替えではない冗長構成は需要があるため、そういったサービスは世に存在します。

ブラウザやクライアントで別のサーバへの再接続を試みるものはあります。
ですので、PC4が正常なtargetにたどり着く可能性はあります。
参考:DNSラウンドロビン。サーバーが502を返すときは冗長化にならない?

投稿2016/04/13 02:19

編集2016/04/13 02:41
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/13 02:32

補足です。ブラウザやクライアント側で他のサーバへのアクセスを試みるものはあります。 参考:[DNSラウンドロビン。サーバーが502を返すときは冗長化にならない?](https://teratail.com/questions/12612)
退会済みユーザー

退会済みユーザー

2016/04/13 02:35

追記を回答にしました
退会済みユーザー

退会済みユーザー

2016/04/13 02:37

コメントが消せない。。。汚してしまいすみません。。。
mint.cherry

2016/04/14 06:05

いえ、回答ありがとうございます リンク先の情報も見ました。興味深かったです。 瞬時に切り替わった方がいいと思いますが…
退会済みユーザー

退会済みユーザー

2016/04/14 07:05

DNSの仕組みを調べればわかるのですが、瞬時に切り替えることはできません。 サーバの生死を確認して切り替えるのであれば、ロードバランサのオプション機能を使用して下さい。一般的なロードバランサであれば、配下のサーバの死活を監視し、死んだ場合配下から外すといった動作をさせることが可能です。 瞬時に切り替える冗長性を担保する方法としてはロードバランサ等のローカルで冗長構成を組む方法が採用されると思います。
mint.cherry

2016/04/14 09:02

返信ありがとうございます。 一般的かどうかは知りませんが、ロードバランサの機器を買うと価格が超高いのでオープンソースのopensflowかopenstackのneutronのロードバランサの機能は使えるかどうか調べている途中です…(わからないことが多々ありますが…) 一般ではこういうオープンソースなどでロードバランサしようしているのでしょうか?機器を買っているのでしょうか?
退会済みユーザー

退会済みユーザー

2016/04/15 22:44 編集

私の知識は、エンタープライズ系のネットワーク・インフラに関わるものなので、高価な機器を導入する方法しか知りません。 サーバの高可用構成は、新たに質問を立てられたほうが情報が集まると思います。 ロードバランサ自体の冗長性も考慮すると、結構難易度は高くなります。 クラウドサービスを利用することで、構築を簡易化することも今の時代有効かと^^
guest

0

ベストアンサー

DNS単体では検知できません。

DNSの機能では死活監視の能力を持ち合わせておらず、
もしご質問のようにaがダウンしたときにbへ振り替える設定を構築するのであれば、
死活監視できる機器等を組み込んで、必要に応じレコードを削除するよう設計する必要があります。

投稿2016/04/13 02:43

choro-s

総合スコア118

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mint.cherry

2016/04/14 05:52

回答ありがとうございます。 DNSはあくまで名前解決をするということしかしてくれないのですね。 死活監視機器というのは何があるのか教えてくれたら嬉しいです。 ロードバランサとか機器ではないですがZABBIXとかですか?
choro-s

2016/04/14 06:44

>DNSはあくまで名前解決をするということしかしてくれないのですね 基本的にはその通りです。 付加機能を付けたアプリケーション等もあるには有りますが、つかったことないです。 >死活監視機器とは ちょっとDNSから外れていきますが… 死活監視をするとなると ・ロードバランサによる死活監視 ・運用管理ソフトによる死活監視 このあたりになります。 mint.cherryさんのおっしゃっているZABBIXについては後者の類になります。 …ですが、ZABBIX自体には死活監視の機能までしかないので、障害発生時にDNSレコードを操作するといったジョブ操作を行えません。 (+α、ジョブ管理ソフトとの組み合わせなどで実現可能ですが) DNSソフトや運用方針によって対応法が変わってきますので下記はあくまで一例です。 …DNSラウンドロビンへの回答としては正しい回答ではないかもしれませんが、ご参考までに。 ・ロードバランサ(LB)を導入する。 ・LBにサーバa~cの情報を登録し、LBにて死活監視させる。 ・DNSにはLBのIPをホスト名として登録し、Webサーバの名前解決はLBのIPを出すようにする。 ・もし、LBにてサーバbに障害が発生したと検知された場合は、LBがサーバbへパケットを回さないようにする。 上記のような手法が有ると思われます。
mint.cherry

2016/04/14 08:47

返信ありがとうございます。 DNSやZABBIXやロードバランサにも拡張機能を使用すれば実現可能ということなんですね。そのような手法があるのですね。結構べんきょうになります!! 以下無視してもいいです。 実はロードバランサの価格が非常に高くて、調べたらDNSラウンドロビンという方法を知りました。 ロードバランサは金額が超高いので、オープンソースのopenflowのロードバランサを使用しようとしています。オープンソースなのでどこまでできるかわからないですが。。。これに関しては自分で調べます。(まだITに入った新米なので変なこと言っていたらすいません…)
TaichiYanagiya

2016/04/14 08:56

AWS Route53 など、ヘルスチェックを行なって、応答を切り替えてくれる DNS サービスを使う方法もあります。
mint.cherry

2016/04/14 09:22

taichiさんコメントありがとうございます。 AWSは今月無料期間を使用し入ったばかりですので変なこと言ってたらスイマセン(汗) AWSのサービス(route53、S3など)はAWSのインスタンス外でも使用できるのですか?
TaichiYanagiya

2016/04/14 09:37

EC2, ELB と関連付けなくても、Route 53 は使用できます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問