AWS Route 53でAレコードとCNAMEレコードを設定する方法を完全解説!初心者でもできるドメイン設定ガイド
生徒
「先生、AWS Route 53でドメインの設定をしているときに、AレコードとかCNAMEレコードって出てきたんですが、それって何ですか?」
先生
「AレコードやCNAMEレコードは、ドメイン名と接続先を結びつけるための大事な設定です。AWS Route 53(ルート ゴーサン)では、これらのレコードを使って名前解決を行いますよ。」
生徒
「名前解決っていうのは、文字のアドレスをIPアドレスに変換する仕組みのことでしたよね?」
先生
「その通りです!それでは、AWS Route 53でAレコードとCNAMEレコードを設定する方法を、やさしく順を追って説明していきましょう。」
1. AレコードとCNAMEレコードとは?違いを理解しよう
Aレコードとは、ドメイン名をIPアドレス(例:192.0.2.1など)に変換するレコードです。読み方はエーレコードです。たとえばwww.example.comというドメインが、特定のサーバーのIPアドレスと結びつくように設定するものです。
一方、CNAMEレコード(読み方はシーネームレコード)は、ドメイン名を別のドメイン名に変換するためのレコードです。たとえば、www.example.comをexample.comに転送したいときに使います。
どちらもDNS(ディーエヌエス)という仕組みを使って、ユーザーがアクセスしやすいようにインターネット上の場所を指定する役割があります。
2. AWS Route 53でのAレコードとCNAMEレコードの設定画面に入る方法
AWSのRoute 53(ルート ゴーサン)は、ドメインの名前解決を行うためのサービスです。Route 53を使えば、AレコードやCNAMEレコードの設定も簡単に行えます。
まず、AWSマネジメントコンソールにログインして、上部検索バーから「Route 53」と入力してサービスに移動しましょう。
- 左側メニューの「ホストゾーン」を選択
- 表示された一覧から、設定したいドメイン名をクリック
- レコード一覧が表示される画面に移動
3. Aレコードを設定する手順(IPアドレスへの紐づけ)
Aレコードの設定では、ドメイン名とIPアドレスを直接結びつけます。以下の手順で進めましょう:
- 「レコードを作成」ボタンをクリック
- 「レコード名」に設定したいサブドメイン名(例:
www)を入力 - 「レコードタイプ」は「A」を選択
- 「値」には接続先のIPアドレス(例:
203.0.113.10など)を入力 - TTL(読み方はティーティーエル)は「300」などを指定(基本はそのままでOK)
- 最後に「レコードを作成」ボタンで保存
これで、www.yourdomain.comにアクセスすると、指定したIPアドレスのサーバーに接続されるようになります。
4. CNAMEレコードを設定する手順(別ドメイン名への転送)
CNAMEレコードは、あるドメイン名を別のドメイン名に転送するために使います。以下の手順を参考にしてください:
- 再び「レコードを作成」ボタンをクリック
- 「レコード名」には転送元となる名前(例:
wwwなど)を入力 - 「レコードタイプ」は「CNAME」を選択
- 「値」には転送先のドメイン名(例:
yourapp.herokuapp.comなど)を入力 - TTLは「300」など(変更不要)
- 最後に保存して完了
この設定により、www.yourdomain.comにアクセスすると、自動的に指定した別ドメイン名に転送されます。
5. AレコードとCNAMEレコードの使い分けポイント
AレコードとCNAMEレコードはどちらもドメインの設定に使われますが、使いどころが違います:
- IPアドレスがわかっていて、直接サーバーにつなぎたいとき → Aレコード
- 接続先がドメイン名で提供されていて、転送のような動作をしたいとき → CNAMEレコード
たとえば、自分でサーバーを立てている場合やAWSのEC2を使っているときはAレコード、外部サービス(例:GitHub PagesやHerokuなど)を使うときはCNAMEレコードを使うケースが多いです。
6. 設定の確認と反映タイミングについて
レコードを保存したあとは、すぐに反映されることもありますが、最大で24〜48時間程度かかることもあります。これはインターネット全体に情報が広がるための時間です。
反映されたか確認するには、次のような方法があります:
- ブラウザでドメインにアクセスする
- コマンドプロンプトやターミナルで
nslookupやdigコマンドを使う
特に問題がなければ、設定後しばらくしてからWebページが表示されるようになります。
まとめ
ここまで、AWS Route 53(ルートゴーサン)を利用したドメイン運用の基本である、AレコードとCNAMEレコードの設定方法について詳しく解説してきました。Webサイトを公開したり、特定のWebサービスとドメインを連携させたりする際、このDNSレコードの理解は避けて通れません。
DNSレコード設定の要点と振り返り
ドメイン設定において最も重要なのは、「接続先の情報が何であるか」を正しく把握することです。サーバーの住所が数字の羅列であるIPアドレス(IPv4)であればAレコードを使い、別のホスト名やドメイン名で指定されている場合はCNAMEレコードを選択します。
また、AWS環境特有の機能として「エイリアスレコード」というものも存在しますが、基本となるのは今回ご紹介したAレコードとCNAMEレコードです。これらをマスターすることで、独自ドメインによるWebサイト運用がスムーズになります。
運用時に役立つ技術情報
設定が正しく反映されているかを確認するためには、ブラウザでアクセスする以外にも、コマンドラインツール(ターミナルやコマンドプロンプト)を活用するのが確実です。以下のコマンドを使って、名前解決の結果を確認する習慣をつけましょう。
nslookup www.example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: www.example.com
Address: 203.0.113.10
もし設定を変更した直後に結果が変わらない場合は、TTL(Time To Live)の設定値を確認してください。キャッシュが残っている間は、古い情報が表示され続けます。トラブルシューティングの際は、まず「dig」コマンドなどで詳細なステータスを見るのが定石です。
dig www.example.com CNAME
; <<>> DiG 9.10.6 <<>> www.example.com CNAME
;; ANSWER SECTION:
www.example.com. 300 IN CNAME yourapp.herokuapp.com.
AWS SDKやCLIでの自動化
大規模な運用では、マネジメントコンソールを使わず、JSON形式で定義したレコードをAWS CLIから一括で更新することもあります。例えば、以下のようなJSONファイル(change-batch.json)を用意して実行します。
<!-- JSON形式での定義例(AWS CLI用) -->
{
"Comment": "CREATE A record for the web server",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "www.example.com.",
"Type": "A",
"TTL": 300,
"ResourceRecords": [
{
"Value": "203.0.113.10"
}
]
}
}
]
}
このように、Route 53は単なるドメイン設定ツールにとどまらず、プログラマブルに制御できる強力なマネージドサービスです。最初は手動での設定に慣れ、徐々にCLIやTerraformなどのIaC(Infrastructure as Code)ツールでの管理に移行していくのがステップアップの近道です。
最後に、ドメイン設定は全世界のインターネットに影響を与える設定です。一度設定を間違えると、修正したとしても古い情報が世界中のサーバーにキャッシュとして残り続けてしまうことがあります。設定を保存する前には、入力したIPアドレスやドメイン名に間違いがないか、必ず指差し確認を行うようにしましょう。
生徒
「先生、ありがとうございました!AレコードとCNAMEレコードの違い、すごくスッキリしました。Aは『Address(アドレス)』のAで、直接IPアドレスを指定。CNAMEは『Canonical Name(正規名)』で、別名を付けるイメージなんですね。」
先生
「その理解でバッチリです!暗記というよりは、『接続先が数字(IP)か、名前(ドメイン)か』で判断すると迷わなくなりますよ。Route 53は画面も使いやすいので、初心者の方でも操作しやすいのがメリットですね。」
生徒
「さっき教えてもらった『nslookup』コマンドも試してみました。自分の設定が反映されていくのを見ると、なんだかインターネットの仕組みを動かしている感じがしてワクワクします!」
先生
「その感覚は大切ですね。ネットワークの基礎は、実際に手を動かしてコマンドで確認するのが一番の学習になります。ただ、TTL(有効期限)の話をした通り、設定を変えてもすぐには全世界に反映されないこともあるので、そこだけは焦らずに待ちましょうね。」
生徒
「はい!反映待ちの間に、次はAWSの他のサービス、例えばS3やCloudFrontとRoute 53を連携させる方法についても調べてみたいと思います。ドメインが繋がると、一気に自分のサービスっぽくなりますもんね。」
先生
「素晴らしい意気込みです。S3の静的ウェブサイトホスティングやCloudFrontと組み合わせる場合は、実は『エイリアスレコード』というRoute 53独自の便利な機能を使うことが多いんです。基本のAレコードを理解した今のあなたなら、すぐに使いこなせるようになりますよ。頑張りましょう!」
生徒
「エイリアスレコードですね。また新しい用語が出てきましたが、基本を押さえていれば大丈夫そうですね。少しずつステップアップしていきます。今日も丁寧な解説をありがとうございました!」