DNSラウンドロビンが正常に設定できているとします。
1台のサーバーに障害発生して無反応ではなく502 BadGateway を返す場合はどうなりますか?
無反応ならクライアント側は次のIPアドレスを探しに行くのでしょうけど、
502であろうと反応がある場合はそのIPアドレスを使い続けるという事ですよね?
こういったケースの場合は冗長化にならないと理解していいでしょうか?
この場合、502を返すサーバーを停止させれば無反応になりますので手動で停止させるという
手段もありうるという事でしょうか?
また、TTLを短めにするという説明が多くありますが具体的には何分ぐらいにするのか、一定の法則はありますでしょうか?
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
502であろうと反応がある場合はそのIPアドレスを使い続けるという事ですよね?
こういったケースの場合は冗長化にならないと理解していいでしょうか?
そうです。
この場合、502を返すサーバーを停止させれば無反応になりますので手動で停止させるという
手段もありうるという事でしょうか?
まずは障害のあったサーバをAレコードからいったん消すのが良いと思います。復旧させたときにいきなり本番のクエリを受け取ってしまうからです。そのうえで、停止するなり障害原因を探るなりしましょう。復旧を確認したら、再度Aレコードに追加するのを忘れずに。
(もちろん、DNSのレンスポンスから消えるまでTTLの時間はかかってしまいます)
また、TTLを短めにするという説明が多くありますが具体的には何分ぐらいにするのか、一定の法則はありますでしょうか?
負荷分散を重視しているところは300秒が多いようです(youtubeやyahooなど)。twitter.comなんかは30秒です。これら大手は死活監視(ヘルスチェック)をちゃんとやっているから短くできるので、普通はそこまで短くする必要はないでしょう。例えばteratail.comは3600秒です。主観ですけども30分~120分程度が普通かなぁと思います。
投稿2015/07/10 21:55
総合スコア1151
0
すでに解決済みとなっておりますが、
冗長と負荷分散が混ざっておられるようでしたので、
単純にDNSサーバのラウンドロビンだけを使用する前提で、
回答をさせて頂きます。
無反応ならクライアント側は次のIPアドレスを探しに行くのでしょうけど、
一般的なOSとブラウザを使用した場合、探しに行きません。
接続できないで終了します。
接続できるように見えるのは、
TTLが短くしてあり、もう一度ユーザーが接続をしようとしたときに
DNSサーバから別のIPアドレスが返ってくるからです。
その際に同じIP(繋がらない)がDNSサーバから返ってきた場合は、
当然のことながら、接続できません。
また、クライアントOS側もDNSキャッシュをもつので、
毎回DNSサーバに問い合わせるわけではありません。
どれぐらいキャッシュを持つのかは調べたことはありませんが、
数分ぐらいは持っているのではないでしょうか。
502であろうと反応がある場合はそのIPアドレスを使い続けるという事ですよね?
こういったケースの場合は冗長化にならないと理解していいでしょうか?
この場合、502を返すサーバーを停止させれば無反応になりますので手動で停止させるという
手段もありうるという事でしょうか?
上記のように、単純なDNSサーバのラウンドロビンだけでは、
負荷分散はできても冗長化はできません。
接続先のサーバの状態にかかわらず、
文字通り順番にIPアドレスを回答するだけです。
また、TTLを短めにするという説明が多くありますが具体的には何分ぐらいにするのか、一定の法則はありますでしょうか?
ラウンドロビンを使うときの法則などは特になく、
管理者の人が適当に決めてるのが実情で、
特に要件がなければ、1分や5分にしたりします。
大手の会社さんでDNSサーバのラウンドロビンを使っているのは、
回線を冗長したり、複数のデータセンターを使用する場合などではないでしょうか
その場合は、ちゃんと冗長化できるように、
サーバの生死確認とDNSサーバを連動させる機能の付いた機器を導入したりします。
私は、単純にサーバの負荷分散と冗長化を行う際は、
DNSのラウンドロビンを使わず、リバースプロキシ型ロードバランサーを使います。
そうすれば貴重なグローバルIPアドレスが一つで済むので。
「Linux Virtual Server」と「Keepalived」で作る冗長化ロードバランサ
Nginxのロードバランサー構築
投稿2015/07/16 07:41
総合スコア79
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/10 23:57