【Route53】深夜テンションでドメイン取得しちゃったので知見を残しておく

:::note
2025/05/28
TLDの料金変更が発表されたため、変更後の料金を追記しました。
:::

:::note warn
2025/06/18
昨日、AWS re:inforce 2025 にてアップデートの発表がありました。こちらについては後ほど追記・補足をする予定です
:::

# はじめに

最近、デジタル名刺（NFCカード）を読み込んだ時に表示されるプロフィールサイトをS3とCloudFrontを用いて作成しました（こちらについては現在記事執筆中です）。その際、深夜に作業していたこともあり、思い付きでドメイン取得もしました。せっかく取得してしまったので、この記事では、ドメインの基本的なお話から、AWS Route53を使った実際の取得手順、そしてWebサイトへの設定までを備忘として残したいと思います。

### 構成図
今回は以下の構成のうち、Route53とACMの設定が本記事の対象です。

![profile_domain.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/52aaa620-c4a8-4f55-b81a-7c17c34323e9.png)

S3とCloudFrontについては以下の記事で解説していますので、そちらをご覧ください。（CICD部分に関しては記事執筆中です）

https://qiita.com/ryu-ki/items/965d35a5b9abe86d0054

CICD部分については以下の記事で解説していますので、そちらをご覧ください。

https://qiita.com/ryu-ki/items/4117fc08969d055358f5

# そもそもドメインとは？

### ドメインの基本概念

ドメインとは、インターネット上の住所のようなものです。例えば `example.com` や `my-website.jp` といった形で表現されます。

### なぜドメインが必要なのか？

インターネット上では、すべてのサーバーやサービスに固有の識別子が割り当てられています。例えば、AWS CloudFrontを使ってWebサイトを公開した場合、デフォルトでは以下のようなアドレスが自動生成されます。

```
https://d1234abcd5efgh.cloudfront.net
```

このような自動生成されたアドレスは機能的には問題ありませんが、以下のような課題があります。

- **信頼性**：自動生成された文字列は一時的なサービスのように見える
- **ブランディング**：サイト名やサービス名を反映できない
- **将来性**：サービス変更時にURLが変わってしまうリスクがある
- **プロフェッショナル感**：きちんとしたサイトという印象を与えにくい

独自ドメインを取得することで、以下のように信頼性とブランド力のあるアドレスにできます。

```
https://ryu-ki-website.com
```

正直、今回のような個人のお遊びレベルでは別に利用しなくても困らないといえば困らないのですが、「**あった方がかっこいいやん！**」という深夜テンションで（一応上記のプロフェッショナル感を重視して）今回は取得してしまいました…

# AWS Route53とは？

AWS Route53は、Amazonが提供するDNS（Domain Name System）サービスです。DNSは、人間が覚えやすいドメイン名（`example.com`）を、コンピューターが理解できるIPアドレス（`192.0.2.1`）に変換する仕組みです。

### Route53の主な機能

- **ドメイン登録**：新しいドメインの取得
- **DNS管理**：ドメインとIPアドレスの紐付け管理
- **ヘルスチェック**：サーバーの稼働状況監視
- **トラフィックルーティング**：地理的ルーティングなどの高度な設定

### ドメイン取得にRoute53を選んだ理由

- AWSの学習になる
- AWSの他サービス（CloudFront・ACMなど）との連携が簡単
- 高い可用性と信頼性
- 管理画面が統一されていて使いやすい

# 事前準備

### 前提条件

- AWSアカウントを持っていること
- クレジットカードが登録されていること
- ドメイン名を事前に決めておくこと

### 費用について

ドメイン取得には年間費用がかかります。主要なTLDの価格目安は以下の通りです。

:::note
2025年7月1日からTLDの料金変更があるようです。取得したいものが値上がりする場合、早めに取得してしまう方がいいかもしれません。
:::

- `.com`：年間$14 → 15
- `.net`：年間$15 → 17
- `.org`：年間$14 → 15
- `.jp`：年間$90 → 54

#### 料金詳細ページ

https://d32ze2gidvkk54.cloudfront.net/Amazon_Route_53_Domain_Registration_Pricing_20140731.pdf?v=ERCTU

# Route53でドメインを取得する手順

### ステップ1：Route53コンソールにアクセス

1. AWSマネジメントコンソールにログイン
2. サービス一覧から「Route53」を選択
3. 左サイドバーの「登録済みドメイン」を選択
4. 「ドメインを登録」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/e75f13fa-9faf-4d5f-969d-c253a54cda47.png)

### ステップ2：ドメインの検索と選択

1. 希望するドメイン名を入力欄に入力
2. 「検索」ボタンをクリックして利用可能性を確認
3. 利用可能なドメインの中から希望するものを選択
4. 「チェックアウトに進む」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/bac0ffd2-c62a-4e9f-b518-8a8eb61f8194.png)

:::note
利用可能な推奨ドメインも提示してくれるので、第一希望が取れない場合の参考にしましょう。
:::

### ステップ3：ドメインの設定

登録期間と自動更新の設定を行います。

- **登録期間**：1～10年から選択可能
- **自動更新**：個人利用の場合はオフにするのがおすすめ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/f680e4dd-1c52-4d80-8e7a-2c542496f8a1.png)

今回は期間を1年、自動更新をオフに設定しました。

### ステップ4：連絡先情報の入力

ドメイン登録には以下の情報が必要です。

- 登録者の連絡先
- 管理者の連絡先
- 技術者の連絡先
- 請求に関する連絡先

下3つの情報については「同上」として設定できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/e91f4cd9-1cfb-4b3a-a02f-722e727961cc.png)

:::note warn
「プライバシー保護」のチェックを必ず入れましょう。これにより、個人情報がWHOIS検索で公開されることを防げます。
:::

### ステップ5：最終確認と購入

入力内容と利用規約を確認して「送信」を選択します。

### ステップ6：認証メールの確認

登録後、以下のメールが届きます。
1. **購入確認メール**：注文が完了したことの通知
2. **ドメイン登録確認メール**：認証が必要（重要）

:::note warn
認証メールは迷惑メールフォルダに入ることがあるので、そちらもチェックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/22c9c9f1-35f0-4816-b869-923a689d8ed9.png)
:::

認証完了後、以下のようなメールが届きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/6f6c51d5-a30b-4575-b6d7-a539c245315f.png)

これでドメイン取得は完了です。

# SSL証明書の準備（ACM）

独自ドメインでHTTPS通信を行うため、AWS Certificate Manager（ACM）でSSL証明書を取得します。

### ACMでの証明書取得手順

1. AWSマネジメントコンソールで「Certificate Manager」を選択
2. 「リクエスト」を選択
3. 「パブリック証明書をリクエスト」を選び、「次へ」を選択
4. ドメイン名に取得したドメイン名を入力
5. 検証方法は「DNS検証」を選択
6. 「リクエスト」を選択

### DNS検証の実行

1. リクエストした証明書を選択
2. ドメイン欄の「Route 53でレコードを作成」を選択
3. 検証が自動的に完了します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/53eb018d-a8dd-40c4-ba9c-cc53778f39df.png)

:::note warn
証明書は必ず**バージニア北部（us-east-1）リージョン**で作成してください。CloudFrontで使用する場合、このリージョンでないと利用できません。
:::

# CloudFrontとの連携設定

取得したドメインをCloudFrontで使用するための設定を行います。

### CloudFront設定手順

1. CloudFrontコンソールでディストリビューションを選択
2. 「編集」を選択
3. 「Alternate Domain Names (CNAMEs)」に取得したドメインを追加
4. 「Custom SSL Certificate」でACMで作成した証明書を選択
5. 設定を保存

**CNAME（Canonical NAME）**：別名レコードのことで、あるドメイン名を別のドメイン名に転送する設定です。

# DNSレコードの設定

最後に、ドメインからCloudFrontにトラフィックを転送するためのDNSレコードを設定します。

### Route53でのレコード作成

1. Route53「ホストゾーン」で対象ドメインを選択
2. 「レコードを作成」を選択
3. 以下の設定を行う
   - **レコード名**：空白（ルートドメインの場合）
   - **レコードタイプ**：A
   - **エイリアス**：有効
   - **トラフィックのルーティング先**：CloudFront ディストリビューションへのエイリアス
   - **ディストリビューション**：対象のCloudFrontディストリビューションを選択
4. 「レコードを作成」を選択

最終的にレコードは以下のような状態になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/fd80fecd-abf4-4df8-91b6-3031824407b9.png)

### 動作確認

設定完了後、ブラウザで独自ドメインにアクセスして動作確認を行いましょう。DNS設定の反映には最大48時間かかる場合がありますが、通常は数分～数時間で完了します。

# よくあるトラブルと解決方法

### 証明書エラーが発生する場合

- ACMの証明書がバージニア北部（us-east-1）リージョンで作成されているか確認
- 証明書の状態が「発行済み」になっているか確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3921802/d4dba3ab-78c6-4804-961c-877f0ad40375.png)

### ドメインにアクセスできない場合

- DNSレコードの設定が正しいか確認
- CloudFrontのCNAME設定が正しいか確認
- DNS設定の反映を待つ（最大48時間）

### 認証メールが届かない場合

- 迷惑メールフォルダを確認
- 連絡先メールアドレスの入力ミスがないか確認

# まとめ
AWS Route53を使ったドメイン取得から実際のWebサイトでの利用まで、一通りの手順を説明しました。個人レベルでの利用であれば年間$14程度で独自ドメインが持てるので、AWSの学習も兼ねて挑戦してみるのもいいのかなと思います。

**引っかかりそうなポイントの再確認**
- プライバシー保護を必ず有効にする
- 自動更新の設定に注意する
- SSL証明書は必ずバージニア北部（us-east-1）リージョンで作成する
- DNS設定の反映には時間がかかることを理解しておく


# おわりに
今回は「深夜テンション」での衝動的なドメイン取得をきっかけに、どのような作業を実施したかを整理しましたが、結果的にAWSのサービス連携について良い学習になりました。皆さんも計画的に（もしくは衝動的に？）独自ドメインでのWebサイト公開に挑戦してみては？と思いました。
ありがとうございました。