メインコンテンツまでスキップ

Amazon Route53

Amazon Route53は何ができるの?

Overview

Amazon Route 53は、AWSが提供するDNS(Domain Name System)運用サービス。
Route 53は非常に高い可用性と信頼性を備えており稼働率100%が保証されている。
オンプレミスの場合はDNSサーバーの構築や運用が必要だが、Route53はAWSマネジメントコンソールから管理できる。

Route 53は以下の機能を備えています。

  • 権威DNSサーバー
  • ドメイン名の購入
  • ドメイン名の登録・管理

Image from Gyazo

注意点

AWS Route53を使用して新しいドメイン名を購入する機能は、AWS CDKやTerraformといったIaC(Infrastructure as Code)ツールのスコープ外となる。

Route53 機能

ヘルスチェック機能によるDNSフェイルオーバー

Route 53にはヘルスチェックという機能が備わっています。
ヘルスチェックとは、アプリケーションやサーバーなどのシステムが正常に稼働しているかを監視する機能のこと。
ヘルスチェックで問題が検知された場合、DNSフェイルオーバーの機能が作動する。
たとえば、2台のサーバーがあり、そのうち1台のサーバーで異常を検知した(ヘルスチェックがNGになった)場合、正常なサーバーに通信が自動的に切り替わります。

独自ドメインの取得

Route 53は、ドメイン登録サービスとしての機能を備えており、ドメインを取得できる。
ドメインを取得する場合はドメイン登録サービス(お名前.com など)と契約して取得するのが一般的だが、AWSではRoute 53から簡単な操作でドメインの取得が可能なため一元管理できる。
Route 53で取得したドメインは、他のドメイン登録サービスで取得したものと同様に扱うことが可能

エッジロケーションで動作

Route 53はエッジロケーションで動作しています。世界各地のエッジロケーションを利用することにより、低レイテンシーなDNSクエリを実現しています。

SLA 100%

SLAとはService Level Agreementの略で、サービスの品質保証を指す。
ドメインはどのITサービスでも使われるものであるため、AWSはRoute 53をSLA100%で提供している。
ただし、SLA 100%は絶対にサービスがダウンすることがないということではなく、あくまで100%を目指す努力をしているだけ、ということに留意する必要がある。
万が一、サービスが利用不可になった場合は、利用できなかった時間に応じたサービスクレジットを受け取ることができる場合がある。

ルーティングオプション

ネットワーク上でどのようなルートでデータを送信するか適切な配送経路を決めること。
Route53では複数のルーティングオプションを使い分けることで柔軟なルーティングを設定できる。

Image from Gyazo

シンプルルーティングポリシー

あらかじめ設定されたレコードの情報にしたがって、ドメインとIPアドレスを1対1で変換する標準的なルーティングを行います。

フェイルオーバールーティングポリシー

フェイルオーバールーティングポリシーでは、アクティブ/パッシブフェイルオーバーを構成できる。
メインのシステムと、メインのシステムに障害が発生した時に備えて同じシステムをもう1つスタンバイさせておく構成を「アクティブ/パッシブ構成」と呼び、メインとスタンバイを切り替えることをアクティブ/パッシブフェイルオーバーと呼ぶ。
Route 53では、ルーティング先に設定しているリソース(EC2やELBなど)のヘルスチェックで問題があった場合、スタンバイしているリソースにルーティングを切り替える。
2つのリージョンでアクティブ/パッシブ構成としておき、リージョン障害に対応して切り替えるといった運用が可能。

位置情報ルーティングポリシー

ユーザーの位置情報に基づいてリージョンにかかわらず地理的に近い場所へルーティングする。
DNSクエリの送信元となるIPアドレスの位置情報に基づいて、トラフィックを処理するリソースを選択できる。
大陸別、国別、米国の州別に指定でき、たとえば、「日本のユーザーからのアクセスがあった場合には日本語版のWebサイトにルーティングする」といった設定が可能になります。

地理的近接性ルーティングポリシー

ユーザーとリソースの位置関係に基づいてルーティングする。
位置情報ルーティングポリシーが送信元の地域に基づいてルーティングするのに対し、地理的近接性ルーティングポリシーはユーザー個人とAWSリソースの位置関係に基づいてルーティングするという違いがあります。

レイテンシールーティングポリシー

レイテンシーとはデータ転送における指標のひとつで、転送要求を出してから実際にデータが送られてくるまでに生じる、通信の遅延時間のことを指す。
問い合わせ地点からもっともレイテンシーが少ないリージョンにルーティングする。
レイテンシーを基準にしているためルーティングは一定ではなく、変動する可能性がある。
また、計測するのはAWSのリージョンに対するレイテンシーのみであるため、オンプレミスなど非AWSのリソースに対して設定した場合は充分に機能しない可能性があります。

複数値回答ルーティングポリシー

1つのレコードに対し異なるIPアドレスを複数登録しておき、問い合わせがあった場合にRoute 53によってランダムに選ばれたIPアドレスにルーティングします。複数のリソースにアクセスを分散させることが可能です。

加重ルーティングポリシー

あらかじめ指定した比率で複数のリソースにトラフィックを分散させる。
ルーティング先それぞれに重量を設定し、その割合に応じてルーティングします。 たとえば、新機能を一部のインスタンスに対して段階的にリリースしていくようなケースで利用される。

登録できるレコードタイプ

Route 53では次のDNSレコードが設定できる。

  • Aレコード
  • AAAAレコード
  • CAAレコード
  • CNAMEレコード
  • DSレコード
  • MXレコード
  • NAPTRレコード
  • NSレコード
  • PTRレコード
  • SOAレコード
  • SPFレコード
  • SRVレコード
  • TXTレコード

Route53では独自のDNS機能であるALIAS(エイリアス)レコードを利用できる。
ALIASレコードはAWSリソースがデフォルトで持っているDNS名をIPアドレスの代わりに入力でき、AWSのサービスを組み合わせて構成する際に便利。
たとえばELBなどのIPアドレスが可変なサービスをターゲットにする場合、IPアドレスを直接指定することは得策ではない。
これはアドレスが変わる度にレコードの修正が生じるため。
AWSリソースがデフォルトで持っているDNS名をCNAMEレコードとして登録することもできますが、同じドメイン名で他のレコードと共存できないなどの制約を受ける部分が出てきます。その点、ALIASレコードはAWSリソースがデフォルトで持っているDNS名をIPアドレスの代わりに入力できるようにしてくれる。
つまりELBやCloudFrontのエンドポイントをCNAMEレコードではなくAレコードとして指定できる。

また、ALIASレコードを使用することでDNSクエリが1回で済むためクエリ実行時間を短縮することができる

Image from Gyazo

Route53のホストゾーン

ホストゾーンとは各種DNSレコードをまとめるコンテナーを指す。
2種類合ある

  1. パブリックホストゾーン
    1. トラフィックをインターネットでどのようにルーティングするかを定義したレコード管理・保持するコンテナーを指す
  2. プライベートホストゾーン
    1. VPC内でどのようにルーティングするかを指定した内部向けのレコードを管理・保持するコンテナーでインターネットにリソースを公開せずに名前解決が可能。

Amazon Route 53のホストゾーンのユースケースとして次のようなものがあります。

  1. パブリックホストゾーン:公開Webサーバーの名前解決に使用
  2. プライベートホストゾーン:社内システムなどのインターネットを介さない通信の名前解決に使用

Image from Gyazo

ホスティングゾーン(Hosted Zone)

Hosted Zoneはドメイン名に関連するDNSレコードを保持するためのコンテナーのようなもの。
ドメイン名(例: example.com)ごとにホスティングゾーンを作成します。その中に、そのドメイン名やそのサブドメイン(例: www.example.comapi.example.com)のためのDNSレコードを追加します。

ホスティングゾーンには2種類ある。

  1. パブリックホスティングゾーン(Public Hosted Zone):

    • インターネット上のユーザーがアクセスできるDNSレコードを持っています。
    • 例: example.com のドメイン名に関連するDNSレコードを持つ場合、外部のユーザーやクライアントが example.comwww.example.com にアクセスする際に、このホスティングゾーン内のDNSレコードを参照します。
  2. プライベートホスティングゾーン(Private Hosted Zone):

    • 特定のAmazon VPC内からのみアクセス可能なDNSレコードを持っています。
    • 通常、企業の内部ネットワークや特定のアプリケーションのための内部的なDNS名解決を行うために使用されます。

ホスティングゾーンを作成すると、Route 53はそのホスティングゾーンに対して4つの名前サーバー(NS)レコードを自動的に割り当てます。これらのNSレコードは、ドメイン名を購入したレジストラーの設定に追加する必要があり、これによってRoute 53がそのドメインのDNS情報の公式なソースとして機能できるようになります。