はじめに
今回からは、AWSが提供するDNS(Domain Name System)サービスである「Amazon Route53」について見ていきたいと思います。
Webサイトやシステムを作成し「できた!」と思っても、次に待っているのは外部への公開という作業です。
内部システムであれば「192.168.10.10」のようにIPアドレスの直指定でアクセスするのも良いですが、毎回これでは覚えるのが大変です。
そこで通常は、capsule.comなどのドメインを取得し、IPアドレスとの紐付けをDNSにて行います。
Route53とは
AWSのRoute53は、WebベースのDNSサービスとなります。
EC2のようなリージョンで別ではなく、エッジロケーションで提供されています。
世界中の主要都市に設けられたエッジロケーションの中で、最も近いロケーションを利用するので早い速度を担保できます。
また、Route53の料金に関しては、他のAWSサービスと同様に従量課金制を採用しています。
Route53の概要
それでは、Route53における重要な概念を確認しておきましょう。
Hosted Zone
Hosted Zoneは、DNSに置けるゾーンファイルと似たような役割を果たすもので、あるドメイン名(サブドメインを含む)に属するリソースの集合を記述することができます。
現在、SOA、NSレコード、Aレコードのほか、CNAME、MX、SPF、それにIPv6アドレス用のAAAAレコードなどをサポートしています。
Record Set
Record Setとは、要は各DNSレコードです。
Routing Policy、Set ID、ヘルスチェックの設定とDNSレコードを合わせてRecordSetです。
Routing Policy
Routing Policyは、Route53がrecordSetに対してどのようにルーティングを行うかを決定します。
デフォルトの設定である「Simple」というポリシーを設定すれば、一般的なDNSと同じ挙動です。
オプションとして「Weighted」「Latency」「Failover」「Geolocation」があります。
次節で詳細を確認します。
Set ID
Set IDは、Routing Policyを用いて複数のRecordSetで同じ名前を設定する場合、それぞれを一意に認識するために設定するIDです。
ヘルスチェック
転送先ホストの状態をチェックするための設定です。
Routing Policyの設定で「Failover」を利用する場合、ヘルスチェックの設定が必要となります。
ヘルスチェックはHTTP/HTTPS/TCPによるチェックが可能です。
Route53の機能
Route53が提供しているのは、IPアドレスとドメイン名の対応付けなどを管理するデータベースとしての役割である「権威DNSサーバー」機能です。
レイテンシーベースルーティング(Latency Based Routing)
レイテンシーベースルーティングは、同じ名前が設定された複数のリージョンに配置されたEC2インスタンスのグローバルIPアドレスやELBに対し、よりレイテンシーの小さくなるリージョンを探して自動で選択してリクエストをルーティングしてくれます。
これにより、より高速なレスポンスを得られる可能性が高まります。
重み付けラウンドロビン(Weighted Round Robin)
重み付けラウンドロビンは、転送先ごとに事前にリクエスト量を決めておく機能です。
転送先ごとに重み付けを行い、その総和における指定された重みの時間割合いで転送比率が決定される仕組みです。
DNSフェイルオーバー
DNSフェイルオーバーは、まず準備として同じ名前でPrimaryとSecondaryの2つのSetを作成しておきます。
通常はPrimaryに指定された転送先にルーティングされるようになりますが、もしPrimaryのヘルスチェックで問題が発生すると、Secondaryに設定された転送先にルーティングされるようになります。
例えば、DNSフェイルオーバーを使ってサーバーに障害が発生したら、Sorryコンテンツを用意した別サーバにルーティングを切り替えるといった利用が可能になります。
Geo Routing
Geo Routingは、DNS問い合わせがあった場所に応じて転送先を変えることができる機能です。
例えば、アジアからのアクセスの場合は東京リージョンのEC2へ、北米からのアクセスはバージニアリージョンのEC2へ転送するといったことが簡単にできます。
リージョンがマッチしないときのために、デフォルトリージョンを決めておくことも可能です。
※ロードバランサーではリージョン間のバランスは取れませんが、Route53を利用することでリージョンをまたいだバランスが可能となります
具体的な操作については、次回からバシバシ使って解説していきます!