ドメインの設定(Route53)

ドメインとは、ウェブサイトのURLやメールアドレスに含まれる組織名のような識別子です。インターネット上の住所とも言われます。このドメインは世界中でユニークである必要があるため、好き勝手に名前を決めることはできませんが、早いもの勝ちでだれでも取得できるものでもあります。(登録料はかかります)

ここでは、ドメインの仕組みから、AWSでドメインを設定する方法を紹介します。

ドメインの仕組み

ドメインは階層構造になっており分散管理されています。www.example.com を例にすると、下の図に示すように、最も上位のルートサーバが .comを管理しています。そして、.comのDNSサーバが example.com を管理しています。そして、example.comのDNSサーバが www.example.comを管理しています。ルートサーバは世界中で13個あり、日本にもひとつあります。これらはみんな同期がとられて同じデータを保持しています。

ルートサーバによって管理されている .com や .jp などのドメインをTLD(トップレベルドメイン)と言います。これを新たに作ることは私たち一般人には無理だと思います。

その次の example.com や testdomain.com からは私たち一般人でも早いもの勝ちで登録できます。すでに使われている名前でなければ、年間数千円の費用でドメインを取得できます。AWSのコンソールからでも登録可能です。(後述)

そして、example.com などのドメインを取得すれば、その下の www等のドメインは自分で自由に設定できます。個別のホスト名として設定もできますし、さらにその下にサブドメインを作ることも可能です。

次に実際にDNSサーバがどのように、ドメイン名をIPアドレスに変換しているかを下の図で説明します。

たいていの場合、ユーザは自分のPCが接続しているネットワークのドメインのDNSサーバを利用し、ウェブサイトのIPアドレスを取得するために、そのDNSサーバに問い合わせます。図の左側のDNSサーバです。例えば、www.example.com というウェブサイトのIPアドレスを知りたいとすると、そのDNSサーバに問い合わせます。

そのDNSサーバは、まずルートサーバに問い合わせ、次に .comを管理しているDNSサーバに問い合わせ、example.comを管理しているDNSサーバに問い合わせ、www.example.com のIPアドレスを取得し、それをユーザに返します。

右側のDNSサーバを権威DNSサーバともいい、そのドメイン内の情報を管理する役割を持っています。また、ユーザが問い合わせる左側のDNSサーバをキャッシュDNSサーバとも言い、こちらは名前解決を行う役割で、よく問い合わせのあるドメインのIPアドレスのキャッシュを持つことでレスポンスを速くできます。あるドメインの中で両者は同一のサーバでも良いですし、別々に設定することも可能ですが、DNSには大きくこの2つの機能があることを理解しておくと、DNSの設定等も理解しやすくなります。

DNSレコード

DNSサーバの主な役割は、その組織ドメインの中のホストの名前解決(ホスト名からIPアドレスへの変換)ですが、それ以外にもさまざまな情報を管理する必要があります。これらはそのタイプによってレコードとしてDNSサーバに登録します。下記に主要なレコードの種類を記載します。

レコードタイプ説明
Aホスト名に対応するIPアドレスの情報
AAAAホスト名に対応するIPv6アドレスの情報
CNAMEホスト名のエイリアス名
(わかりやすいホスト名や短い名前にする時に用いる)
MXそのドメインに送信されたメールを担当するメールサーバ
NSそのドメインのネームサーバ。
外からの自ドメインホストの問い合わせにも応答
SOAそのドメインの権威(Start Of Authority)となる情報
ドメイン全体の運用に必要な情報をここに登録する。

これらのレコードは、DNSの設定をする際にも必要となってきますので、何がどういう役割なのかは理解しておいた方が良いです。

Route53でのドメイン設定

AWSでドメインを取得したり設定するには、Route53というサービスを用います。ドメインの取得は、他のサイトで取得したものを利用することもできますが、ここではAWSのRoute53でドメインを取得するところから紹介します。

まず、Route53のサービスを選択し、ダッシュボードに行きます。ここに「ドメインの登録」や「ホストゾーンの作成」というボタンがあると思います。まずは「ドメインの登録」に進みます。(すでにドメインを持っている場合はここはスキップです)

ドメインは世界中でユニークである必要があるため、すでに利用されている名前は登録できません。ですので、ここで使用可能か検索できます。TLDは、.comや.netなどいくつか選択できますので、好きな名前が .comでとれなくても、.net でなら取れる場合もあります。

登録料は年間で 14~15USD(約2000円)です。登録すれば、すぐに利用できるようになり、ホストゾーンの作成でドメインの設定をいろいろできるようになります。

ホストゾーンの設定では、先ほどのDNSレコードを設定していくのですが、SOAレコードやNSレコードはホストゾーンを作成した時点ですでに設定されてますので、何も難しいことをする必要はありません。

必要なホスト名のIPアドレスをAレコードで登録したり、AWSリソースの長いエンドポイントに対して短いエイリアス名をCNAMEで登録したり、というのが主な作業となります。