自作railsアプリをデプロイする 番外編 Route 53でドメインを設定する
上の記事を通して、以下のようなインフラを作成しました。↓
EC2の中身はこんな感じです。↓
ここまでの設定ですと、IPアドレスを入力することでしかアプリを表示することができません。
なので今回は「Route53」を使って、独自のドメインでWebサーバーに接続し、アプリを表示することができるようにしていきます。
Route 53を軽く理解する
作成するものを図で理解する
全体的な設置図としてはこのような感じです。↓
動きとしては以下のような仕組みになります。↓
①クライアントからドメインを入力すると、フルリゾルバを介してからRoute 53にそのドメインに紐づくIPアドレスがあるかを問い合わせます。
②もしRoute 53にクライアント側で入力されたドメインが登録されていれば、それに紐づくIPアドレスをクライアントに送り返します。
実際にRoute 53を使ってドメインを設定する
※前提として、、、
- お名前.comのドメイン管理画面にログインできること
上記を前提として書いていきます。
ホストゾーンの作成
まずはRoute53のダッシュボードを開いて、「ホストゾーン」を選択して、「ホストゾーンの作成」をクリック。
こちらの画面から取得した「ドメイン名」を入力します。
タイプは、クライアントから通信できるようにしたいので「パブリックホストゾーン」にします。
「作成」を押すとホストゾーンが作成できます。
するとホストゾーンには、「NS」タイプのレコード(ネームサーバー)と「SOA」タイプのレコード(ゾーン)があることが確認できます。
しかしこのままでは、ドメインに紐付いたIPアドレスのレコード(Aレコードといいます)がないため、それを作成する必要があります。
Aレコードを作成する前に、、、
お名前.comで取得したドメインはデフォルトだとお名前.comのネームサーバーに紐付いています。↓
#EC2インスタンスにログインして、取得したドメインのネームサーバーを確認する $ dig myapp.com NS +short dns2.onamae.com ←お名前.comのネームサーバー dns1.onamae.com ←お名前.comのネームサーバー
このままだと取得したドメインで問い合わせても、Route53にドメインの管理情報(IPアドレスなど)があることにはならず、お名前.comに管理情報があるという設定になっています。
そのためAレコードを作成する前に、お名前.comにログインしてドメイン管理画面で、その設定を変更する必要があります。
お名前.comでドメインの設定
お名前.comにログインして「ドメインの設定」をクリック。
「ネームサーバーの変更」を選択します。
取得したドメインにチェックを入れて、下の方にある「他のネームサーバーを利用」を選択すると以下のような入力画面がでます。↓
ここにRoute53で先ほど作成したホストゾーンの「NSレコード」入力することで、設定が完了します。
以下の表示されているNSレコードの情報(ns~から始まるやつ)を全てコピペしましょう。↓
できたら「確認画面」を選択して「設定する」
これで設定は完了です。
確認もコマンドで一応します。 $ dig myapp.com NS +short ns-786.awsdns-34.net ns-1578.awsdns-05.co.uk ns-1041.awsdns-02.org ns-306.awsdns-38.com