16
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】DNSサーバーを立てて名前解決してみた

Last updated at Posted at 2025-03-13

はじめに

AWS EC2とWindows Appを使ってMacの中にWindowsを立ち上げ、DNSサーバーを構築してみました
まだ3回しか投稿してないですが、自分史上最長の記事になってしまいました。
スクロールが大変でしたら「DNSサーバーとは?」だけでも読んでいってください

ここでは、DNSサーバーを構築する方法 について詳しく解説していきます。

DNSサーバーとは?

image.png
引用画像:https://sskshogo.com/2023/02/21/3584/

ドメイン名(gxxxle.comとかyxhxx.co.jpとか)をIPアドレスに変換するやつです。
なぜ変換するのかというと、
ドメイン名のままではパソコンが理解できないためです。

逆にIPアドレスを人間が覚えやすくするために変換したのがドメイン名です。
ドメイン名からIPアドレスに変換するのを「正引き(forward lookup))」
IPアドレスからドメイン名に変換するのを「逆引き(reverse lookup)」
と言います。

また、この変換する行為のことを「名前解決」と言います。

さらに、「ドメイン名に対応するIPアドレス」が書かれた記録を「Aレコード」と言います。
このAレコードは、DNSサーバーの中にある「ゾーンファイル」というテキストファイルにあります。
ゾーンファイルの情報をまとめて「DNSレコード」と言います。
AレコードはDNSレコードのひとつということですね。
他のDNSレコードには、Aレコードで定義されているドメイン名に別名を定義するCNAMEレコードやメールサーバーを指定するMXレコードなどがあります。

【ハンズオン】DNSサーバーを立ててみよう

環境 : Mac
前提

  • AWSのアカウントを作成している
  • Windows Appをインストールしている
下記の順で進めます
  1. AWS EC2にWindowsサーバーを構築する
  2. AWS EC2に接続する
  3. Windows AppでWindowsサーバーに接続する
  4. Server ManagerでDNSサーバーをインストール
  5. DNSサーバーにAレコードを追加
  6. 他のDNSサーバーへの転送(フォワード設定)をしてみる

1. AWS EC2にWindowsサーバーを構築する

1-1. AWSコンソールにログインし、ホームから「VPC」を選択します
スクリーンショット 2025-03-12 22.12.41.png

1-2. 「VPCを作成」をクリック
スクリーンショット 2025-03-12 22.13.14.png

1-3. 画像の赤枠の通りに設定し、「VPCを作成」をクリック

スクリーンショット 2025-03-12 22.18.42.png

スクリーンショット 2025-03-12 22.19.05.png

スクリーンショット 2025-03-12 22.19.20.png

VPCのプレビュー

スクリーンショット 2025-03-12 22.19.36.png

VPC作成が成功しました!

スクリーンショット 2025-03-12 22.19.57.png

1-4. EC2インスタンスを起動します

スクリーンショット 2025-03-12 22.21.22.png

1-4-1. 名前やマシンイメージを選択

スクリーンショット 2025-03-12 22.22.48.png

1-4-2. キーペアを作成します。公開鍵と秘密鍵のことです。

スクリーンショット 2025-03-12 22.23.25.png

スクリーンショット 2025-03-12 22.24.11.png

1-4-3. キーペアを作成すると、インスタンスを起動の画面に自動入力されます

スクリーンショット 2025-03-12 22.24.28.png

1-4-4. ネットワークの設定で、「編集」をクリックします

スクリーンショット 2025-03-12 22.26.04.png

1-4-5. VPCは自分が作成したものを選択します

スクリーンショット 2025-03-12 22.28.42.png

1-4-6. インバウンドのセキュリティグループのルールを追加します

スクリーンショット 2025-03-12 22.28.52.png

「インスタンスを起動」を押すと、起動が開始されます

スクリーンショット 2025-03-12 22.29.45.png

2. AWS EC2に接続する

スクリーンショット 2025-03-12 22.30.11.png

「キーペアの作成」でダウンロードしたpemファイルをアップロードし、パスワードを復号化します

スクリーンショット 2025-03-12 22.35.17.png

パスワードとユーザー名をメモしておきましょう

スクリーンショット 2025-03-12 22.36.09.png

EC2インスタンスのパブリックIPアドレスもメモしましょう
スクリーンショット 2025-03-12 22.38.12.png

3. Windows AppでWindowsサーバーに接続する

3-1. Windows Appを起動し、➕ボタンでPCを追加します

スクリーンショット 2025-03-12 22.37.26.png

スクリーンショット 2025-03-12 22.37.42.png

3-2. PC name にEC2インスタンスのパブリックIPアドレスを入力し、Add Credentialsをクリックします

スクリーンショット 2025-03-12 22.38.41.png

3-3. メモしたユーザー名とパスワードを入力してAddをクリック

スクリーンショット 2025-03-12 22.39.32.png

3-4. AddをクリックしPCを追加します

スクリーンショット 2025-03-12 22.39.44.png

3-5. 追加したPCをダブルクリック

スクリーンショット 2025-03-12 22.40.07.png

3-6. 続けます

スクリーンショット 2025-03-12 22.40.29.png

3-7. なんということでしょう。Macの中にWindowsPCができました

スクリーンショット 2025-03-12 22.41.18.png

4. Server ManagerでDNSサーバーをインストール

4-1. メニューからServer Managerを開きます

スクリーンショット 2025-03-12 22.41.37.png

4-2. ManageからAdd Roles and Featuresをクリック

スクリーンショット 2025-03-12 22.42.17.png

4-3. しばらくNextで進んでください。(ちょっと疲れてきたので割愛します)

スクリーンショット 2025-03-12 22.44.41.png

4-4. Server Rolesまで来たら、DNS Serverにチェックを入れます

スクリーンショット 2025-03-12 22.45.29.png

4-5. チェックを入れようとしてクリックすると確認画面と警告画面が出ますが、進み続けましょう

スクリーンショット 2025-03-12 22.45.39.png

スクリーンショット 2025-03-12 22.45.56.png

4-6. 「インストールしたら自動で再起動する」にチェックを入れてインストールをクリックします

スクリーンショット 2025-03-12 22.46.48.png

スクリーンショット 2025-03-12 22.46.30.png

4-7. インストールが完了したみたいです。closeをクリックします

スクリーンショット 2025-03-12 22.48.57.png

4-8. デスクトップの検索バーで「dns」と検索してみると...ありましたね! DNSサーバーが使えるようになりました👏

スクリーンショット 2025-03-12 22.49.43.png

5. DNSサーバーにAレコードを追加

まず、ゾーンファイルを追加します

スクリーンショット 2025-03-12 22.50.02.png

5-1. 右クリックしてNew Zoneを選択

スクリーンショット 2025-03-12 22.50.38.png

スクリーンショット 2025-03-12 22.51.04.png

スクリーンショット 2025-03-12 22.51.15.png

5-2. ゾーンファイルの名前を付けます

スクリーンショット 2025-03-12 22.51.59.png


スクリーンショット 2025-03-12 22.52.10.png

フィニッシュ!
スクリーンショット 2025-03-12 22.52.20.png

5-3. ゾーンファイルにAレコードを追加します。右クリックからNew Hostを選択

スクリーンショット 2025-03-12 22.53.49.png

5-4. ドメイン名とIPアドレスを入力してください

スクリーンショット 2025-03-12 22.54.16.png

5-5. Macでターミナルを開いてnsloopupコマンドを試します。 ServerをEC2インスタンスのIPアドレスにしてください

スクリーンショット 2025-03-12 22.56.15.png

これで名前解決が確認できました!

6. 他のDNSサーバーへの転送(フォワード設定)をしてみる

実はDNSサーバーたちは互いに協力しあっています
自分のゾーンファイルにないドメインの名前解決を求められると、他のDNSサーバーに依頼するんです。
では設定してみます
右クリック→プロパティから設定できます
スクリーンショット 2025-03-12 22.56.37.png

ターミナルで確認します
Aレコードに追加していない、google.comが名前解決できました!
Aレコードに追加したものと比べて、返答まで数秒かかりました
スクリーンショット 2025-03-12 23.00.09.png

あと片付け(EC2インスタンスとVPCの削除方法)

インスタンスの状態、またはアクションから削除できます

スクリーンショット 2025-03-12 23.01.34.png

スクリーンショット 2025-03-12 23.03.32.png

スクリーンショット 2025-03-12 23.03.46.png

【おまけ】1.1.1.1って何?

Cloud Flare(クラウドフレア)が提供する世界最速のDNSサーバーのIPアドレスです。
なんで最速なんでしょう?
なんと、名前解決する機能だけでなくCDNの役割もあるらしいんです。

CDN(コンテンツ・デリバリー・ネットワーク)って何?

ざっくり言うと、
「最寄りのサーバーからサイト配信元のサーバーまで遠いから、一度見たページ情報はキャッシュとして最寄りのサーバーに保存しておこう」というものです。
具体的に言うと、ヒカキンさんの動画は日本でよく見られているから、日本のサーバーにキャッシュが保存されているはずなので、快適に視聴できます。

image.png
引用画像:https://www.akamai.com/ja/glossary/what-is-a-cloud-cdn

例えると、真冬に炬燵があると極力出たくないから炬燵から手が届くところに物が集まるのと同じ感じです、多分。

詳しくは、この記事を読んでね

まとめ

最後までお読みいただきありがとうございます。
今回はDNSサーバーの概要と構築方法などについて自分なりの理解をまとめました。

ブラウザでWEBサイトを開いたとき、最初に行われるのがDNSの名前解決です。
つまり名前解決が早いほど、ページの切り替えも早いんですね。

参考文献

16
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?