こんにちは、むっくです。
今回は、DNSとAWS Route53について、書かせてもらいます。

まず初めにドメインネームシステム(以後DNS)の役割について説明して、Route53の導入、機能について紹介していきます。

DNS

ドメインとは

インターネットでは、必ずIPアドレスを利用して外部と通信していいます。ルータやスイッチは、IPアドレスやMACアドレスを元に通信を行います。しかし、私たちはIPアドレスを意識せずとも、googleやamazonなどのWebサイト利用しています。

最近のWebブラウザにはアドレスバーが表示されないものも多くありますが、アドレスバーの表示を見てみましょう。

アドレスバー
図1.Webブラウザのアドレスバー

ドメインとは、ブラウザのアドレスバーに表示されている www.google.co.jpの部分になります。

なぜブラウザはドメインのみでインターネット通信できるのか

IPアドレスを利用しないと外部と通信できないのになぜドメインを指定するだけでgoogleやamazonのサイトにいけるのか。それを解決するものがDNSになります。

DNSは、ドメイン名からIPアドレスを参照する機能を持っています。これを正引きと言います。また、IPアドレスからドメイン名を参照することを逆引きと言います。

Webブラウザ自体はDNSの機能を持っているわけではなく、リゾルバというプログラムを使いDNSに問い合わせします。DNSに問い合わせするクライアントをリゾルバといいます。

DNSとDNSレコード

DNSは、レコードというものを使ってIPアドレス以外の様々な情報を管理しています。
以下の様な種類のレコードがあります。

Aレコード
ipv4のアドレス

AAAAレコード
ipv6のアドレス

CNAMEレコード
ドメインの別名

MXレコード
メールサーバの情報

DNSとTTL

DNSはドメイン名からIPアドレスを返すというシンプルな機能ですがその需要は多く、大量のリクエストを処理する必要がありました。それらを解決する仕組みとして、キャッシュ(キャッシュサーバ)を持つことにより解決しました。
TTLとは、キャッシュの生存期間(Time To Live)になります。

ドメインとDNS

このように、ドメインとDNSを利用することによりIPアドレスを意識せずに通信することが出来ます。ドメインはレジストリと呼ばれる機関に管理されており、レジストラ(ドメイン登録業者)を経由することにより一般の方でも取得することが可能です。
しかし、ドメインを公衆で利用するにはDNSを利用する必要があります。

今回紹介するAWS Route53は簡易にDNSを提供するサービスになります。

AWS Route53

Route53の使い方

Route53を利用してドメインを管理していきます。DNSの機能を考えると難しい設定はありません。

  1. メインのドメインを登録
  2. レコードを設定

するだけです。

まず、マネジメントコンソールより”Route 53″を選びます。
Route 53

“Create Hosted Zone”よりドメインを登録します。
Create Hosted Zoneを選択

ドメインを登録すると登録されたレコードを参照できる画面に遷移できます。
レコードを登録するときは、”Create Record Set”を押下します。
Create Hosted Zoneを選択

“Create Record Set”では、Name(登録したいドメイン名)、Type(Aレコードなど)、TTL、Value(IPアドレス)を入力してます。
Name、Type、TTL、Valueを設定

これだけで、登録したドメインとレコード情報を一般公開することが出来ます。

Route53の機能 トラフィックフロー

トラフィックフローという機能を使うことにより以下のような高価なルーティングを行うことが出来ます。

  • 重み付け(9割をAドメイン、1割をBドメイン)
  • ヘルスチェックで正常であると判断された場合のみルート
  • フェイルオーバーのルール(ヘルスチェックが異常時にS3ホストにルーティングするなど)
  • 位置情報(NorthAmerica, SouthAmerica, Europeなど)に基づくルール
  • レイテンシーによる(複数のリージョンを指定した場合適切にルーティングする)

ただし、料金はポリシーレコードあたり 50.00USD/月かかります。

最後に

いかがだったでしょうか。かなり簡潔に説明しましたが、DNSとRoute53、ドメインの理解に少しでもつながればと思います。ドメインとDNSを理解すれば、独自ドメインを取得して、自分専用のメールアドレスを作成したり、独自ドメインのWebサービスやブログなどを公開することも出来ます。派手な技術ではないですが、今後のWeb技術でも必須な知識になるかと思います。
DNS問い合わせの仕組み、キャッシュサーバについてなど説明不足なところがありましたが、機会があれば説明させて頂けたらと思います。

あわせて読みたい記事