Route53でホストゾーンの設定を行う

# 概要
お名前.comで取得したドメインをAWS Route53で使えるようにホストゾーンの設定と証明書の発行をしてみたので、メモとして記録する。

# 前提
- AWSアカウントの用意
- [お名前.com](https://tk-create.com/domain/original-domain-acquiring-method/#sec02:~:text=%C2%BB%C2%BB%C2%BB-,%E3%81%8A%E5%90%8D%E5%89%8D.com%E5%85%AC%E5%BC%8F%E3%82%B5%E3%82%A4%E3%83%88,-3.%20%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B)でドメインを購入

お名前.comのドメイン登録状態
![スクリーンショット 2024-12-30 6.05.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/68c6d251-32db-d52b-f5b8-0bd1b301abe2.png)


# 手順

## Route53でホストゾーン設定
### AWS Route53でホストゾーンを作成

AWS管理コンソールで、Route53＞ホストゾーン

`ホストゾーンの作成`を選択
![スクリーンショット 2024-12-30 6.08.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/8b49ae54-d103-b9de-b922-0306bfe4a02b.png)


お名前.comで登録したドメイン名をセットし、`ホストゾーンの作成`を選択
![スクリーンショット 2024-12-30 6.10.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/d0227b78-75d5-915b-70f4-2d315ee23322.png)

NSレコードに表示される4つのDNSをメモしておく（画像だと上の行）
![スクリーンショット 2024-12-30 6.11.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/651e6520-0e57-ba26-2f11-8aa9dee00e01.png)

### NSレコードにある4つのDNSをお名前.comに設定

お名前.comにアクセスし、ネームサーバー設定メニューからネームサーバの変更を選択

![スクリーンショット 2024-12-30 6.12.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/b624f1a7-3337-1eb8-ac6c-511343f09bb8.png)

ネームサーバ設定で以下を設定する

* ドメインの選択
    * 対象のドメイン名をチェック
* ネームサーバの選択
    * その他サービスタブを選択
    * ネームサーバ1〜4にRoute53で取得したNSレコードの4つのアドレスを指定

![スクリーンショット 2024-12-30 6.14.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/063841f1-1236-8e63-9c56-9678a57a0b5e.png)

確認画面で設定した内容が合っているか確認し、 `OK`を選択
![DNS確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/73793631-acd3-befe-d735-241b747797ab.png)



登録後、ドメイン詳細で設定を確認する
![スクリーンショット 2024-12-30 6.22.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/9946b3d6-b1a6-4029-a551-62a1b09a4fb2.png)


### 反映確認

nslookupコマンドを実行し、「Non-authoritative answer」の欄にRoute53で取得したNSのアドレスが表示されることを確認する

```
$ nslookup -type=NS {対象ドメイン}
Server:		xxx
Address:	yyy

Non-authoritative answer:
{対象ドメイン}	nameserver = ns-xx1.awsdns-xx.co.uk.
{対象ドメイン}	nameserver = ns-xx2.awsdns-xx.com.
{対象ドメイン}	nameserver = ns-xx3.awsdns-xx.net.
{対象ドメイン}	nameserver = ns-xx4.awsdns-xx.org.

Authoritative answers can be found from:
:

```

## AWS Certificate Manager(ACM)でSSL証明書を発行
Route53で設定したドメインを用いてACMでPublic証明書を発行する

### 証明書発行
AWS管理コンソールで、ACM＞証明書

`リクエスト`を選択してPublic証明書を発行する
![スクリーンショット 2024-12-31 7.42.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/fe0a6ed8-85e6-8047-647c-0e7c389e7f25.png)

`パブリック証明書をリクエスト`を選択して`次へ`
![スクリーンショット 2024-12-31 7.42.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/84d5d0ed-1fa0-1854-e7d3-edbf23b314a1.png)

以下をセットして`リクエスト`を選択
* ドメイン名
    * Route53で設定したドメイン名を入力
* 検証方法
    * DNS検証
* キーアルゴリズム
    * RDS 2048

![スクリーンショット 2024-12-31 7.44.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/0ac86afb-48c7-2a36-1bf8-52c1f26c790e.png)


:::note info
サブドメインにも証明書をリクエストする場合は、`*.{ドメイン名}`を追加
:::

![スクリーンショット 2024-12-31 7.46.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/0145905e-fe73-8135-96ee-b71c0e26a638.png)


### CNAME登録
AWS管理コンソールの、ACM＞証明書より、
リクエストした証明書を選択後、`Route53でレコードを作成`を選択

![スクリーンショット 2024-12-31 8.07.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/1409a011-3db3-4241-b04e-42eade387871.png)

`レコードを作成`を選択
![スクリーンショット 2024-12-31 8.07.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/7f9e0763-fbbf-3429-bd3c-38b1195a7f32.png)

### 設定反映確認
#### Route53のホストゾーンの詳細
CNAMEレコードが作られているのを確認
![スクリーンショット 2024-12-31 8.08.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/78f3afa4-a4e0-aeb8-2bcc-983afec7a38f.png)


#### 証明書ステータス確認
AWS管理コンソールで、ACM＞証明書

対象証明書のステータスが「発行済み」を確認
![スクリーンショット 2024-12-31 8.18.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/2cad8f61-0056-76bd-f195-9085cfb86026.png)


# さいごに
今回はドメインをRoute53に設定し、コマンドで設定の反映と、
ACMを使ってSSL証明書の発行を行なった。
次はWebページ表示までを進めていきたい。