目次
1.DNSとは?
2.なぜDNSが必要なのか
3.AWSでDNSはどのように使われているのか
4.AWSのDNS関連サービス
・AmazonProvidedDNS
・Route 53
・Private Hosted Zone
5.DNSを使う具体例
6.まとめ
DNSとは?
DNS(Domain Name System)は、ドメイン名とIPアドレスを結び付ける仕組みです。
例えば私たちがブラウザで以下のURLへアクセスするとします。
実際にはコンピュータは「example.com」という文字列ではなく、IPアドレスを使って通信しています。
example.com
↓
203.0.113.10
DNSはこの変換を行う「インターネットの電話帳」のような役割を持っています。
もしDNSがなければ、
のようにIPアドレスを直接覚えなければならなくなります。
なぜDNSが必要なのか
サーバーのIPアドレスは変更されることがあります。
例えばEC2を再作成した場合、
203.0.113.10
↓
203.0.113.25
のようにIPアドレスが変わる可能性があります。
しかし利用者は
app.example.com
という名前でアクセスしているため、DNSの設定だけ変更すれば利用者側は何も意識せずに利用できます。
DNSを利用することで、
・IPアドレスを覚える必要がない
・サーバーの移行が簡単
・可読性が高い
・システム変更時の影響を最小化できる
といったメリットがあります。
AWSでDNSはどのように使われているのか
AWSではDNSがさまざまな場所で利用されています。
例えばEC2を起動すると、
ip-10-0-1-15.ap-northeast-1.compute.internal
のようなホスト名が自動的に割り当てられます。
またEC2から外部サイトへアクセスする場合もDNSが利用されています。
EC2
↓
DNS問い合わせ
↓
google.com
↓
IPアドレス取得
↓
通信開始
実はAWSを使っている時点で、多くのケースでDNSを利用しています。
AWSのDNS関連サービス
AWSには複数のDNS関連サービスがあります。
初心者がまず覚えるべきものは以下の3つです。
AmazonProvidedDNS
VPCを作成すると自動的に利用できるDNSサービスです。
EC2は基本的にこのDNSを利用して名前解決を行います。
例えば、
amazon.com
google.com
などの名前解決も自動で実施できます。
ユーザーが特別な設定を行う必要はほとんどありません。
Route 53
AWSのマネージドDNSサービスです。
独自ドメインを管理する際によく利用します。
例えば、
example.com
というドメインを持っている場合、
www.example.com
api.example.com
などのDNSレコードを管理できます。
Route 53はAWSでWebサイトを公開する際によく利用されるサービスです。
Private Hosted Zone
VPC内部だけで利用するDNSです。
例えば、
db.internal
api.internal
などの名前を定義できます。
外部からは見えず、VPC内部だけで利用可能です。
社内システム向けの名前解決でよく利用されます。
DNSを使う具体例
AWSでは以下のような場面でDNSを利用します。
Webサイト公開
www.example.com
↓
ALB
↓
EC2
利用者はIPアドレスを意識せずアクセスできます。
API公開
api.example.com
↓
API Gateway
サービスごとにわかりやすいURLを提供できます。
サーバー間通信
app.internal
db.internal
のような名前で通信できます。
IPアドレスを設定ファイルに直接記載する必要がなくなります。
ロードバランサ利用
ALBの背後にあるサーバーが増減しても、
app.example.com
という名前は変わりません。
DNSがその変化を吸収してくれます。
まとめ
DNSは「ドメイン名とIPアドレスを結び付ける仕組み」です。
AWSでは利用者が意識していなくても、EC2やVPCの内部でDNSが活用されています。
まずは以下の3つを理解することが重要だと思いました。
・DNSは名前をIPアドレスへ変換する仕組み
・AmazonProvidedDNSで基本的な名前解決ができる
・Route 53で独自ドメインを管理できる
DNSという技術はインフラエンジニアをしていればよく聞く用語だと思います。
ネットワークはインフラエンジニアにとって特に重要な分野なので継続して学習していきたいと思います。