【サーバー移転の基礎知識】バーチャルホストとDNSの仕組みを理解しよう

どうもこんにちは、さくらい(@sakutomo0615)です。

Twitter界隈からサーバー移転の時のドメインの仕組みがイマイチわからないという声がありましたので、少し説明記事を書いてみようと思います。

あまり触れてこなかったんですが、実はワタクシはレンタルサーバー屋さんの中の人だったりもします。(´・ω・`)>

感覚的には『DNS?お名前.comで良いんじゃね?』ってのがあるんですが、確かに仕組みは普通の人にはわかりにくいですね。業界の発展のためにも、皆さんの役に立てばうれしい限りですので、早速見ていきましょう。

 

まずは用語の整理から。

一番最初に基礎用語の解説から始めたいと思います。知っている方には用語のおさらいになりますが、ここで用語に対する皆さんの理解を揃えておきます。回り道をするようで恐縮なんですが、用語についての不十分だと途中途中で間違った方向へ理解してしまって、設定作業の中で事故を起こす事にも繋がります。

DNSとグローバルIPアドレス

DNSを理解する前にIPアドレスの方から説明をします。IPアドレスとはパソコンやネットワーク機器、サーバーなどに割り当てる住所のような物でして、これが設定されていないとネットワーク上で通信することは出来ません。(自宅のPCやタブレットでもIPアドレスの設定が間違えていたせいでWeb閲覧やメールの送受信が出来ないなんて事はみなさん経験がおありだと思います。)

このIPアドレスなんですが、大きく分けて2種類あるんですね。

 

プライベートIPアドレス・・・『会社や家庭などのローカル組織内で自由に割り当てて良い』とされるアドレスです。代表的なものが【192.168.0.1】の様に、192.168で始まるものですね。大抵の家庭ではこんなIPアドレスが設定されていると思います。企業組織のネットワークだと【10.0.0.1】とか【172.16.0.1】なんてモノが出現します。必要なIPアドレス数(IPアドレスが必要なPCやサーバーの数)に応じて数量を予測して、ネットワークを設計・拡張していきます。(まぁ、普通の家庭ではそんなに問題になる事はありません。)

 

グローバルIPアドレス・・・今回重要になってくる用語はこちらの方です。プライベートIPアドレスって、実は『この範囲の中からなら各組織の管理者の人が自由に採番して良いですよ』って範囲が予め決められております。しかし、グローバルIPアドレスは世界で決められたルールに基づいて使わないければならないので、取り扱いはかなりシビアなものになります。なので、普通の人が自由に取得できるものではなく、決まったグローバルIPアドレスをずっと使いたい場合は通信事業者の固定IPアドレスサービスなどに加入する必要があります。レンタルサーバーやホスティング事業者やデータセンター等の通信事業者はグローバルIPアドレスの在庫を保有していますので、ユーザーに貸し出すサーバー等に固定IPアドレスを割り当ててサービス提供しています。

詳しくはこちらのサイトをご覧ください。(ネットワークエンジニアとして ~IPアドレス – グローバルIPアドレス

 

DNS(Domain Name System)・・・お名前.comとかで取得する、ドメイン名の仕組みです。このサイトも『さくらインターネット』のサービスを使っていますので、グローバルIPアドレスの割り当てを受けています。

nslookup

どころが、『私もブログ始めたんですよ♪サイトのURLはhttp://49.212.180.36ですので見て下さいね!』なんて言っても、似たようなIPアドレスはたくさんありますから誰も覚えられないんですね。これではあまりにも不便なので、一定の命名規則を持った名前を付けて、名前でアクセス出来るようにしようと考案されたのがDNSの仕組みです。(だからドメイン名には覚えやすい名前をつける事が基本になるのです。)

代表的な例は【onamae.com】とか【kakaku.com】です。本当に覚えやすいドメイン名ですね。だからアクセスも集めやすくなります。詳しいお話はこちらのサイトをご覧ください。(DNSサービスの仕組みについて

 

ホスト名とドメイン名

www.tank-sakurai.com

こちらのwwwはホスト名で、tank-sakurai.comはドメイン名です。この2つを結合した、『www.tank-sakurai.com』はFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)と呼ばれるのですが、Webサイトを閲覧するときに入力する【https://www.tank-sakurai.com】は、『tank-sakurai.comドメイン内のwwwと言うホストのWebページを表示しなさい』と言う命令になります。

ホスト名はDNSサーバーのAレコードと言う形式で登録するのが基本です。(メールを設定する場合はMXとかCNAMEを使いますが、ここでの説明は省略)

 

DNSを理解するための用語集

用語解説の最後に、【お名前.com】の設定画面に登場する用語に触れておきます。ほとんどの方はお名前.comを利用していると思いますので、こちらの画面例を使った方がイメージいやすいでしょう。

onamae2

↑お名前.comのドメインNaviにログインし、ドメイン設定タブを開きます。その中に【DNS関連機能の設定】と言うアイコンがあるので開きます。

 

onamae3

契約しているドメインを選択して、【次へ進む】をクリックします。

onamae4

↑『DNSレコード設定を利用する』項目の【設定する】ボタンをクリックします。

 

★DNSレコードの設定画面です。

onamae01

Type ・・・DNSレコードの種類です。NS・A・MX・TXTなどがあります。

NSレコードとは?・・・NSレコードは、ゾーン情報を管理するネームサーバー(DNSサーバー)名を定義するレコードです。VALUEには名前解決をするネームサーバー名としてのホスト(FQDN)を入力し、別のネームサーバーにて名前解決をする場合にご利用ください。

Aレコードとは?・・・A(Address)レコードは、ホスト(FQDN)とサーバーを識別するグローバルIPアドレスの関連づけを定義するレコードです。「www」などのホスト名を入力し、VALUEにグローバルIPアドレスを入力することによって、ご利用いただくサーバーへの名前解決が行われます。

MXレコードとは?・・・MXレコードは、対象ドメイン宛のメールの配送先(メールサーバー)のホスト(FQDN)を定義するレコードです。

TTLとは?・・・Time To Liveの略称。パケットの有効期間を表す値となり、数値が小さいほどレコードの保持時間が短くなります。しかしながらご利用いただく接続環境により、TTLの参照先が異なるため、DNSレコード設定で設定した値で必ずしも反映されるわけではありません。(単位は秒。3600=1時間)

お名前.com ~FAQ 良くある質問より

専用・共用サーバーとは?

ここからはWordpressなどをインストールするのに使っている、レンタルサーバーの話をしたいと思います。

専用サーバー・・・物理的なサーバーをマシンごとまるまる1台を割り当てて貸してもらえます。スペックもメモリ・CPU・ハードディスクなどを選べる場合もあります。OSはほとんどはLinuxから選びます。先ほどのグローバルIPアドレスも1つ固定で割り当ててもらえますし、追加費用を払えば複数個を割り当てることが可能です。なので、1台のサーバーの中で複数のWordpressを稼働させたり、Wordpressと他のWebサービスを併用するなんて事も可能です。ただし、設定・運用にはかなりの専門知識が必要になりますので、普通の人はまず使いません。(エンジニア等のプロ用ですね。性能や容量の設計が必要になりますから・・・)

188

 

共用サーバー・・・物理的なサーバーを複数の仮想サイトに分けて、仮想サイト単位でユーザーに割り当て・貸し出しをします。要は『Webとメールが使えれば良い』と言うユーザー向けに【仮想サイト】と言う単位に分割します。なので、1台の物理サーバーのCPU・メモリ・ネットワークを複数のユーザーで共同利用する事になります。良く分譲マンションに例えられますが、専用サーバーは1棟まるごと契約するのに対して、共用サーバーは分譲の1部屋を契約するイメージになります。

※共用サーバーの弱点として、近隣住民に毎日何十万通ものメルマガ配信する人や途方もないPV数を誇るサイトが入居していたりすると、ホスティング事業者から退去を命じられる事があります。逆に契約したマンションに『ずっと共用エレベーターを占有しつづける様なならず者住民』がいる場合もあります。

apart08

 

バーチャルホストの仕組みがDNSをわかりにくくしている



バーチャルホストとは?

先ほどの共用サーバーの説明で挙げた、1台のサーバーを『仮想サイト』に分割する技術の事です。具体的な設定例の説明は省略しますが、この様なマンション型の仕組みを実現するものとお考え下さい。

vhost

共用サーバーを契約した場合、上の図の様に1台のサーバーと1つIPアドレスをみんなでシェアをしながら利用する事になります。ここでポイントは、ブラウザで入力するURLに必ずドメイン名を含めなければダメなんですね。取得したドメイン名と登録した仮想サイトが一致してないと、正常にWebサイトが表示されないですよ!(要注意!)

このサイト(さくらインターネット)の設定例

このブログはさくらインターネットを利用しております。このブログを例にバーチャルホストの動作を見ていければと思います。

vhost5

↑こちらはさくらインターネットに共用サーバーでの私のサイトの設定になります。

tank-sakurai.comとtank-sakurai.sakura.ne.jp(初期設定)の2つのサイトが登録されています。基本的にこちらのサイトのドメイン名と、お名前.comで設定したドメイン名・ホスト名が一致していないとダメです。

 

実際にブラウザでアクセスしてみましよう。

vhost3

↑https://www.tank-sakurai.com で普通に表示できます。皆さんもこの記事が読めていると言う事はそういう事ですね?(笑)

※https://www.tank-sakurai.com、https://www.tank-sakurai.com のようにwww.が有っても無くてもWebサイトを表示できるようにする場合

・お名前.comのDNS・・・www.tank-sakurai.com とtank-sakurai.comの両方にAレコードを作成します。

・さくらインターネット・・・tank-sakurai.comのみをドメイン設定します。(こちらにはwwwは付けなくて大丈夫です)

 

vhost4

↑次にこちら。http://tank-sakurai.sakura.ne.jp でも普通に表示できます。これはさくらの設定画面でこのサイト名が登録してあるからです。(sakura.ne.jpドメインは当然ながら、さくらインターネットが所有しています)

 

vhost2

↑最後はこちら。http://49.212.180.36(IPアドレス)で接続した場合ですが、ドメイン名を含むURLで接続していないのでさくらインターネットの画面が表示されてしまいます。専用サーバーであれば、http://IPアドレスの形式でもWeb画面は正常に表示できます。

 

DNSとバーチャルホストのケーススタディ

最後にケーススタディを掲載して、今回の記事を終わりにしようと思います。

2つのドメイン&契約2つの共用レンタルサーバーで運用する場合

想定シーン)tank-sakurai.comドメインとexample.comドメインを所有していて、別事業者の共用サーバーとさくらインターネットのサーバーを運用する

この場合は何も難しくありません。上の例で示した設定手順をtank-sakurai.comドメインとexample.comドメインの2つ分設定するだけでOKです。

 

1つのドメイン&契約2つの共用レンタルサーバーで運用する場合

想定シーン)tank-sakurai.comドメインだけを所有していて、別事業者の共用サーバーとさくらインターネットのサーバーを運用する

こちらの場合は1ドメインで2つ以上のWebサイトを運営するケースです。サーバー移転をする時に、移転先サーバーのテスト環境と本番の運用環境を分離しておきたい場合によく使います。

 

vhost04

 

赤枠の設定はさくらインターネットの今まで通りの設定ですが、ポイントは2つ目のサーバーのAレコードを追加するところです。(青枠部分)

DNSのAレコードとして、blog.tank-sakurai.comを新たに追加しておきます。

 

※サーバー切り替えの際のテクニックですが、DNSのホスト名やIPアドレスを変える前にレコードのTTL値を3600→600とかに短縮しておきます。これをしておくとサーバー切り替えの際のDNS浸透時間を短縮することが出来ますよ。(終わったら3600に戻すのを忘れずに)

WordPressで使用するサーバーを切り替える時の手順はこちらの記事(WordPressをGMOからさくらへ移行した際の手順まとめ)も参考にしてください。

ABOUTこの記事をかいた人

櫻井智行

ネットワーク・サーバー系のフリーのインフラエンジニア。得意分野はデータベース・ネットワーク・負荷分散あたりです。30歳の頃に独立しましたが、それまでに巻き込まれた様々なデスマーチと火消しの実績からトラブルシュート案件ばかりが依頼される様に・・・。 ビットクリア設立後は趣味の炎上・デスマーチ観察を軸にデスマーチソムリエとして小田原市・東京を中心にグローバルに活動中。