初心者向け：お名前.comで購入したドメインをAWS ACMとRoute53でSSL証明書を取得する手順

## はじめに
本記事では、「お名前.com」で取得した独自ドメインを利用し、AWSのCertificate Manager（ACM）を用いてSSL証明書を発行する方法を解説します。

:::note
**手順の中では、Route53を利用したDNS管理や証明書のCNAMEレコードの登録も行います。**
:::

未来の自分への備忘録としても活用できる内容として整理していきます。

## 知識整理
### お名前.com
「お名前.com」は、日本でよく利用されているドメイン登録サービスです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/f6b6d37f-6260-c935-a895-c6d15600d4b6.png)
引用画像：https://www.onamae.com/

独自ドメインの購入や管理が可能で、本記事で使用する「honda333.blog」もこのサービスで取得したものです。

### Route53
AWSが提供するDNS（Domain Name System）サービスです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/52a9b3fb-74fb-31ad-2afe-1a8966bd31a7.png)
引用画像：https://en-junior.com/route53/

Route53は、ドメインのネームサーバ情報を管理したり、DNSレコードを設定するために利用します。本記事では、これを使用してお名前.comのドメインを管理します。

### ACM（AWS Certificate Manager）
ACMは、AWSが提供するSSL/TLS証明書の発行・管理サービスです。

https://qiita.com/free-honda/items/ee77d4ad7a0617470cb7

:::note wearn
**AWS Certificate Managerを使うことで、WebサイトをHTTPS化するためのSSL/TLS証明書を無料で簡単に取得できます。**
:::

## 実際にやってみた
### 1. ホストゾーン作成とネームサーバの登録

AWSマネジメントコンソールにログインし、「Route53」にアクセスします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/96e6b452-fdea-7f23-ae42-aba73977442b.png)

「ホストゾーン」セクションで、「パブリックホストゾーン」を作成します。このとき、ドメイン名として honda333.blog を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/2cdb3613-9d99-42db-d5d4-0ca063b65ec9.png)

作成が成功すると、独自のパブリックホストゾーン 「honda333.blog」 が作成されていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d7b2c14b-799a-c9e5-7806-967c979304a5.png)

また、4つのNSレコード（ネームサーバ情報）が表示されます。この情報は後ほど使用します。

```bash
ns-794.awsdns-35.net.
ns-1441.awsdns-52.org.
ns-1700.awsdns-20.co.uk.
ns-20.awsdns-02.com.
```

### 2. ネームサーバの登録

次に、お名前.com の管理画面にログインし、「ネームサーバー情報」セクションで 変更ボタン を選択します。

:::note alert
**注意: 末尾のドット（.）は入力不要です。**
:::

そして、先ほど確認した4つのネームサーバを登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/dc1edf6d-c123-1fd2-f717-41041dfc470f.png)

登録後、反映状況を確認するため、以下のコマンドを実行します。

```bash
nslookup -type=NS honda333.blog
```

実行結果にAWSのネームサーバが表示されれば、登録が成功していることを確認できます。

反映には1日以上かかる場合もありますが、今回は約45分程度で反映されました。

```bash
権限のない回答:
honda333.blog nameserver = ns-794.awsdns-35.net
honda333.blog nameserver = ns-1441.awsdns-52.org
honda333.blog nameserver = ns-1700.awsdns-20.co.uk
honda333.blog nameserver = ns-20.awsdns-02.com
```

この手順を完了することで、AWSのネームサーバを利用した名前解決が可能になります。

### 3. ACMを使用した証明書作成

AWSマネジメントコンソールで「Certificate Manager」にアクセスし、「パブリック証明書」をリクエストします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/2413f350-0d86-37bb-c5cb-15621b53f5c6.png)

証明書に登録するドメイン名は以下の通りです。

:::note warn
- **honda333.blog**
- ***.honda333.blog**
:::

これにより、サブドメイン（例: ``www.honda333.blog`` など）も保護対象となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/4621a7b9-de66-8e7c-931c-70ba7f835d29.png)

証明書をリクエストすると、ACM画面にCNAMEレコードの「名前」と「値」が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d105ea6c-eb1a-bcf9-6e72-296991bf9833.png)

「Route53でレコードを作成」をクリックして、CNAMEレコードを追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/86bc573b-51ff-053a-d163-933e79ad8301.png)

数分から数時間で、証明書のステータスが「発行済み」になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/7ed851e3-4611-be6f-b090-5591356f0575.png)

ステータスが問題なく「発行済み」と表示されれば、設定は完了です！

## まとめ

AWS ACMを利用することで、無料で簡単にSSL証明書を取得できました。

:::note warn
**以下が今回の手順のポイントです。**
- **Route53でホストゾーンを作成し、お名前.comにネームサーバを登録**
- **ACMで証明書をリクエストし、CNAMEレコードを設定**
- **数分待つことで証明書が発行され、HTTPS化が可能**
:::

今回の手順を参考に、ぜひご自身の独自ドメインでも試してみてください！

## 参考記事

https://www.beex-inc.com/blog/20231214_onamae_awsacm

https://zenn.dev/fusic/articles/da14e4defe46e3