お名前.com+Route53でAWSのEC2に独自ドメインを設定する

## はじめに

アプリケーションを公開したが、IPアドレスだけだと寂しいのでドメイン名を設定したい人向けの記事となっております。

Elastic IPを取得している前提で進めていきます。

## 目次
1. お名前.comでドメインを取得
2. AWSのRoute53の設定
3. お名前.comの設定
4. ドメインとIPアドレスが紐付けられているか確認

## お名前.comでドメインを取得

まずはドメインを取得するために[お名前.com](https://www.onamae.com/)にアクセスします

アクセスしたら、トップページの検索窓に設定したいドメイン名を入力します

<img width="944" alt="スクリーンショット 2019-04-25 12.09.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/81e776a6-2f23-2f49-7391-37511a790054.png">

検索すると以下のような画面になります

<img width="1081" alt="スクリーンショット 2019-04-25 12.09.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/2ef26b62-131c-94e4-cb1a-ac1a047e95e7.png">
.netや.jpなど沢山出てきますね

ここではTLDを選択します

>TLD（Top Level Domain）とは
DNSで使われるドメインのうち、ルートのすぐ下のドメインである。
例えば、www.abc.comのようなドメイン名では、一番最後に表記されているcomがTLDとなる。

メールマークは他の誰かが使っているので取得できません。

TLDによって値段もまちまちです。

ここに表示されている料金は1年間の使用料なので、例えば「.net」であれば260円/1年です

TLDを選択したら、「お申し込みへ進む」をクリックします。

<img width="1072" alt="スクリーンショット 2019-04-25 12.31.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/343f9e64-186b-27bf-7507-f04c0f1d631a.png">

登録年数はとりあえず1年で選択します。ここはお好みで

登録年数の更新設定は後からでもできるので、悩んだら1年でいいと思います

また、下のオプションは特に設定しなくてもいいかなと思います

<img width="833" alt="スクリーンショット 2019-04-25 12.31.55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/46f6f5b4-7058-6815-d0bf-d11c1c1ac7e7.png">

今回はAWSのEC2があるので、利用しないにチェックをします

最後に、画面右にある「初めてご利用の方」にチェックを入れて「メールアドレス」と設定したい「パスワード」を入力して次へをクリックします。

あとはお支払いの選択をしたらドメイン取得完了です

登録したメールアドレスに「ドメイン登録完了通知」が来ていると思います

以上でドメインの取得が完了しました

続いてAWSのRoute53の設定を行います

## AWSのRoute53の設定

AWSにアクセスしてRoute53を選択します

<img width="1012" alt="スクリーンショット 2019-04-25 12.55.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/968a443d-893e-b43d-b96a-2c24b4ed408d.png">

次にRoute53ページの左にある「ホストゾーン」を選択して、「ホストゾーンの作成」をクリックします

<img width="935" alt="スクリーンショット 2019-04-25 12.56.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/44c35d5a-a454-f76f-74d6-2c5aaf2fa11a.png">

「ホストゾーンの作成」に「ドメイン名」と「コメント」を入力します

ドメイン名は先ほどお名前.comで取得したドメイン名です(例:abc.com)

コメントは日本語で入力できるので、ご自由に

タイプは「パブリックホストゾーン」を選択して、「作成」ボタンをクリックします

<img width="1427" alt="スクリーンショット 2019-04-25 12.56.53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/28e0aaa3-badf-f154-0585-9a22846e2243.png">

ホストゾーンを作成するとNSレコードとSOAレコードが生成されます

お名前.comの設定で使うので、NSレコードの値4つをメモします

メモしたら、上部にある「レコードセットの作成」ボタンをクリックします

<img width="1426" alt="スクリーンショット 2019-04-25 13.34.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/51fbc8e6-8614-a054-da5d-66118b8d2869.png">

「レコードセットの作成」の値にElastic IPを入力します。

その他の項目は写真と同じで大丈夫です（恐らくデフォルトの設定）

Elastic IPを入力したら「作成ボタン」をクリックします

<img width="561" alt="スクリーンショット 2019-04-25 13.53.17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/f2262517-97b6-fbec-3be0-2f6ac3155e6a.png">

以上でRoute53の設定は完了です

次はお名前.comの設定を行っていきます

## お名前.comの設定

お名前.comにログインして「ドメイン設定」の「ネームサーバーの変更」をクリックします

<img width="946" alt="スクリーンショット 2019-04-25 14.03.17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/a225c462-07a6-0e37-5b68-1ef3416ead8e.png">

「他のネームサーバーを利用」にチェックを入れて、先ほどメモした「NSレコードの値」4つを入力します
「NSレコードの値」の文末の「.」は削除します

入力したら、「確認画面へ進む」をクリックして設定を完了させて下さい

<img width="691" alt="スクリーンショット 2019-04-25 14.08.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/ae081efb-120a-3351-17f4-50a847b4cc16.png">

以上でドメイン名の取得、登録が完了しました！

## 最終チェック

最後にターミナルでドメインとIPアドレスが紐付けされているか確認しましょう

digコマンド(DNSの情報を出すコマンド)で確認します

`ANSWER SECTION`に設定したElastic IPが出ていれば24-72時間以内に反映されるので、気長に待ちましょう


```:ターミナル
dig fitness-innovator.com
~省略~
;; ANSWER SECTION:
fitness-innovator.com.	300	IN	A	52.194.24.80
~省略~
```

## 追記（Nginxの設定)

ドメインに設定したページに行くと以下が表示される

route53 Welcome to nginx on the Amazon Linux AMI!

<img width="1337" alt="スクリーンショット 2019-04-24 0.42.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335670/a65e4096-93c5-05ae-2166-815f9d9906ae.png">
時間が経てば(上記の24-72時間以内)自動的に表示されるものだと思っていたが、勘違いしていた

Nginxの設定ファイルを変更する必要があるみたいです

`server_name`の後ろをドメイン名に変更するだけでOK

```:xxx.conf
server {
  ~省略~

  server_name fitness-innovator.com;

  ~省略~
  }
```

これで無事繫がりました:v: