AWSで公開したアプリにドメイン名でアクセス

f:id:endoakak:20200727195747j:plain

AWSに公開したアプリのIPアドレスドメインをひもづける方法です。

ドメインとは

ドメインを一言で言えば、IPアドレスに名前をつけたものです。IPアドレスは255.255.255.0のように数字の羅列なので、人間にとって読みづらくて覚えづらいです。そこで、意味のある文字列の方がわかりやすいじゃないかということで、ドメインを用います。

例:www.hatenablog.com

上の例で、「.com」の部分をトップレベルドメイン、「hatenablog」の部分を第2レベルドメイン、「www」の部分を第3レベルドメインというように、右から名前がついています。

ドメインを取得するには

ドメインICANNという団体が管理をしています。その下にレジストリと呼ばれる人たちがいて、各トップレベルドメインに対して一つの団体が管理をしています。さらにその下にいるレジストラやリセラと呼ばれる人たちが、一般向けにドメインの販売を行っています。

一般人が自分のドメインを取得したいときは、最も有名なお名前.comというサイトから買うのが無難だと思います。

多少お金はかかりますが、安いものでは1円から買えますし、メジャーな.comなども大した額ではないので、買ってみてもいいと思います。

DNSとは

DNSドメインIPアドレスを管理するシステムで、フルリゾルバとネームサーバーから構成されています。

ネームサーバーは各ドメインに対応するIPアドレスが保存されているもので、階層ごとに存在します。

フルリゾルバはドメインへのアクセスを受けるとネームサーバーにアクセスして、ひもづいているIPアドレスを探してきてくれるサーバーです。

Route 53でドメインIPアドレスをひもづける

AWSで公開しているアプリとドメイン名をひもづけるには、AWSDNSであるRoute 53というサービスを利用します。

Route 53の設定には、Qiitaなどで詳しく書いてくださっている方がたくさんいるので、細かい設定ではなくざっくりした流れを書いていきます。

Route 53でホストゾーンを作成

ホストゾーンはネームサーバーの入っている箱のようなイメージです。

独自ドメインのリソースレコードを作成

取得したドメインに関するレコードを作成します。

お名前.comでネームサーバーを設定

デフォルトではお名前.comのネームサーバーにひもづいてしまっているのでRoute 53に変更する必要があります。

Route 53でドメイン名とIPアドレスをひもづける

Aレコードを作成し、自分のアプリに割り当てたElastic IPとドメイン名をひもづけます。

まとめ

制作したアプリをデプロイして公開できただけでも嬉しいですが、自分が決めたドメイン名でアクセスできるようになるとなお嬉しいです。お金もかかるし手間もかかりますが、せっかくデプロイまでしたならドメイン名も取得するべきだと思いました。