無料ドメインでRoute 53を使ってみる

![aws-route53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/d47a226e-191c-0d06-ab85-f345527762a0.png)

:::note warn
この記事は2024年12月時点で作成されたものです。
記事の画像と実際の操作画面で差異がある場合があります。
:::

# 目次
1. [前提](#前提)
1. [環境情報](#環境情報)
1. [Route 53とは](#route53とは)
1. [ドメイン取得](#ドメイン取得)
1. [AWS構築](#aws構築)
    5.1. [ネットワーク作成](#ネットワーク作成)
    5.2. [EC2起動](#ec2起動)
    5.3. [webサーバ設定](#webサーバ設定)
    5.4. [Route 53構築](#route53構築)
    5.5. [ネームサーバ変更](#ネームサーバ変更)
    5.6. [動作確認](#動作確認)
1. [まとめ](#まとめ)

# 前提

この記事ではお名前ドットコムにて取得したドメインを利用してRoute 53の動きを検証します。

AWSの資格勉強等でよく聞くサービスだけど**実際に触ったことは無い**という方向けの記事になります。

構成図は下記になります。
今回はあくまで「Route 53の動作を確認すること」が目的なので、冗長性や可用性は無視した簡単な構成としています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/7726db7a-194e-0a79-044b-8c1a71daedd2.png)



お名前ドットコムで取得するドメインは無料のものを利用します。
この記事で利用するAWSのリソースにかかるコストはほとんど<font color='red'>無料利用枠</font>で補えるので高額請求をされる心配はありません。


# 環境情報

**クライアント**
- Windows11

**使用ソフト**
- Tera Term(バージョン: 4.105)
- Google Chrome(バージョン: 131.0.6778.86)

# Route53とは
Amazon Route 53 は、可用性が高くスケーラブルな**ドメインネームシステム (DNS) ウェブサービス**です。Route 53 は、ユーザーリクエストを AWS またはオンプレミスで実行されているインターネットアプリケーションに接続します。
<br>

https://aws.amazon.com/jp/route53/

# ドメイン取得
ドメインは**お名前ドットコム**というサイトにて取得します。

https://www.onamae.com/

<br>

サイトにアクセスして取得したい**インターネット上で一意**となるドメイン名を入力し、[検索]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/64bf527e-70d0-b9a0-9e91-27049513491c.png)

<br>

希望のドメインを選択し[次へ進む]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/e2611c4e-bfcd-8b49-b795-b7da4fff85e6.png)

<br>

[ブログ・ホームページ]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/a8e875ff-4808-f090-a672-6686714c4533.png)

<br>

<font color="Red">**ここでレンタルサーバーを削除してください。** </font>
アカウントを持っていない方はここでアカウント登録をしてください。
その次に[次へ]を押下します。

:::note info
*Whois情報公開代行メール転送オプション*はドメイン名の
**登録者などに関する情報を非公開**にしてくれるオプションです。
Whois情報は誰でも確認できるためインターネット上に個人情報が公開されるのは
困るという方はこのオプションをつけてもよいでしょう。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/a290e1f9-d767-1df9-1864-02c373810d31.png)

<br>

必要事項を入力し、[次へ進む]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/038c59ad-1835-9cec-b684-b20e6056911f.png)


<br>

支払情報を入力し[申込む]を押下します。

*※著者は既に別のドメインを取得しているため有料となっていますが、新規アカウントであれば無料になります。*
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/563598ee-c83f-8bf3-002f-0b1a0319f470.png)

<br>

これでドメインの作成が完了しました。

:::note warn
デフォルトではドメインが自動更新設定されており**課金される可能性**があります。
[こちら](https://tk-create.com/domain/onamae-dot-com-stop-domain-automatic-renewal/)から自動更新解約の手続きを参考してください。
:::

# AWS構築

ここからはAWS上にリソースを構築していきます。
この記事では<font color="Red">東京リージョン(ap-northeast-1)</font>に構築します。

AWSの利用にはアカウントが必要となりますのでアカウントを所持していない方は
[こちら](https://qiita.com/ti_and6id/items/7aaf34074346c7e5c7cc)を参考にアカウントを作成をしてください。

## ネットワーク作成
このセクションではまずリソースを設置するネットワークを作成します。

<br>

VPCコンソールにアクセスし、[VPCを作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/e2e617e0-0b2b-cded-9257-a6b512f949d2.png)


<br>

- 作成するリソース→**VPCなど**
- 名前タグの自動生成→**任意**
- IPv4 CIDR ブロック→**デフォルト値(10.0.0.0/16)**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/6f7f21e9-e4c0-a274-b11c-fd29537fad5f.png)

<br>

- IPv6 CIDR ブロック→**IPv6 CIDR ブロックなし**
- テナンシー→**デフォルト**
- アベイラビリティゾーン (AZ) の数→**1**
- パブリックサブネットの数→**1**
- プライベートサブネットの数→**0**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/6afda601-3a46-7f98-5339-ca3714a3c7d0.png)

<br>

- NAT ゲートウェイ ($)→**なし**
- アベイラビリティゾーン (AZ) の数→**なし**
- DNSホスト名を有効化→**オン**
- DNS解決を有効化→**オン**

[VPCを作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/f1dc65c3-c7a8-da21-3b1f-c3ef6adbb4c5.png)

<br>

VPC、セキュリティグループ、インターネットゲートウェイが作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/02343bc8-133b-8fa9-a716-4bfd93e9a00c.png)

<br>

これでネットワークの作成は完了です。

## EC2起動

このセクションではwebサーバとして利用するEC2インスタンスを起動します。

EC2ダッシュボードにアクセスし、[インスタンスを起動]を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/572791c6-0905-da1c-0ca8-e2d39e781e5e.png)

<br>

### 名前とタグ
- 名前→**任意**

### アプリケーションおよび OS イメージ (Amazon マシンイメージ)
- Amazon マシンイメージ (AMI)→**Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type**
- アーキテクチャ→**64ビット(x86)**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/5fb2fe72-d9ef-dded-8bdc-be56e41bebc4.png)


<br>

### インスタンスタイプ
- インスタンスタイプ→**t2.micro**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/1402c096-6e62-7e95-a519-c930a183fcb2.png)

<br>

### キーペア(ログイン)
[新しいキーペアの作成]を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/39bc12b2-7a6c-eb9e-1a04-d1fa3a6effec.png)

<br>

- キーペア名→**任意**
- キーペアのタイプ→**RSA**
- プライベートキーファイル→.**pem**

[キーペアを作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/0da3fddd-b9cb-8424-8d27-cbb01cb26013.png)

<br>

### ネットワーク設定
[編集]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/5ccfcae1-c1d0-672d-618c-28721fca0bbb.png)


<br>

- VPC→**作成したVPC**
- サブネット→**作成したパブリックサブネット**
- パブリック IP の自動割り当て→**有効化**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/0b3a63c4-bbe6-925d-9996-3de8c4858e4a.png)

<br>

- ファイアウォール(セキュリティグループ)→**セキュリティグループを作成**
- セキュリティグループ名→**任意**
- 説明→**任意**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/5a248105-5471-2579-0701-036ee4bcc266.png)

<br>

**インバウンドセキュリティグループのルール**
- **セキュリティグループルール1**
    - タイプ→**ssh**
    - ソースタイプ→**任意の場所**
    - 説明→**任意**

[セキュリティグループルール]の追加を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/2a54f767-ae97-3877-fffa-b819a09e3515.png)

- **セキュリティグループルール2**
    - タイプ→**HTTP**
    - ソースタイプ→**任意の場所**
    - 説明→**任意**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/85d68bad-81af-2786-9eaa-047691eb82c2.png)

<br>

### ストレージを設定
デフォルト値のままでよいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/0b695c9c-fd66-2214-ba2f-1fd652fab326.png)

<br>

### 高度な詳細
- ユーザーデータ→**下記のコードを貼り付け**
```ruby:ユーザーデータ
#!/bin/bash
yum update -y
yum install httpd -y 
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/29a4ab8e-33df-597b-b1ff-51fd59722532.png)

:::note info
このユーザーデータによりApacheのインストールをインスタンスの起動時に自動で行います。
:::


<br>

上記設定を確認し、[インスタンスを起動]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/9a196ccb-b81a-6077-76c0-82bca7c407e9.png)

<br>

インスタンスの起動が完了しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/789fcf7d-626e-9bab-afe5-e659ed22a2b0.png)

<br>

これでEC2の作成は完了です。

## webサーバ設定

このセクションではEC2にssh接続し、インストールされたApacheの設定を行います。

### サーバにssh接続

立ち上げたインスタンスのパブリックIPアドレスをコピーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/e91eb253-cf82-0d41-ebb1-44a43d27ea48.png)

<br>

Tera Teamを起動します。
- ホスト→**コピーしたIPアドレス**
- サービス→**ssh**
- TCPポート→**22**

[OK]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/54e4f548-ccdf-41ae-9786-4921961bd34b.png)

:::note warn
クライアントにmacOSを利用している方は[こちら](https://qiita.com/kaiyo_yume/items/d6542b95a26a79b392e4)を参照し、[接続後の手順](#indexファイルの編集)まで飛ばしてください。
:::

<br>

[続行]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/48e33601-8b38-574c-5f35-a0f685a41724.png)

<br>

- ユーザ名→**ec2-user**
- 認証方式→**RSA/DSA/ECDSA/ED25519鍵を使う**
    - 秘密鍵→**キーペア作成時にダウンロードされた.pemファイルのパス**

[OK]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/95859df8-bffa-c06e-e69b-ce8117b1e140.png)


<br>

接続できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/ce29141a-b7c3-b38d-19cc-9b3a55c86709.png)

### indexファイルの編集

次のコマンドでApacheの設定ファイルが保存されているディレクトリに移動します。
```
cd /var/www/html/
```

indexファイルを作成します。
※nanoなど他のエディタを使っても構いません。
```
sudo vim index.html
```

:::note warn
Vimの操作方法が分からない方は[こちら](https://qiita.com/niha_/items/f65fa2cbceeede7bfa8b)を参照してください。
:::

```ruby:index.html
<p>Hello World!</p>
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/e244ce48-af62-18d1-d9ac-c8378be8a0e4.png)

### Apacheサーバの起動

次のコマンドでApacheサーバを起動します。
```
sudo systemctl start httpd
```

次のコマンドでApacheサーバが正常に起動されたか確認します。
```
sudo systemctl status httpd
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/8c851d21-8d06-91a1-52b7-94b49c6df134.png)

<font color='gree'>active(running)</font>と表示されたら正常に起動されています。


### webサーバ動作確認
webサーバとして正常に動作しているか確認します。

EC2インスタンスのパブリック IPv4 アドレスをコピーしブラウザのURLバーに貼り付けてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/d2504f5a-9e70-c25b-f20e-c8a3d1f53b82.png)

Hello Worldと表示され正常に動作していることが確認できます。

これでwebサーバの設定は完了です。

## Route53構築
このセクションではRoute 53を構築し、インスタンスのIPアドレスと取得したドメインを紐づけます。

### ホストゾーン作成

<br>

Route 53のコンソールにアクセスし、[ホストゾーンの作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/199ee418-bf4f-b52a-33dc-f76b53efcf45.png)

<br>

- ドメイン名→**お名前ドットコムにて取得したドメイン**
- 説明→**任意**
- タイプ→**パブリックホストゾーン**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/f390fab9-b298-1f89-8c4d-29a3e1fa8dae.png)

<br>

タグは未設定で構いません。
[ホストゾーンの作成]を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/5a53ecb9-4444-de0e-fbdc-10ab67c0e4ef.png)

<br>

ホストゾーンの作成が完了しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/3faa5114-bff1-5e0c-6e7f-2f08677a9e0f.png)


### Aレコード作成

続いてIPアドレスとドメイン名を紐づけるAレコードを作成します。

<br>

作成したホストゾーンの画面から[レコードの作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/83bea00a-253c-7fd1-fb35-354b4a98a0ad.png)

<br>

- ルーティングポリシー→**シンプルルーティング**

[次へ]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/862cfa63-ed31-9042-5d80-96a6861e8762.png)

<br>

[シンプルなレコードを定義]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/7d11df41-9d5f-658d-98ad-29ea91e4e961.png)

<br>

- レコードタイプ→**A**
- 値/トラフィックのルーティング先→**レコードタイプに応じたIPアドレスまたは別の値**
    - 値→**webサーバのパブリック IPv4 アドレス**
- TTL(秒)→**300**

[シンプルなレコードを定義]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/1d403912-5510-cb8a-faee-e826f6c15ed8.png)

<br>

[レコードを作成]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/1dcbbf5c-e8b0-ea6d-c1be-db2163ad66e2.png)

<br>

Aレコードが作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/0b9009e2-247b-b01b-87dc-e635d6989c71.png)

<br>

これでRoute 53の構築は完了です。

## ネームサーバ変更

このセクションではお名前ドットコムのネームサーバをRoute 53に変更します。

[お名前.com Navi](https://navi.onamae.com/)にログインします。

<br>

[ネームサーバーの変更]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/593e5743-206f-f894-4154-90165f4c5e83.png)

<br>

利用しているドメイン名にチェックを入れ、[その他のサービス]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/c0438bf3-06ba-1d27-49da-f09aae5a566f.png)

<br>

ネームサーバーの欄にRoute 53 に登録したホストゾーンの**NSレコードの値**を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/199a31c2-4bd7-d824-1fdf-f1758ee5f119.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/a74292d4-0ee2-5707-c232-63b368d3ca3e.png)

<br>

[確認]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/b0f45f04-e52d-ccd5-23ec-d94cb89594dd.png)

<br>

[OK]を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/e08cd6d0-8caa-0dbb-7b93-948231783f11.png)

<br>

これでネームサーバの変更が完了しました。
**設定反映に時間が多少かかります。**

著者は5分程で反映されました。


# 動作確認

これで設定はすべて完了しました。
では、ドメインからwebサーバにアクセスできるか検証してみましょう。

<br>

ブラウザのURLバーに取得したドメインを貼り付けます。

<br>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3329746/a0950a54-0939-a5c7-037e-d4d4369aefc1.png)

無事アクセスすることができました！！

これでRoute 53がwebサーバのIPアドレスとドメイン名を紐づけていることが確認できました！


# まとめ
いかがでしたか？

このようにドメインさえあればRoute 53を簡単に構築することができます！
Route 53を利用すればわざわざDNSサーバを立てる必要が無く、オンプレでも利用できるので簡単にハイブリッドアーキテクチャを実現できます。

:::note alert
この記事で作成したAWSリソースは課金される可能性があります。
検証終了後にリソースを削除することを忘れないように注意してください。
:::


**削除すべきサービス**
- EC2
- Route 53

**また、[お名前ドットコムのドメイン継続利用設定](https://tk-create.com/domain/onamae-dot-com-stop-domain-automatic-renewal/)の解除をすることも忘れないように注意してください。**

<br>
<br>

どーん！