【入門編】 VPC内部のDNS解決とAmazonProvidedDNS(AmazonDNS)の役割 – クラウドインフラと仮想化ネットワーク実践ガイド

「あのサーバー、名前は何だっけ?」VPC内のDNS解決を、郵便配達で紐解いてみよう

こんにちは!クラウドインフラの深淵を日々探求しているSREです。

AWSでVPC(Virtual Private Cloud)を構築し始めたとき、皆さんはこんな経験をしたことがありませんか?「EC2インスタンスを立ち上げたけど、この子ってどうやって外の世界や他のサーバーの名前を知るんだろう?」と。

IPアドレス(10.0.0.5のような数字の羅列)を覚えるのは、人間には至難の業です。私たちが電話帳を使うように、ネットワークの世界にも「名前(ドメイン)」と「場所(IPアドレス)」を紐付ける「DNS(Domain Name System)」という仕組みが必須です。

今日は、AWSという巨大な仮想都市において、VPCが標準で提供している「影の立役者」である AmazonProvidedDNS について、郵便配達のストーリーを交えながら優しく解説していきます。

—

1. 「VPC + 2」の魔法:住所録を管理する郵便局

VPCを作成すると、裏側でAWSが自動的に用意してくれる特別なDNSサーバーがあります。これが AmazonProvidedDNS です。

面白いことに、その場所はいつも決まっています。VPCのネットワークアドレスの「ベースとなるIPアドレスに2を足した場所」です。
例えば、VPCのCIDRが 10.0.0.0/16 なら、DNSサーバーは 10.0.0.2 に住んでいます。

これを「町の郵便局」に例えてみましょう。

  • あなた(EC2インスタンス): 「google.com に手紙(パケット)を出したいけど、どこに送ればいいの?」と郵便局に聞きに行きます。
  • 郵便局(AmazonProvidedDNS): 「なるほど、google.com だね。それなら 142.250.xxx.xxx に送れば届くよ」と教えてくれます。

この郵便局は、AWSの巨大なネットワークの中にポツンと置かれた、非常に優秀な「案内所」なんです。

—

2. なぜ私たちは 169.254.169.253 にアクセスしているの?

ここで鋭い方は「あれ?さっき 10.0.0.2 って言ったのに、設定を見ると 169.254.169.253 と書いてあるぞ?」と気づくかもしれません。

実は、AWSには「リンクローカルアドレス」という不思議な約束事があります。どのサブネットからアクセスしても、この「魔法の数字(169.254.169.253)」に話しかければ、自動的にそのVPCの「郵便局(10.0.0.2)」に繋がるようになっているんです。

これは、あなたが日本にいてもアメリカにいても、最寄りのポストに手紙を入れれば届くのと同じです。ユーザーは場所を気にせず、常に同じ「169〜」という共通のポストを探せば良いというわけですね。

—

3. 実践:DNSが動いているか覗いてみよう

理論だけではつまらないですよね。実際にLinuxインスタンス上で、DNSがどう働いているか確認してみましょう。

まずは、自分の設定を確認します。

# 現在のDNS設定を確認します
cat /etc/resolv.conf

出力結果の中に nameserver 169.254.169.253 という記述が見えるはずです。これが「郵便局への直通電話」です。では、実際に名前解決をしてみましょう。

# digコマンドを使って、google.com のIPアドレスを聞いてみます
dig google.com

実行すると、ANSWER SECTION にGoogleのIPアドレスが返ってきます。この裏側では、OSが 169.254.169.253 に「google.com の住所を教えて!」と問い合わせ、AWSのDNSが外の世界に聞きに行って回答を持って帰ってきているのです。

—

4. 知っておくべき「二つのフラグ」

VPCの設定には、DNSを制御するための大切なスイッチが2つあります。これを知っているだけで、トラブルシュートの幅がグッと広がります。

1. DNS解決(DNS resolution): これが Enabled でないと、DNSサーバー自体が機能しません。郵便局が閉まってしまうようなものです。
2. DNSホスト名(DNS hostnames): これが Enabled だと、EC2インスタンスを立ち上げたときに ip-10-0-0-5.ap-northeast-1.compute.internal のような「インスタンス専用のホスト名」が自動で割り振られます。

現場でのチェックポイント:
もし「社内のVPC内なのにホスト名が解決できない!」というトラブルに遭遇したら、まずこの2つのスイッチがONになっているか確認してください。9割はここで解決します。

—

最後に:クラウドは「インフラの自動化」そのもの

今回お話しした AmazonProvidedDNS は、私たちが手動でDNSサーバーを構築・管理する苦労を肩代わりしてくれる、AWSの素晴らしいサービスの一つです。

「パケットがどこを通り、誰に聞きに行くのか」という流れを意識するだけで、クラウドインフラはただの「ブラックボックス」から「理解できる地図」に変わります。

最初は難しく感じるかもしれませんが、まずは「VPCには郵便局があって、そこが名前を教えてくれるんだな」というイメージを持つところから始めてみてください。一歩ずつ、確実に知識を積み上げていきましょう!

また次回の記事で、ネットワークの深い場所でお会いしましょう。ハッピーなクラウドライフを!

コメント

タイトルとURLをコピーしました