質問: 複数のサーバーにひとつのドメイン ごらん頂きましてありがとうございます。 現在、商用webサイトの作成を検討中なのですが、別事業で利用しているレンタルサーバーで障害が発生し、数日間サイトにアクセスできなくなった経験がございます。 一日の売り上げがそれなりの金額ですので、サーバーがダウンしてしまうと大損害です。 そこで、サーバーを2つ用意してミラーサイトを作っておけば片方のサーバーがダウンしてもリスクヘッジできるのではないかと考えております。 そこで質問なのですが、サーバーa とサーバーb にまったく同じサイトをアップロードして、ひとつのドメイン(仮に abc.com とします)をそれぞれに設定することは可能でしょうか。 またその場合 abc.com とブラウザのアドレスバーに入力するとabどちらに繋がるのでしょうか。 実現したい状況を簡単にいうと、顧客が abc.com のページをブックマークしていて、サーバーa がダウンしている最中にサイトにアクセスした場合、自動的にサーバーb に繋がるようにしたいのです。 顧客はサーバーa がダウンしていてもいつもどおり買い物ができる状態にしたいということです。 また私の考えが可能な場合、googleなどの検索にはサーバーa と bは別のサイトと認識されて、検索結果にダブって表示されるのでしょうか。 専門職ではないので見当違い名質問でしたら申し訳ございません。 ご回答のほどお願いいたします。
回答: 冗長化ですね。 > サーバーa とサーバーb にまったく同じサイトをアップロードして、 > ひとつのドメイン(仮に abc.com とします)をそれぞれに設定することは可能でしょうか。 はい、可能です。 ドメイン名にはサーバのipアドレスが紐付きます。 また、ドメイン名には複数のipアドレスを割り当てることができます。 abc.com ├─ サーバa(のipアドレス) └─ サーバb(のipアドレス) > その場合 abc.com とブラウザのアドレスバーに入力するとabどちらに繋がるのでしょうか。 冗長化の種類によります。 ・active/active形式の冗長化 サーバaとサーバbを常に可動させ、片系がダウンしてもサービスを継続させる方法です。 アクセスがあったときにはそれぞれのサーバに振り分けられます。 (振り分け方式もいくつかありますが、ここでは割愛します。) この場合は、どちらにも繋がります。 ・active/stanby形式の冗長化 サーバaかサーバbのどちらかだけを有効にしておき、有効なサーバ(active機)が ダウンしたときに、待機させておいたサーバ(stanby機)を有効化させ(active化させ)、 サービスを継続させる方法です。 この場合は、有効となっているサーバの方に繋がります。 > googleなどの検索にはサーバーa と bは別のサイトと認識されて、検索結果に > ダブって表示されるのでしょうか。 いいえ、1つだけが検索結果に出ます。 現在作成されているwebサイトはレンタルサーバでしょうか? それとも自前のサーバでしょうか? 自前のサーバ(自前のネットワーク)であれば、nw機器とサーバの設定だけでも 冗長化を実現可能ですが、レンタルサーバの場合は厳しいかもしれません。 雑学程度に、いくつか冗長化の方法を書きますと... ・dnsレコードを手動で切り変え(active/stanby) サーバaのダウン時にdnsレコードを修正して、正引きをサーバbに向ける方法です。 簡単で安く、確実ですが、dnsの情報が伝播するのに時間がかかります。 つまり、一定時間webサイトに接続できなくなります。 ・dnsラウンドロビン(active/active) サーバaとサーバbに大して均等にアクセスを割り振ることができます。 しかし、セッションの持続ができません。 静的なページであれば問題はないのですが、ショッピングサイトのような 動的で、セッション維持が必須な環境では使えません。 例えばショッピングサイトなどであれば - ユーザが最初にアクセスしたのはサーバa - サーバa上で買い物かごに商品を入れる - 決済のページに遷移(新たにアクセス) - 遷移先がサーバbになった(振り分けられた) - 買い物かごの中身が消える という事態が起こりえます。 ・ロードバランサ(active/active or active/stanby) 一番確実です。上の2つの方法で抱える問題が一切ありません。 そのかわり、金額がお高いです。