こんにちは!
クラウドインテグレーション2部(CI2部)技術3課の反町です。
今回は前回の記事の続きでAmazon Route 53では何ができるのか調査してまとめたいと思います。
↑前回の記事ではDNSの基本の基本についてまとめています!
Route 53でできること
1. Route 53とは?
Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。Route 53 を使用すると、ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。 引用元:Amazon Route 53 とは? - Amazon Route 53
Route 53では主に以下の機能が利用できるようです。
ネームサーバーとしての利用
トラフィックのルーティング
リソースの正常性チェック
それぞれの機能で具体的に何ができるのか次から見ていきたいと思います。
ネームサーバーとしての利用
1. HostZone
ホストゾーンでドメイン名のリソースレコードを管理できます。
前回の記事でも書いているように、ホストゾーンを作成すると、NSレコードとSOAレコードが自動的に作成されました。
※基本これらのレコードには変更を加えません。
PublicHostZoneとPrivateHostZone
- パブリックホストゾーン:パブリックホストゾーンは、あるドメイン、例えば example.com とそのサブドメイン (acme.example.com や zenith.example.com) のトラフィックをインターネットまたは特定のドメインでルーティングする方法についての情報を保持するコンテナです。
- プライベートホストゾーン:Amazon VPC サービスで作成する 1 つ以上の VPC 内のドメインとそのサブドメインへの DNS クエリに対し、Amazon Route 53 がどのように応答するかに関する情報を保持するコンテナです。
パブリックホストゾーンはインターネット上のドメインの名前解決をするレコードを管理できるホストゾーン、 プライベートホストゾーンは特定のVPC内のドメインの名前解決をするレコードを管理するホストゾーンのようです。
このゾーンの中にレコードをどんどん入れていくことで、DNSサーバーとしての役割をもっていくわけですね!!
2. エイリアスレコード
Route 53をネームサーバーとして利用する場合に特徴的なのがエイリアスレコードです。
エイリアスレコードはCNAMEレコードとよく似ていますが、AWS特有のレコードでオンプレミスなどで利用するレコードにはない機能です。 これはCloudFrontやロードバランサ―など、リソースのIPが一定ではなく変化するものに対して使用できます。
例えばエイリアスレコードを使用して lb1-1234.us-east-2.elb.amazonaws.com の ELB ロードバランサーにトラフィックをルーティングしており、ロードバランサーの IP アドレスが変更された場合、Route 53 は自動的にリソースの変更を認識して、新しい IP アドレスを使用して 名前解決を行います。
トラフィックのルーティング
1. シンプルルーティング
ドメインで特定の機能を実行する単一のリソースがある場合に使用します。例えば、example.com ウェブサイトにコンテンツを提供する 1 つのウェブサーバーなどです。
1つのリクエストに対して、一つの値を返します。
例えば、example.comには192.168.11.22のウェブサイトを返す。などです。
2. 加重ルーティング
指定した比率で複数のリソースにトラフィックをルーティングする場合に使用します。
例えば、リソースが存在する環境を2つ準備して片方に4割がルーティングするようにし、残り6割がもう片方の環境にルーティングするように設定できます。
加重ルーティングのメリットは単純に負荷分散や新しいアプリケーションのリリースのためルーティングの割合をわけてアプリケーションのテストを行う場合などに利用されます。
3. フェイルオーバールーティング
アクティブ/パッシブフェイルオーバーを構成する場合に使用します。
例えば、障害時に備えて違うリージョンやネットワークに同じ構成の環境で稼働するアプリケーションを準備しておき、障害が起きた場合にはフェイルオーバールーティングのルールにのとって障害が起きていない環境へトラフィックをルーティングすることができます。これにより、ユーザーはダウンタイムなくアプリケーションの利用を続けることができます。
※赤矢印が切り替わるイメージです。
4. 複数値回答ルーティング
ランダムに選ばれた最大 8 つの正常なレコードを使用して Route 53 が DNS クエリに応答する場合に使用します。
複数値回答ルーティングは一つのDNS名にいくつかのIPアドレスを設定することができる機能になります。
シンプルルーティングの場合でも、一つのDNSレコードに対していくつかのIPアドレスを設定することはできました。一方で、複数値回答ルーティングは複数あるIPアドレスごとにレコードを分けることができます。
レコードを分けることで何がメリットになってくるかというと、複数あるIPアドレスをそれぞれヘルスチェックが行えるという点になります。
Route 53のヘルスチェック機能は、レコードごとにしか行えないため、シンプルルーティングにて複数のIPアドレスを登録すると利用できないIPへトラフィックをルーティングしてしまう可能性がありました。しかし、複数値回答ルーティングによってレコードを分けて登録することでレコードごとにヘルスチェックを行うことができるため利用できるIPアドレスへのみトラフィックをルーティングできます。
すべての値が正常な場合はランダムにトラフィックをルーティングします。
5. レイテンシールーティング
複数の AWS リージョンにリソースがあり、より少ない往復時間で最良のレイテンシーを実現するリージョンにトラフィックをルーティングする場合に使用します。
例えば、東京リージョンと大阪リージョンに同じ構成のAWS環境があったとします。
同じDNS名が利用されていた場合、それぞれの環境の早く接続できる方のサーバーへトラフィックをルーティングすることができます。ユーザーアクセシビリティを維持したいときに利用します。
※環境のレイテンシーによって赤矢印が切り替わるイメージです。
6. 位置情報ルーティング
ユーザーの位置に基づいてトラフィックをルーティングする場合に使用します。
例えば、バージニア北部リージョンと東京リージョンにルーティングさせたいリソースがあったとします。
リソースにアクセスしようとしているユーザーの位置情報から近いほうのリージョンにトラフィックをルーティングします。国や地域ごとに表示させたい内容が違ったりするときに利用すると便利です。
7. 物理的近接性ルーティング
リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用します。
位置情報ルーティングとの違いがあまりわかりませんでしたが、位置情報ルーティングと同様のことができます。
ただ、違いといえば位置情報ルーティングがユーザーの位置情報に基づいてルーティング先を決めるのに対して地理的接近性ルーティングはユーザーとリソース両方の地理的情報を基にルーティングを決めるようです。
ヘルスチェック・DNSフェイルオーバー
Route 53ヘルスチェック
Route 53ヘススチェックにはいくつかの種類以下4つの種類があります。
エンドポイントをモニタリングするヘルスチェック
他のヘルスチェック (算出したヘルスチェック) を監視するヘルスチェック
CloudWatch アラームをモニタリングするヘルスチェック
Amazon Route 53 Application Recovery Controller
引用元:Amazon Route 53 ヘルスチェックの種類 - Amazon Route 53
今回は比較的わかりやすい、エンドポイントをモニタリングするヘルスチェックについて取り上げていきたいと思います。
これはRoute 53がインターネット経由でアプリケーションやサーバーなどのリソースに送信を実施して、そのリソースまで届くのか、そのリソースが使える状態なのかを確認してくれる機能になります。
ヘルスチェックしてみた
実際にEC2を利用してEC2が使用できる状態なのか判断するヘルスチェックを作成して試してみました。
ヘルスチェックはインターネット経由で行われるため、EC2にはパブリックIPを付与しておきます。
Route 53 は、自動リクエストをインターネット経由でアプリケーションやサーバーなどのリソースに送信して、そのリソースが到達可能、使用可能、機能中であることを確認します。
また、ヘルスチェックはHTTPで行うのでセキュリティグループにHTTPを許可するルールを設定しました。
EC2が作成出来たら、Route 53ヘルスチェックを作成します。
するとリソースの正常性(TCPの接続ができるか)が判定されRoute 53の画面から確認することができます。
まとめ
Route 53では主に以下の機能が利用できることがわかりました。
ネームサーバーとしての利用
トラフィックのルーティング
リソースの正常性チェック
個人的にはトラフィックのルーティングについてもう少し深く理解しなければならないなと思いました。 またエンドポイント以外のヘルスチェックも気になりますね。
Route 53には機能がたくさんあり追いきることは難しそうですが、オンプレミスとの接続にも使えたりするようなので 少しずつ追っていきたいと思います!
最後まで読んでいただき、ありがとうございました。