Route53の機能とDNSで名前解決の検証

経緯

Webサイトにアクセスする際、"〇〇〇.com"などの表示を見ることがあると思いますが、これらはドメイン名というものでRoute53ではこれらのドメイン名を管理できます。
実際にどのように管理をしているの解説できたらいいと思いました。

目的

1.Route53とはどのようなサービスかを解説します。
2.DNSで名前解決ができているか、作成したドメインでWebにアクセスができるか。

説明

Route53の概要

Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。Route 53 を使用すると、ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。

1.ドメイン機能登録

ウェブサイトには 〇〇.com などの名前が必要です。Route 53 を使用すると、ウェブサイトやウェブアプリケーションの名前 (ドメイン名) を登録できます。

ドメイン名とは

インターネット上の「住所」に当たるものが「IPアドレス」ですが、IPアドレスを分かりやすく文字列にしたものを「ドメイン」といいます。このIPアドレスやドメインを使うことでWebサイトにアクセスできます。

ドメインの構造


ドメイン名を構成する最も右側のラベルを「トップレベルドメイン」と呼び、以下左へ順に「第2レベルドメイン」、「第3レベルドメイン」と呼びます。

2.DNSルーティングポリシー

ユーザーがWebブラウザを開きドメイン名をアドレスバーに入力したときRoute 53 はブラウザをウェブサイトまたはウェブアプリケーションに接続するための支援を行います。

DNS

ドメイン名とIPアドレスを紐づけるシステムのことを指しています。
ドメイン名から紐づけられたIPアドレスをDNSサーバーに問い合わせる行為を名前解決と呼びます。

DNSサーバー

DNSを実行するのにDSNサーバーというものがあります。
DNSサーバーとは、ブラウザにURLを入力した際、ローカルはDNSサーバーへ対して「ドメイン名に紐づくIPアドレス」を問い合わをして名前解決をしています。ドメイン名の入力からWebページ表示まで、PCやDNSサーバー間では以下のような処理が行われています。

3.DNSヘルスチェック

Webアプリケーション、Webサーバー、その他のリソースの正常性とパフォーマンスを監視します。
ステータス確認のステータスが変更された時に通知を受けたい場合はAmazon CloudWatchアラートで構成できます。

構成

DNS検証のためEC2でWebページを作成し、Route53でレコード名を作成します。

VPC作成


VPCを作成します。

  • AZ×1
  • パブリックサブネット×1
  • ルートテーブル×1
  • インターネットゲートウェイ×1

    EC2インスタンス作成


    ネットワーク設定

設定項目 設定値
VPC 先ほど作成したVPCを選択
サブネット パブリックサブネットを選択
自動割り当てパブリックIP 有効

セキュリティグループ作成

セキュリティグループ名 yamagami-SG-EC2-burogu
インバウンドルール1 タイプ:SSH ソース:MYIP
インバウンドルール2 タイプ:HTTP ソース:0000

インスタンスを起動します。

apacheインストール

teratermで先ほど作成したEC2とSSHで接続しapacheをインストールします。

パッケージの更新
$ sudo yum update -y
Apacheのインストール
$ sudo yum install -y httpd
Apacheの起動
$ sudo service httpd start

HTML作成

Vimを使用してHTMLファイルを作成します。中身は「Hello World」とする。

htmlファイルの作成
$ sudo vim /var/www/html/index.html
htmlファイルを確認
$ cat /var/www/html/index.html

INSERTと表示が出たら「Hello World」と入力

検証

ブラウザで表示されるか確認する
パブリックIPを入力してブラウザを開きます。
無事Hello Worldと表示されていればEC2でWebページを作ることができたということになります。

Route53作成

Route53を作成しますが、ここではホストゾーンを作成したていで行います。(実際にパブリックホストゾーンを利用するにはドメインの購入が必要になります。)

– ホストゾーンとは

ドメインおよび、サブドメインのトラフィックのルーティングする方法についての情報を保持するコンテナを指します。ホストゾーンにはパケットホストゾーンとプライベートホストゾーンの2つのホストゾーンがあり、パブリックホストゾーンはインターネット上に公開されたDNSにメインレコードを管理するコンテナです。また、インターネットのDNSドメインに対するトラフィックのルーティング方法を定義するものです。プライベートホストゾーンはVPCに閉じたプライベートネットワーク内のドメインのレコードを管理するコンテナです。VPC内のDNSドメインに対して、どのようにトラフィックをルーティングするかを定義し、1つのプライベートホストゾーンで複数VPCに対応、VPCが相互アクセス可能であれば複数リージョンのVPCでも、同じホストゾーンを利用可能です。

– DNSレコードとは

権威DNSサーバー内に存在し、そのドメイン名に関連付けられたIPアドレスや、ドメインに対するリクエストを処理する方法など、ドメインに関する情報の提供を指示するものです。
レコードにはいくつか種類があります。今回使用するレコード名のみを紹介します。

Aレコード
IPv4アドレスとドメイン名またはホスト名を紐づけるレコードです。例1.1.1.1←→〇〇.com

CNAMEレコード
あるドメインを別のドメイン名に紐づけるレコードです。例〇〇.〇〇com←→〇〇.com

エイリアスコード
一般的なDNSサーバでは、Aレコードを登録する際には値としてIPアドレスを指定することになります。しかし、ELBなどのIPが可変するAWSリソースなどがある場合、AWSリソースがデフォルトで持っているDNS名をIPアドレスの代わりに入力できるようにしてくれるのがエイリアスレコードです。

– ルーティングポリシーとは

レコードを作成するときに、クエリに応答する方法を決めます。その時の応答方法をルーティングポリシーと呼びます。レーティングポリシーにはいくつか種類がありますが、今回はシンプルルーティングのみを使用します。
※シンプルルーティングとは1 つのリソース (ウェブサイトのウェブサーバーなど) にトラフィックをルーティングすること。


レコード名を作成するための手順を解説します。
ホストゾーンからレコード作成を選択してください。

レコード作成

Aレコードを作成します

設定項目 設定値
レコード名 yamagami-burogu-a
レコードタイプ A
EC2パブリックIPアドレス
ルーティングポリシー シンプルルーティング

CNAMEレコード作成するためレコード追加をします。

設定項目 設定値
レコード名 yamagami-burogu-c
レコードタイプ CNAME
先ほど作成したAレコード名
ルーティングポリシー シンプルルーティング

次はエイリアスレコードの作成の設定を行います。

設定項目 設定値
レコード名 yamagami-burogu-alias
レコードタイプ A
エイリアス 有効

トラフィックのルーティング先

設定項目 設定値
エンドポイント このホストゾーン内にある別のレコードへのエイリアス
ドメイン名 先ほど作成したAレコード名

レコードを作成

これでRoute53の作成は終わりです。

検証

EC2でWebサイトで表示できるようになり、Route53でのレコード作成をいたしました。
次に、目的である検証を行います。

  • 1.nslookupコマンドでIPアドレスが合致しているか確認をする。
    nslookupコマンドは、IPアドレスからドメイン名を確認すること、ドメイン名からIPアドレスを確認することができるコマンドです。

    $nslookup [レコード名]

    コマンドプロンプトで入力し、実行するとIPアドレスが表示されます。

C:\Users\cpinp0023>nslookup yamagami-burogu-a.test.cloud5.jp
サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
名前:    yamagami-burogu-a.test.cloud5.jp
Address:  54.154.47.63

C:\Users\cpinp0023>nslookup yamagami-burogu-c.test.cloud5.jp
サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
名前:    yamagami-burogu-a.test.cloud5.jp
Address:  54.154.47.63
Aliases:  yamagami-burogu-c.test.cloud5.jp

C:\Users\cpinp0023>nslookup yamagami-burogu-alias.test.cloud5.jp
サーバー:  UnKnown
Address:  192.168.1.1

権限のない回答:
名前:    yamagami-burogu-alias.test.cloud5.jp
Address:  54.154.47.63
  • 2.先ほど作成したAレコード、CNAMEレコード、エイリアスレコード名でアクセスします。
    ドメインでアクセスしHello Worldと表示されたWebサイトにアクセスできたら検証クリアです。

    このように各レコード名でのアクセスを行いました。

以上で2点の検証を行い、ドメインからアクセスする際に名前解決ができているかという検証になります。

まとめ

Route53の解説とDNS検証を実施いたしました。
今回のブログでWebサイトにドメインでアクセスをするときどのような処理が行われているのかを知ることもできましたし、ドメインとIPアドレスを紐づけることで、複数のドメインからアクセスできることがわかりました。
そしてRoute53はドメイン名を簡単に管理できてとても利便性の高いサービスだと思いました。これからは上手くRoute53を活用したいと思います。

Last modified: 2023-04-26

Author