[Chapter-7]Route53の設定

| タイトル |
|:-|
|  [[Chapter-1]VPCの設定](https://qiita.com/Jackson123/items/c7b0a7a6ae659fe48a3b) |
|  [[Chapter-2]EC2の設定](https://qiita.com/Jackson123/items/53cc698b1b7cfdbfe368) |
| [[Chapter-3]EC2のサーバー環境構築](https://qiita.com/Jackson123/items/821d89184d87b6020df5)  |
|  [[Chapter-4]EC2にRailsアプリの配置](https://qiita.com/Jackson123/items/e91eec2f76774717bdee) |
|  [[Chapter-5]ロードバランサー(ELB)の作成](https://qiita.com/Jackson123/items/a739525d0084747405d7) |
| [[Chapter-6]ACM(AWS Certificate Manager)でSSL証明書を取得](https://qiita.com/Jackson123/items/eb586c33fe3c5b7d9dad)  |
|  [[Chapter-7]Route53の設定](https://qiita.com/Jackson123/items/6b41ebde0eec072a283e) |
|  [[Chapter-8]https化に向けたロードバランサーの設定](https://qiita.com/Jackson123/items/d6819d3dbf304aebd459) |
|  [[Chapter-9]https化によるRoute53の設定](https://qiita.com/Jackson123/items/9ceae188a53f646e55e9) |
|  [[Chapter-10]https化によるNginxの設定](https://qiita.com/Jackson123/items/255263a260f7a833bf1d) |
## はじめに
DNSの機能を持つAWSのRoute53を使って、IPアドレスとドメインを関連付けします。
また自分の手順書としてのメモですので画像はありません。あしからず。
ドメインが既に取得していることを前提としますので、まだ設定していない方はドメインを取得してください。
私は以下のサイトから取得しました。

https://www.onamae.com/


## 1. 手始めに　Route53の設定

AWSのサービス検索欄から「Route53」と入力して、それを選択します。

画面左にある「ホストゾーン」を選択して、
遷移したページで「ホストゾーンの作成」を選択します。

以下の通りに記述します。
ドメイン名：　取得したドメイン名
コメント：　「domain for アプリ名」
タイプ：　「パブリックホストゾーン」

その後「作成」ボタンをクリックします。

するとドメインに対する「値」が生成されます。
タイプ「NS」の４つの値があるのでそちらを使用して進めていくのでメモしておきましょう

## 2. ネームサーバーの変更
ご自身で取得したドメインにネームサーバーを設定します。
自身で取得したドメインの詳細画面を開いてください
※基本的にはどのサービスでもやり方は同じです。

ドメインの詳細を選択して「ネームサーバー情報」からネームサーバーを設定していきます。
今回はRoute53のネームサーバーを使うので他のネームサーバーの利用を選択します。
先程メモした、４つの値を入力します。**末尾の「.」は入れません**
入力したらそれを確定してください

## 3. ターミナルからネームサーバの確認
ターミナルを使ってネームサーバを確認します。
サーバー環境で以下のコマンドを入力してください

```
[ec2-user@ip-10-0-0-246 ~]$ nslookup
> set type=ns
> hogehoge.com(ドメイン名)
```

以下のような表示が出れば成功です。

```
Server:		10.0.0.2
Address:	10.0.0.2#53

Non-authoritative answer:
hogehoge.com	nameserver = ns-41.awsdns-05.com.
hogehoge.com	nameserver = ns-543.awsdns-03.net.
hogehoge.com	nameserver = ns-1061.awsdns-04.org.
hogehoge.com	nameserver = ns-1598.awsdns-07.co.uk.
```
ネームサーバーが設定されるのに時間がかかる場合があるので、上記のように表示されなくても
数分経ったら再度実行してみてださい

4. Route53でドメインを適応
ホストゾーンからドメイン名をクリックして「レコードを作成」をクリックします。

以下のように記載します。
レコード名：　「www」
レコードタイプ：　「A-IPv4アドレス」
エイリアス：　設定しない
値：　「Elastic IP」
TTL (秒)：　「300」
ルーティングポリシー：　「シンプルルーティング」

「レコードを作成をクリック」

## 4. サーバーでNginxを設定
```
[ec2-user@ip-10-0-0-246 ~]$ sudo vi /etc/nginx/conf.d/アプリ名.conf
```
server_nameを「www.ドメイン名」に変更します。

```
client_max_body_size 4G;
server {
  listen 80;
  server_name www.hogehoge.com;
.
.
.
```
:wq または Shift + ZZ で保存&編集完了

Railsアプリに移動してNginxを再起動します。

```
[ec2-user@ip-10-0-0-246 ~] $ cd /var/www/rails/アプリ名/
[ec2-user@ip-10-0-0-246 hogehoge] $ sudo service nginx restart
```

Unicornを再起動させます。
まずはUnicornの起動を確認

```
$ ps -ef | grep unicorn | grep -v grep
```

```
ryogo    11658     1  0  4月24 ?      00:00:02 unicorn_rails master -c /var/www/rails/travelour/config/unicorn.conf.rb -D -E production
ryogo    11662 11658  0  4月24 ?      00:00:02 unicorn_rails worker[0] -c /var/www/rails/travelour/config/unicorn.conf.rb -D -E production
ryogo    11663 11658  0  4月24 ?      00:00:02 unicorn_rails worker[1] -c /var/www/rails/travelour/config/unicorn.conf.rb -D -E production
```

表示されたUnicornの番号をkillしてください。
上記の場合、1行目の11658のみkillすれば良いです。

```
$ kill 11685
```
これでUnicornは停止しました。
停止できたか確認しましょう

```
$ ps -ef | grep unicorn | grep -v grep
```
何も出なければ停止状態です。
Unicornを改めて起動します。

```
$ bundle exec unicorn_rails -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production
```
これで設定したドメインにアクセスできるようになります。
ブラウザから設定したドメインにアクセスします。

```
http://www.hogehoge.com/
```
ブラウザにアプリ画面が表示されれば成功です
これで取得したドメインをデプロイしたアプリに紐付ける事が出来ます

まだこれだとSSL化をしていないので設定はちゃんとしましょう。