🌏

サブドメインのホスト:異なるホストでも問題ない?

2024/04/09に公開

新しくサービスをデプロイする際、ドメイン代を節約するために、サブドメインで別のホストにデプロイできるか?
そんな疑問を解決するために、調査してみました。

結論

サブドメインのホストは、所有ドメインとは異なるホストでも問題ありません。
ただし、DNSレコードの設定やウェブサーバーの構成が必要です。
サブドメインは、親ドメインの下位レベルのドメインであり、異なるホストに設定することができます。たとえば、所有ドメインがexample.comである場合、そのサブドメインとしてsubdomain.example.comを設定することができます。
またサブドメインは、異なるサーバーやホスティングプロバイダーにホストされることが一般的です。

ユーザがブラウザに画面表示されるまで経緯

example.comsubdomain.example.comのDNSルーティングを説明します。
example.comsubdomain.example.comに関するDNSルーティングの説明は、基本的なプロセスが同じであります。

example.comのDNSルーティング】

  1. ユーザーがブラウザにexample.comを入力すると、最初にユーザーのコンピューターまたはネットワークのDNSリゾルバがクエリを発行します。
  2. DNSリゾルバは、.comのTLD(トップレベルドメイン)のDNSサーバーにクエリを送信します。
  3. .comのTLDのDNSサーバーは、example.comのNS(ネームサーバー)レコードを含む情報を返します。
  4. DNSリゾルバは、example.comのNSレコードにリクエストを送り、メインドメインのネームサーバーのIPアドレスを取得します。
  5. ネームサーバーは、example.comのA(IPv4アドレス)またはAAAA(IPv6アドレス)レコードを返します。このIPアドレスは、example.comのウェブサーバー(例えばAWSのS3やEC2)を指します。
  6. ユーザーのブラウザは、取得したIPアドレスにHTTPリクエストを送信し、example.comのサイトが表示されます。

subdomain.example.comのDNSルーティング】

  1. ユーザーがブラウザにsubdomain.example.comを入力すると、同様にDNSリゾルバがクエリを発行します。
  2. DNSリゾルバは、.comのTLDのDNSサーバーにクエリを送信します。
  3. .comのTLDのDNSサーバーは、subdomain.example.comのNSレコードを含む情報を返します。
  4. DNSリゾルバは、subdomain.example.comのNSレコードにリクエストを送り、メインドメインのネームサーバーのIPアドレスを取得します。
  5. ネームサーバーは、subdomain.example.comのAまたはAAAAレコードを返します。このIPアドレスは、subdomain.example.comのウェブサーバーを指します。
  6. ユーザーのブラウザは、取得したIPアドレスにHTTPリクエストを送信し、subdomain.example.comのサイトが表示されます。

まとめ

example.comsubdomain.example.comのDNSルーティングは、それぞれのドメインに関連付けられたホストにリクエストを送信するために、DNS階層をたどることによって行われます。
この過程では、サブドメインが親ドメインから切り離され、それぞれのドメインに関連付けられたホストのIPアドレスが特定されます。
そのため、サブドメインのホストは、所有ドメインとは異なるホストでも問題ないということになります。

Discussion