【AWS】Route53の設定（初心者用）

# ～ はじめに ～
以前の「[記事](https://qiita.com/ponponpoko/items/ac9e9d75d1d040868155)」で購入したドメインをRoute53に設定して、作成したWebサーバーにドメインからアクセスできるようする勉強を行ったので、その備忘録をここに残します。
​

:::note info
[Amazon Route 53 とは？（AWSより引用）](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/Welcome.html)
Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。Route 53 を使用すると、ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。
:::

<font color="Red">※ Route53を使うことで、DNSサーバーの構築・維持管理が不要</font>
​
**～メモ～**
**ホストゾーンとは：**
DNSのリソースレコードの集合体のこと。（ゾーンファイルのようなもの）
**レコードセットとは：**
リソースレコードのこと
**ルーティングポリシーとは：**
Route53がレコードセットに対して、どのようにルーティングを行うか決めるもの
**ヘルスチェックとは：**
サーバーの稼働状況確認のこと
​
この記事でDNS関連で分からないことがあれば、**[ここ](https://qiita.com/ponponpoko/items/260e873c89eac88c0f32)** で解決できるかも？
​
![](https://storage.googleapis.com/zenn-user-upload/cbead7cc9f34-20230112.png)

# ドメインのネームサーバーをRoute53に変更
購入した「ドメイン」にはRoute53のネームサーバーが紐づいていないので、紐づけから始める。
そのためにはまず初めにRoute53で「ホストゾーン」を作成し、ネームサーバーを取得する。
​
Route53のダッシュボードから、「ホストゾーンの作成」をクリックする。
![](https://storage.googleapis.com/zenn-user-upload/cfefcc3fc97a-20230111.png)
​
購入したドメインを「ドメイン名」に入力し、タイプで「パブリックホストゾーン」を選択して
「ホストゾーンの作成」をクリックする。

:::note
【[パブリックホストゾーン](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/AboutHZWorkingWith.html?icmpid=docs_console_unmapped)】
インターネット上でDNSルーティングを行う際に使用するタイプ

【[プライベートホストゾーン](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html?icmpid=docs_console_unmapped)】
VPCの内部ネットワーク内でDNSルーティングを行う際に使用するタイプ
​
どちらもDNSレコードを保管するコンテナです。
:::
![](https://storage.googleapis.com/zenn-user-upload/a4a11f584dc2-20230111.png)
​
これで購入したドメインのホストゾーンが作成されます。
作成されると同時に、「SOAレコード」「NSレコード」が作成されます。
レコードにチェックを入れると、レコードの詳細情報が表示されます。

:::note
【[SOAレコード](https://wa3.i-3-i.info/word12285.html)】
ゾーン(管理する範囲)に関する情報が記載されているレコードのこと
【[NSレコード](https://wa3.i-3-i.info/word12286.html)】
ドメイン名とそのドメイン名を管理するDNSサーバ(ネームサーバ)を対応付けたレコードのこと
:::
![](https://storage.googleapis.com/zenn-user-upload/e26fa631bd4f-20230111.png)
NSレコードの詳細情報で、購入したドメインを管理するRoute53のネームサーバが確認できます。
このネームサーバーを購入したドメインに紐づけていきます。
![](https://storage.googleapis.com/zenn-user-upload/2d0e9cf22bb0-20230111.png)
​
ドメインを購入した「お名前.com」に[ログイン](https://www.onamae.com/navi/login/?btn_id=navi_login_onamaetop_header_newdesign&ab=navilogin_other_abflow)します。
![](https://storage.googleapis.com/zenn-user-upload/72cfc3456a38-20230111.png)
​
トップページのバーから「ドメイン」->「ドメイン機能一覧」を選択し、
遷移した画面で「ネームサーバーの変更」をクリックします。
![](https://storage.googleapis.com/zenn-user-upload/f81ba6139f25-20230111.png)
​
遷移した画面で「対象のドメイン」にチェックをし「他のネームサーバーを利用」を選択します。
「ネームサーバー情報を入力」の欄で、Route53得たネームサーバーを入力します。
入力完了後、「確認画面へ進む」をクリックします。
![](https://storage.googleapis.com/zenn-user-upload/e1305efa08d4-20230111.png)
​
最終確認をし、問題がなければ「設定する」をクリックします。
![](https://storage.googleapis.com/zenn-user-upload/9115c169c66f-20230111.png)
​
これでRoute53のネームサーバーと購入したドメインの紐づけは、完了です。
<font color="Red">※ 赤マーカーで書かれている通り反映に時間が掛かりますが、私は1時間程度でした。</font>
![](https://storage.googleapis.com/zenn-user-upload/fe147698e568-20230111.png)
​
現在Windowsから操作しているため、コマンドプロントより「[nslookupコマンド](https://milestone-of-se.nesuke.com/sv-basic/windows-basic/nslookup/)」を実行して購入したドメインとRoute53のネームサーバーが紐づいていることを確認してみる。

:::note warn
AWSで立てたVMで確認したところ、AWSのDNSがNSに設定されており、
Windowsのコマンドプロンプトで確認したら、お名前.comのDNSが表示された。
これはAWSのVMが、お名前.comのDNSよりも先にAWSのDNSを見に行っているからか？
:::
```shell
## 反映前は、お名前.comのネームサーバーが紐づいている。
>nslookup  -type=ns awshandson1993wiz.com
～省略～
権限のない回答:
awshandson1993wiz.com   nameserver = dns1.onamae.com
awshandson1993wiz.com   nameserver = dns2.onamae.com
​
## 反映後は、Route53のネームサーバーが紐づいている。
>nslookup  -type=ns awshandson1993wiz.com
～省略～
権限のない回答:
awshandson1993wiz.com   nameserver = ns-964.awsdns-56.net
awshandson1993wiz.com   nameserver = ns-1208.awsdns-23.org
awshandson1993wiz.com   nameserver = ns-1916.awsdns-47.co.uk
awshandson1993wiz.com   nameserver = ns-297.awsdns-37.com
```
これで紐づけは、完了です。
# ドメインに紐づくIPアドレスを登録
今度は、ドメインとWebサーバーを紐づける。
現在はまだ紐づいていないため、ドメインをブラウザから入力してもお名前.comが表示される。
<font color="Red">※ お名前.comでドメインを購入しました。</font>
​
![](https://storage.googleapis.com/zenn-user-upload/5b8612192825-20230111.png)
​
まずはRoute53で作成したホストゾーンの詳細画面に行き、「レコードを作成」をクリックする。
![](https://storage.googleapis.com/zenn-user-upload/ce49562d8c63-20230111.png)
遷移した画面より下記を設定し、設定後に「レコードを作成」をクリックする。
​
【レコード名】
　今回は、ドメイン名をそのまま使用したいのでブランク
【[レコードタイプ](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)】
　ドメイン名にWebサーバーのIPアドレスを紐づけるために、「[Aレコード](https://e-words.jp/w/A%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89.html)」を選択
【値】
　Webサーバーの「(パブリック)IPアドレス」を入力する。
【[TTL](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/best-practices-dns.html)】
　TTLは、デフォルトのまま
【[ルーティングタイプ](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/routing-policy.html)】
　標準のDNS機能を使用するために、「[シンプルルーティング](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/routing-policy-simple.html)」を選択
​
![](https://storage.googleapis.com/zenn-user-upload/4d7d1f1e5ebd-20230111.png)
​
ドメインとWebサーバーのIPアドレスが紐づいていることが確認できる。（Aレコード）
![](https://storage.googleapis.com/zenn-user-upload/514798dfe1c3-20230112.png)
​
ブラウザにドメインを入力すると、今度はちゃんとWebサーバーにアクセスできます。
![](https://storage.googleapis.com/zenn-user-upload/290043587617-20230112.png)

以上
# 追加（2023/01/19）
停止させたEC2を起動させて新しいパブリックIPを取得し、Route53のAレコードに紐づけたが、
ブラウザからドメイン名でアクセスできなかった。
だが時間を置いたら、正常にアクセスできた。
よくよく考えたら、すぐに設定が反映されるわけがない・・・。

# 追加（2023/01/20）
お金が発生しているやん・・・。
[0.50USD ホストゾーンごと / 月、最初の 25 ホストゾーン](https://aws.amazon.com/jp/route53/pricing/)

# 備考
- 【[digコマンド](https://hogetech.info/network/dns/dig)】
DNS サーバーから情報を集めるために利用するコマンド
- 【[nslookup(dig)テスト【DNSサーバ接続確認】](https://www.cman.jp/network/support/nslookup.html)】
このサイトからでもDNSサーバーの接続確認ができる。