BLOG

ブログ

普段運営しているWebサイトを新しいサーバにて公開する場合や、既存のサーバー管理を変更する時など、分からないことがあり意外と困る場合があるかと思います。

この記事では、Webサイトを公開するために何を考えなくてはいけないのか?
基本的な部分をご説明します。

Webサイトが閲覧できる仕組み

昨今ではWordpressを始めとしたCMSによって作成できるwebサイトが主流ですが、そのようなサイトをはじめとしたwebサイトは、基本的にはどこかのwebサーバーに格納されているHTMLファイルです。
HTMLファイルをブラウザを使って表示しているのが、今のwebサイトです。

では、どうやってどこかのサーバーにあるHTMLファイルを表示しているのでしょうか?

前提として、これから出てくる文言を簡単にご説明します。
・IPアドレス:PCに割り振られている一意の数字(例:127.0.0.1)
・ドメイン:人間に理解しやすいようにIPアドレスに名前を付けたもの(例:noge-printing.jp)

パソコンを家と例えると、IPは緯度経度、ドメインは住所と例えることができます。
コンピューターは緯度経度で場所を特定しますが、人間は住所で郵便物を届けるといったイメージですね。

ユーザーが「https://c-square.noge-printing.jp/」にアクセスするまでを例にして大まかに説明してみます。

登場人物は3人です。

・クライアント(ユーザー)
・Webサーバー(当webサイトHTMLが格納されている。ドメインは「noge-printing.jp」)
・DNSサーバー(ホスティングプロバイダ)

クライアントは、WebブラウザにURL「https://c-square.noge-printing.jp/」を入力します。すると、クライアントのPCはそのURLが示す情報から、Webサーバーを探そうとします。

インターネットは広いのでどこを探せばいいか分かりません。
そこで、クライアントのパソコンは最初にDNSサーバーに問合せをします。

DNSとは『ドメインネームシステム(Domain Name System)』の略で、DNSサーバーはドメインとIPアドレスを紐づけた、言わばサーバーの住所録を持っています。
クライアントのPCはDNSサーバーに問い合わせることによって、「https://c-square.noge-printing.jp/」のドメイン、つまり「noge-printing.jp」のIPアドレスをDNSサーバーから教えてもらうことができました。

この流れがあって初めてクライアントPCはWebサーバー「noge-printing.jp」のIPアドレスに「https://c-square.noge-printing.jp/」というURLでアクセスが可能になります。

一方、「https://c-square.noge-printing.jp/」でアクセスされたWebサーバーはというと、「c-square」というサブドメインに対応したHTMLを返してあげる決まりになっています。(そのように設定している必要があります。)

上記のようなやり取りが全て正常に行われると、めでたく当WebサイトのようなWebページが閲覧できるという仕組みだったのです。

Webページを外部サーバーに置くことになったら?

「noge-printing.jp」を使用しているWebサーバーが、別のWebサーバーに「hirameki.noge-printing.jp」というURLのwebサイトを作りたくなったらどうしたらよいでしょうか?(ちなみにhirameki.noge-printing.jpは当社が運営しているメディアサイト『ヒラメキ工房』のURLです)

外部サーバーに自ドメインのWebサイトを公開したいというケースが当てはまります。

今回は登場人物が2人増えます。

・クライアント(ユーザー)
・Webサーバー①(当WebサイトHTMLが格納されている。ドメインは「noge-printing.jp」)
・Webサーバー②(「hirameki.noge-printing.jp」として公開したい。)
・DNSサーバー①(Webサーバー①のホスティングプロバイダ)
・DNSサーバー②(Webサーバー②のホスティングプロバイダ)

クライアントがWebサイトを表示する仕組みは上段で分かりました。

Webサーバーが外部サーバーになったとき、DNSサーバーにどのように登録してもらえばよいのでしょうか?

上段の説明に沿って説明します。

 

クライアントは、WebブラウザにURL「https://hirameki.noge-printing.jp/」を入力します。すると、クライアントのPCはそのURLが示す情報から、Webサーバーを探そうとします。

先ほどと同様に、クライアントのパソコンは先ず、DNSサーバー①に問合せをします。

DNSサーバー①はドメインとIPアドレスを紐づけた、言わばサーバーの住所録を持っています。
クライアントのPCはDNSサーバーに問い合わせることによって、「https://hirameki.noge-printing.jp/」のIPアドレスを聞こうとします。
しかし、DNSサーバー①はWebサーバーのIPではなく、代わりに別のDNSサーバーの情報を教えてきました。

これは、DNSサーバー①にあるNSレコードという情報に「hirameki.noge-printing.jp」にアクセスがあった場合に、そのドメインのIPアドレスを知っているDNSサーバー②を教えてもらう流れになっているからです。

クライアントPCは、「hirameki.noge-printing.jp」にアクセスするためのIPを知っているDNSサーバー②に問い合わせ、ここでようやく「hirameki.noge-printing.jp」のIPアドレスを知ることができました。

こうして、クライアントPCはWebサーバー②のIPアドレスに「https://hirameki.noge-printing.jp/」というURLでアクセスが可能になります。

一方、「https://hirameki.noge-printing.jp/」でアクセスされたWebサーバー②はというと、「hirameki」というサブドメインに対応したHTMLを返してあげる決まりになっています。(そのように設定している必要があります。)

…どこが変わったでしょうか?

変わった点は下記になります。

  • クライアントのPCは、DNSサーバー①からDNSサーバー②を教えてもらった。
  • DNSサーバー①はWebサーバーのIPアドレスではなく、NSレコードを教えた。
  • 同じドメインでも、アクセス先のサーバーが違った。

この例だと、外部サーバーにアクセス先を向けるためにNSレコードを設定しました。
NSレコードは、クライアントが聞きに行くべきDNSサーバーを教えてくれるものです。

もし、DNSサーバー①のNSレコードが間違っていたらWebサイトに辿り着くことはできず、404エラー(ページが見つかりません。)と表示されることによって機会損失を発生させてしまいます。

今回はNSレコードを設定する例をお話しましたが、実はAレコードやCNAMEといったレコードでも、正しく設定すればwebサイトに辿り着くことができます。
それぞれのDNSレコードについては長くなってしまうので、今後お話する機会があればご紹介します。

このように、URLからWebサイトを閲覧するための設定は柔軟にできます。柔軟ゆえに分かりにくいところもありますが、その際は登場人物と誰が何をするのか?整理すると理解が深まります。

結局のところ、Webサイトを公開する上では、

  • DNSレコードによる、Webサーバーとドメインの紐づけ設定
  • Webサーバーにアクセスされた時に表示するHTMLファイルの格納場所

この2点を最低限押さえておく必要があるといえます。

まとめ

今回はWebブラウザでWebサイトを見るときに動いている仕組みをご紹介しました。

クライアントのPCとWebサーバーを繋ぐために必要なDNSサーバーという存在と、その設定の大切さがご理解いただけたのではないでしょうか?

 

関連記事一覧