Route53のA、NS、CNAMEレコードの活用

# 前書き
現在AWSのSAA資格取得に向けて勉強中です。
SAAの範囲で出てきたRoute53のアウトプットの練習として、
CNAMEレコードとAレコードとNSレコードを使って、Wordpressから画像配信をしてみようと思います。

# 前提
・WordpressサーバーはEC2インスタンスで作成されているものとします。
・お名前ドットコムでドメインを購入。（shunwakawaka.blog)
・Elastic IPでwebサーバーがあるインスタンスに関連付けされている。

# 実践
**①IPアドレスでアクセスして画像表示**→**②ドメインでアクセスして画像表示**→
**③サブドメインでアクセスした画像表示**の順番でやっていきました。

# ①IPアドレスでアクセスして画像表示
IPアドレスでWordpressサーバーにアクセスし、そこに保存されている画像を表示します。
この状態ではまだDNSは使用していません

**・図解（IPアドレスでアクセス）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/4cd43028-fe7d-5329-7d43-b5557bb9fe2f.png)

**・手順**
1.ブラウザでWordpressにログイン（URLは「IPアドレス/wp-admin」）

2.ログイン後に、[メディア]→[新規追加]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/5205e1fe-054e-5259-c68d-b087ad884a20.png)

3.ファイルの選択をクリック

4.アップロードしたい画像を選択して開くをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/9500777f-2be5-8b5a-36ca-5ee3694ed7d7.png)

5.アップロードが完了したら、ライブラリをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/f4e40e00-4283-6b40-e5ad-9207a0530d57.png)

6.アップロードした画像をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/3a217f6d-8b4d-2456-f646-b47e4d5516e4.png)

7.URLをクリップボードにコピーをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/3bc142f9-f373-8aa8-a744-96fffee3cc25.png)

8.ブラウザのURLにペーストします。
![スクリーンショット (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/58852e74-6e0b-a28d-8d88-6b5b972e14d8.png)

9.画像が表示されることを確認します。IPアドレスから始まるパスで表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/0a79dca7-2d24-ba98-dd2c-4002e08f90dd.png)

# ②ドメインを指定して画像を表示
次に、ドメインでアクセスして画像が表示できることを確認します。

**・図解（ドメインでアクセス）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/271c71a9-5641-1db9-9bcd-5e7529653b33.png)

ユーザーが画像を取得するまでの流れは以下のようになります。

1.「shunwakawaka.blog」のIPアドレスを知りたいので、レジストラのネームサーバーに問い合わせます。

2.レジストラのネームサーバーはRoute 53のNSレコードに書かれたネームサーバーです。つまり「shunwakawaka.blog」のIPアドレスはRoute 53が知っているということになります。
なので「Route 53に尋ねればIPアドレスがわかる」とユーザーが知ることになります。

3.Route 53に、「shunwakawaka.blog」のIPアドレスを聞きます。

4.Route 53はAレコードをもとに、ユーザーにIPアドレスを返します。

5.ユーザーは教えられたIPアドレスをでアクセスします。

6.ユーザーは画像を取得できます。

**・手順**
1.AWSコンソールにログインして、Route 53のダッシュボードにアクセスしホストゾーンを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/cec98971-b2d3-200c-54bb-d17c3295a1b6.png)

2.ドメイン名に独自ドメインを入力
（僕の場合は「shunwakawaka.blog」です）
[説明]は適当に入力
[タイプ]は[パブリックホストゾーン]を選択（インターネット経由で確認するため）
[タグ]は適宜入力して[ホストゾーンの作成]をクリック
![kkk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/16ff4857-b053-d8c3-0f85-b23ea000590d.png)

3.レコードタブの中に、NSレコードが存在します。ここでは4つのNSレコードが存在することが確認できます。
![lll.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/4db03d0b-7ba2-5994-13aa-8bc1416146b7.png)

4.「お名前.com」の管理画面で、ネームサーバーの変更を行っているところです。Route 53で確認した4つのNSレコードを登録
※ネームサーバーの反映には、1日以上かかる可能性があります。（自分の場合は5分ほどで反映されました）
![llllll.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/abb0b3b8-494c-3825-99d9-b6be26ac1fb5.png)

5.先ほどのRoute 53でホストゾーンを作成した画面にて、[レコードの作成]ボタンをクリックします。
ドメインに対応するAレコードを登録
[レコード名]はそのままのドメイン名でよいので、サブドメインの欄は空欄
[レコードタイプ]はAレコードを選択
[値]には、WordpressサーバーのIPアドレスを入力
そのあと、[レコードの作成]ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/d40b3922-6cd8-89b1-0ab6-3c4436f2ea72.png)

6.ドメイン名でWordpressにログイン
ここまでくれば、ドメイン名（ここでは「shunwakwaka.blog」）でWordpressにアクセスできます。
![スクリーンショット (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/508d56a9-8969-1749-699a-58e915391b31.png)

念のため、digコマンドで名前解決しているか確認したらしっかり返ってきました。
```
[ec2-user@ip-10-0-0-251 ~]$ dig shunwakawaka.blog
 
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> shunwakawaka.blog
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33614
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;shunwakawaka.blog.             IN      A
 
;; ANSWER SECTION:
shunwakawaka.blog.      279     IN      A       52.196.32.57
 
;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Fri Feb 03 07:42:07 UTC 2023
;; MSG SIZE  rcvd: 62
```

7.IPアドレスでアクセスしたときと同じ要領で、ライブラリから画像を表示し、[URLをクリップボードにコピー]をクリック
![jdhhdhd.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/e8f24430-9903-9c9a-af2d-2555e8b33b3d.png)

8.URLがドメインになっており、画像が表示されることを確認
これでドメイン名でアクセスして画像が表示されるようになりました。
![スクリーンショット (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/fadbf96b-9482-102a-1bef-7a0ef8fcf295.png)

# ③サブドメインでアクセスして画像を表示
「shunwakawaka.blog」のサブドメイン（ここでは[www.shunwakawaka.blog」とします ）にアクセスして、画像を表示するまでの実践を行っていきます。

**・図解（サブドメインでアクセス）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/dff1dfce-3acf-9c84-7a47-a94fe45383db.png)

1.「www.shunwakawaka.blog」にアクセスします。
「www.shunwakawaka.blog」は「shunwakawaka.blog」のサブドメインになるので、「shunwakawaka.blog」のネームサーバー（お名前.comに登録したネームサーバー）に聞きにいきます。

2.「shunwakawaka.blog」はRoute 53で管理されている（Route 53のNSレコードに登録されている）ので、サブドメインである「www.shunwakawaka.blog」についても、「Route 53が管理しているよ」と、ユーザーに知らせます。

3.ユーザーはRoute 53に「www.shunwakawaka.blog」のIPアドレスを聞きます。

4.Route 53はCNAMEレコードとして、「www.shunwakawaka.blog」は「shunwakawaka.blog」います。
またAレコードとして、「shunwakawaka.blog」のIPアドレスは「52.196.32.57」であると知っているので、ユーザーに知らせます。

5.ユーザーは「52.196.32.57」でアクセスします。

6.「52.196.32.57」の画像を取得できます。

**・手順**
1.レコード名は、ここでは「www.shunwakawaka.blog」としたいので、「www」のみ入力します。
レコードタイプは「CNAMEレコード」を選択します。
値は、「www.shunwakawaka.blog」を入力します。（「www.shunwakawaka.blog」の別名を「shunwakawaka.blog」としたいため。
入力が完了したら、[レコードを作成]ボタンをクリックします。
![ｈｖｃ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/ad16ac73-3444-9d2f-c586-98318e7f2dcf.png)

2.サブドメインで画像が表示できるか確認します。
もともとの画像のURLが「http:\//shunwakawaka.blog/wp-content/~~~~~」でしたので、
「http:\//www.shunwakawaka.blog/wp-content/~~~~~」にアクセスします

3.URLがサブドメインになっており、画像が問題なく表示されることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2886909/bb4ad726-5f98-89da-db59-42f9f545c75a.png)

念のため、digコマンドでしっかり返ってくることが確認できました。
```
[ec2-user@ip-10-0-0-251 ~]$ dig www.shunwakawaka.blog
 
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> www.shunwakawaka.blog
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31394
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.shunwakawaka.blog.         IN      A
 
;; ANSWER SECTION:
www.shunwakawaka.blog.  300     IN      CNAME   shunwakawaka.blog.
shunwakawaka.blog.      300     IN      A       52.196.32.57
 
;; Query time: 9 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Fri Feb 03 08:28:35 UTC 2023
;; MSG SIZE  rcvd: 80

```
# 最後に
DNSの復習みたいでいいアウトプットになりました。
bindは使ったことはあったのですが、Route 53の使用方法も知れていい勉強になりました。
次回はSSL化などもやっていきたいと思います。