web-dev-qa-db-ja.com

ローカルからリモートのWebサーバーフェイルオーバー

短くて甘い、これ以上の詳細が必要になるとは思わない:

  • 社内のウェブサーバーでウェブサイトをホストしています。

  • ウェブから建物への/建物からの通信が途絶えると、大惨事が再び発生します。

  • これが発生した場合、ユーザーに少なくとも何らかの「メンテナンスのためのダウン」または、現在の「サーバーが見つかりません」ではなく、当サイトにアクセスしようとしたときのその他のメッセージ(TwitterのFail Whale?) )現在受信しているメッセージを入力します。 (静的サーバー、すべての要求に対する一時的なリダイレクト)。

[完全に機能するWebサイトにフェイルオーバーできることは素晴らしいことですが、必須ではなく、おそらくオプションではありません]。

明らかに、ローカルサーバーがダウンしたときに引き継ぐことができる何らかのオフサイトフェイルオーバーが必要です。

このようなソリューションはどのように実装されていますか?他の提案はありますか?

編集:これに正しい用語を使用していない(または省略している)場合は、お知らせください。

7
  • オフサイトリバースプロキシサイトにアクセスできない場合に静的ページを提供できます
  • 一部のサードパーティDNSプロバイダーは、最初のIPアドレスに到達できない場合、2番目のIPアドレスにフェイルオーバーできます(ただし、このフェイルオーバーには時間がかかる場合があります)
  • ハートビート/ ldirectordを使用してオフサイトサーバーをセットアップすると、ローカルサーバーと外部サーバーの間で負荷分散を行うか、内部サーバーが利用できない場合は外部サーバーに切り替えることができます。これは、エンドユーザーがサイトがダウンしていることに気付かないようにするために使用する方法です。 (同じコンテンツ/データベースソースを使用していることを確認してください)
1
Brent

すべてが失敗したときにユーザーを別のサーバーにリダイレクトするように外部リバースプロキシを構成できます。これにより、DNSの伝播も処理されます。

1
Snipper

DNSをホストしているのは誰ですか? DYNdns.orgは、IPが応答しなくなった場合に、オフラインメッセージを表示するか、別のURLにリダイレクトするサービスを提供します。それはウェブホップと呼ばれていると思います。これは私が精通している唯一のものですが、DNSがホストされている場合は、おそらくそれがオプションです。あなたがあなた自身をホストするならば、私は確かではありません。

1
oneodd1

[〜#〜] ipvs [〜#〜] (IP仮想サーバー)は、Linuxカーネル内にトランスポート層の負荷分散を実装します。これはいわゆるレイヤー4スイッチングです。ホスト上で実行されているIPVSは、実サーバーのクラスターの前でロードバランサーとして機能し、TCP/UDPベースのサービスの要求を実サーバーに送信し、実サーバーのサービスを仮想サービスとして表示します。単一のIPアドレス。

したがって、外部の ipvs + keepalived フェイルオーバーのセットアップを行うことができます。両方のWebサービスがダウンした場合は、keepalived.confで「申し訳ありませんがサーバー」を指定できます。ホストが異なるサブネット上にある場合は、LVS-tun(ipipトンネリング)を使用する必要があります。

alt text
(出典: ccidnet.com

1
rkthkr

Simple Failover というサービスがありますが、これはDNSベースのソリューションであるため、DNSキャッシングにはまだ問題があります。

私は過去に より長い回答 より技術的な詳細を 同様の質問 に投稿しました。これはその背後にあるメカニズムを説明しています。

0
Justin Scott