🌏
サブドメインのホスト:異なるホストでも問題ない?
新しくサービスをデプロイする際、ドメイン代を節約するために、サブドメインで別のホストにデプロイできるか?
そんな疑問を解決するために、調査してみました。
結論
サブドメインのホストは、所有ドメインとは異なるホストでも問題ありません。
ただし、DNSレコードの設定やウェブサーバーの構成が必要です。
サブドメインは、親ドメインの下位レベルのドメインであり、異なるホストに設定することができます。たとえば、所有ドメインがexample.com
である場合、そのサブドメインとしてsubdomain.example.com
を設定することができます。
またサブドメインは、異なるサーバーやホスティングプロバイダーにホストされることが一般的です。
ユーザがブラウザに画面表示されるまで経緯
example.com
とsubdomain.example.com
のDNSルーティングを説明します。
example.com
、subdomain.example.com
に関するDNSルーティングの説明は、基本的なプロセスが同じであります。
example.com
のDNSルーティング】
【- ユーザーがブラウザに
example.com
を入力すると、最初にユーザーのコンピューターまたはネットワークのDNSリゾルバがクエリを発行します。 - DNSリゾルバは、
.com
のTLD(トップレベルドメイン)のDNSサーバーにクエリを送信します。 -
.com
のTLDのDNSサーバーは、example.com
のNS(ネームサーバー)レコードを含む情報を返します。 - DNSリゾルバは、
example.com
のNSレコードにリクエストを送り、メインドメインのネームサーバーのIPアドレスを取得します。 - ネームサーバーは、
example.com
のA(IPv4アドレス)またはAAAA(IPv6アドレス)レコードを返します。このIPアドレスは、example.com
のウェブサーバー(例えばAWSのS3やEC2)を指します。 - ユーザーのブラウザは、取得したIPアドレスにHTTPリクエストを送信し、
example.com
のサイトが表示されます。
subdomain.example.com
のDNSルーティング】
【- ユーザーがブラウザに
subdomain.example.com
を入力すると、同様にDNSリゾルバがクエリを発行します。 - DNSリゾルバは、
.com
のTLDのDNSサーバーにクエリを送信します。 -
.com
のTLDのDNSサーバーは、subdomain.example.com
のNSレコードを含む情報を返します。 - DNSリゾルバは、
subdomain.example.com
のNSレコードにリクエストを送り、メインドメインのネームサーバーのIPアドレスを取得します。 - ネームサーバーは、
subdomain.example.com
のAまたはAAAAレコードを返します。このIPアドレスは、subdomain.example.com
のウェブサーバーを指します。 - ユーザーのブラウザは、取得したIPアドレスにHTTPリクエストを送信し、
subdomain.example.com
のサイトが表示されます。
まとめ
example.com
とsubdomain.example.com
のDNSルーティングは、それぞれのドメインに関連付けられたホストにリクエストを送信するために、DNS階層をたどることによって行われます。
この過程では、サブドメインが親ドメインから切り離され、それぞれのドメインに関連付けられたホストのIPアドレスが特定されます。
そのため、サブドメインのホストは、所有ドメインとは異なるホストでも問題ないということになります。
Discussion