はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
今回の説明対象
AWS Route53
サービスの内容
機能説明
ドメインの名前解決を行うDNS権威サーバの仕組みを提供するマネージドサービス
主な利用方法
名前解決とは端的に言うと「ドメインをIPアドレスに変換する」のこと。単純なドメインの名前解決としての利用方法は試験にて出てくることはほぼない(当たり前すぎて…)。Route53が試験に出る内容としては耐障害性や冗長性を目的とした特殊な名前解決である
①特殊なルーティング
ルーティングというとどうしてもネットワークの経路という意味で捉えがちなのだが、Route53でも名前解決で通信経路を変えられるという意味で「ルーティング」という言葉を使っている(と思う)。そしてRoute53には利用用途に応じてルーティングを変える特殊な仕組みがある。つまり、条件によって返答内容を変えることができる。
種類 | 内容 |
---|---|
シンプル | 通常の名前解決 |
加重 | リクエストの分散比率を指定してアクセスを振り分けるよう名前解決を都度変更する仕組み。拠点Aは60%、拠点Bは40%のアクセスに振り分ける等 |
レイテンシ | アクセスしてきたクライアントから最もレイテンシが低い(距離が近い)拠点を割り出して、名前解決を行うこと |
ジオロケーション | アクセスしてきたクライアントをチェックして、地域によって名前解決を変えること。レイテンシと混同する場合があるが、レイテンシはあくまで速度重視のルーティングに対してジオロケーションは地域別に利用するシステムを指定する場合に使う。 |
最も試験で出てくるのはレイテンシベースルーティング。
②フェイルオーバールーティング
これもルーティングの一種だがSAPでは特に出現するキーワード。Route53にはドメインに指定されたエンドポイントに対してヘルスチェックを行うことができる。ヘルスチェックでエラーになった場合、DNSをセカンダリのシステムに書き換えて応答する。エンドポイントのヘルスチェックは以下の条件で判定している。
- Route53とエンドポイントのTCP確立が4秒以内
- 接続後にHTTP応答コードが2秒以内に返ってくる
- 2xxもしくは3xxの応答コードが返ってくる
- 返答が返ってきたHTTPボディに指定された文字列が含まれている
類似サービス
Route53 resolverというキャッシュ機能のサービスも提供している。名前は抑えておこう。
コスト
名前解決を行った回数あたりの課金となる。ルーティングの種類によって若干料金が違う
テストのポイント、その他
SAPでよく問われる冗長化の問題ではRoute53に加えCloudFrontやELBなどとよく比較される。
以下、主にEC2などのAZサービスが複数リージョン・拠点にシステムがある場合の冗長化で使われるサービスを示す。
サービス | 冗長範囲 | 説明 |
---|---|---|
Route53 | リージョンレベル | DNSレベルで通信をコントロールする。昔はCloudFrontでフェイルオーバー機能がなかったのだが現在はできるので機能の差が見えづらい。なお拠点に障害が発生している際にS3に設置してあるエラーページを表示させる場合はRoute53のフェイルオーバーを利用する |
CloudFront | リージョンレベル | 本来はCDN(キャッシュ)機能を提供するサービスで冗長化を目的とはしていないが昨今ではRoute53と同じく機能追加が図られている。ヘルスチェックによるフェイルオーバー機能がある |
ELB | 複数AZ | ロードバランサ配下の冗長化。複数のAZに対して通信を振り分けられるが、リージョン障害には対応できない。Route53やCloudFrontと合わせて利用される |
主にリージョン障害等を問うてくるSAPではRoute53やCloudFrontの冗長化を使う問題が多い。仕様は若干違うものの、Route53とCloudFrontの冗長化は同じようなことができるので解答選択のなかで両者が登場すると悩みどころだと思う。ただその場合は下手に機能の差を考えるのではなく、以下の視点で考えるとよい。
- Route53はキャッシュ機能があるわけではないので(仮にレイテンシベースを指定したとしても)劇的な高速化は見込めない。要件にキャッシュ機能を使いたいなどの内容があればCloudFrontを選択する
- CloudFrontは本来キャッシュ機能の提供なので当然コストがかかる。低いコストで冗長化を求めていたり、S3にあるエラーページを表示させたいならばRoute53を選択する