AWSで公開したアプリにドメイン名でアクセス
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で公開しているアプリとドメイン名をひもづけるには、AWSのDNSであるRoute 53というサービスを利用します。
Route 53の設定には、Qiitaなどで詳しく書いてくださっている方がたくさんいるので、細かい設定ではなくざっくりした流れを書いていきます。
Route 53でホストゾーンを作成
ホストゾーンはネームサーバーの入っている箱のようなイメージです。
独自ドメインのリソースレコードを作成
取得したドメインに関するレコードを作成します。
お名前.comでネームサーバーを設定
デフォルトではお名前.comのネームサーバーにひもづいてしまっているのでRoute 53に変更する必要があります。
Route 53でドメイン名とIPアドレスをひもづける
Aレコードを作成し、自分のアプリに割り当てたElastic IPとドメイン名をひもづけます。
まとめ
制作したアプリをデプロイして公開できただけでも嬉しいですが、自分が決めたドメイン名でアクセスできるようになるとなお嬉しいです。お金もかかるし手間もかかりますが、せっかくデプロイまでしたならドメイン名も取得するべきだと思いました。