本記事の内容
本記事では、初めてRoute 53を扱う人やAWS認定資格取得を目指す方向けに、Route 53の基礎知識を解説します。
- Route 53の仕組み
- ルーティングポリシーの種類
- 作成時の設定項目
Route 53の概要
Route 53は、AWSのスケーラブルなDNSサービスで、ドメイン名の管理やトラフィックのルーティングを行います。高可用性と低レイテンシを提供し、ユーザーがインターネット上のリソースに簡単にアクセスできるようにします。
DNSサービスは、ドメイン名をIPアドレスに変換して、ウェブサイトやサービスにアクセスできるようにする仕組みです。これにより、ユーザーは難しい数字のアドレスではなく、覚えやすい名前でインターネットを利用できます。
Route 53の仕組み
ユーザーがブラウザにドメイン名を入力すると、そのリクエストがRoute 53に送信されます。
Route 53は、指定されたドメイン名に関連付けられたDNSレコードを検索し、対応するIPアドレスを返却します。
ブラウザは受け取ったIPアドレスを指定して、対象のサーバにリダイレクトします。
Route53の特徴
Route 53の以下特徴
- 高可用性
- 多様なルーティングポリシー
- ヘルスチェックとフェイルオーバー
特徴①:高可用性
Route 53は、複数の地理的リージョンに分散されたDNSサービスを提供し、高可用性を実現しています。障害が発生した場合でも、他のリージョンからのトラフィックを自動的にルーティングすることで、サービスの継続性を保ちます。
特徴②:多様なルーティングポリシー
ルーティングポリシーとは、ユーザーからのDNSリクエストを特定のルールに基づいて、最適なエンドポイントに振り分ける方法です。Route 53では、以下のルーティングポリシーを提供します。
- シンプルルーティング
- フェイルオーバールーティング
- 位置情報ルーティング
- 地理的近接性ルーティング
- レイテンシールーティング
- IPベースルーティング
- 複数値回答ルーティング
- 過剰ルーティング
各ルーティングポリシーの詳細は、以降の「Route53の種類と設定項目」で解説します。
特徴③:ヘルスチェック
指定されたエンドポイントやリソースの健康状態を監視する機能があります。この機能により、Route 53は対象のリソースが正常に稼働しているかを定期的に確認し、異常が発生した場合にはトラフィックを別の正常なリソースに切り替えることができます。
またCloudWatchアラームを設定することで、ヘルスチェックのステータスが変更されたときに通知を送信することもできます。
Route 53の種類と設定項目
Route 53では様々なルーティングポリシーを提供します。
以降では、それぞれの概要と作成時の設定項目を解説します。
②-1 シンプルルーティング
単一のリソースに対してDNSリクエストを直接振り分ける、基本的なルーティング方法です。
- 特殊なルールを必要とせず、標準的なDNSレコードを簡単に設定できます。
- 複数のIPアドレスを指定することで可用性を向上できます。(ただしその場合は、登録されたIPアドレスの内ランダムなIPアドレスに接続されます。)
- 指定したIPアドレスのヘルスチェックが行われないため、故障時にトラフィックがダウンするリスクがあります。
- 地理的位置や負荷に基づくトラフィックの最適化ができないため、ユーザー体験が損なわれる可能性があります。
設定項目
項目 | 説明 |
---|---|
レコード名 | DNSレコードの識別子であり、特定のドメインやサブドメインを指定します。例えば、「www.example.com」や「api.example.com」など、アクセスするリソースを定義するために使用されます。 |
レコードタイプ | 利用するレコードタイプを指定します。(※) |
値 | レコードタイプに基づいて関連付けるデータを入力します。 |
TTL | DNSレコードの情報がキャッシュされる時間を指定します。この時間が経過すると、DNSリゾルバーは新しい情報を取得するために再度DNSクエリを行います。 |
【補足】レコードタイプ(※)
レコードタイプ | 説明 | 利用例 |
---|---|---|
A | ドメイン名をIPv4アドレスに紐づけます。 | ウェブサイトexample.com を訪問するために、192.0.2.1 のIPアドレスを設定します。これにより、ユーザーがインターネット上でそのサイトにアクセスできるようにするために利用します。 |
AAAA | ドメイン名をIPv6アドレスに紐付けます。 | IPv6対応のユーザーがexample.com にアクセスするために、2001:db8::1 を設定します。これにより、IPv6を使用しているデバイスからのアクセスを可能にします。 |
CNAME | 別のドメイン名へのエイリアスを設定します。例えば、www.example.com をexample.com に指すことができます。 | www.example.com をexample.com にリダイレクトするために設定します。これにより、ユーザーがどちらのURLでも同じコンテンツにアクセスできるようにし、SEO効果も高めます。 |
MX | ドメイン宛のメールを受信するサーバーを指定します。 | example.com 宛のメールをmail.example.com で受信するように設定します。これにより、正しいメールサーバーにメールが届くようになります。 |
TXT | ドメインに関する任意のテキスト情報を保存します。 | SPFレコードを設定して、example.com からのメールが許可される送信者を指定する。これにより、メールのなりすましを防ぎ、メールの信頼性を向上させます。 |
NS | 特定のドメインやサブドメインを管理するDNSサーバーの情報を示します。 | ドメインexample.com をns1.example.com で管理するように設定します。これにより、そのドメインに関するDNS情報がどのサーバーで管理されるかを指定します。 |
②-2 フェイルオーバールーティング
プライマリリソースが正常な場合にトラフィックをルーティングし、異常時にはセカンダリリソースに自動的に切り替えるDNSルーティング方式です。
- プライマリリソースがダウンしても、セカンダリリソースへの自動切り替えによりサービスの継続性が保たれます。
- 様々なリソース(例:S3バケット、EC2インスタンスなど)をルーティング先として設定でき、ニーズに応じた構成が可能です。
- フェイルオーバーのための設定や監視が必要で、管理が少し複雑になることがあります。
- プライマリリソースが故障した際に切り替えにかかる時間があるため、即時の対応ができない場合があります。
設定項目
項目 | 設定値 |
---|---|
フェイルオーバーレコードタイプ | プライマリリソースがダウンした際にトラフィックを自動的にバックアップリソースに切り替えるための設定項目です。 <「プライマリ」を選択する場合> デフォルトで指定されたリソースにトラフィックがルーティングされます。 <「セカンダリ」を選択する場合> プライマリリソースが利用できない場合に、指定されたリソースにトラフィックがルーティングされます。 |
レコードID | 同じ名前とタイプのレコードを一意に識別するための値であり、日付や時刻のスタンプや連番を使用して設定します。これにより、複数のフェイルオーバーレコードを区別しやすくなります。 |
ヘルスチェックID | 指定されたエンドポイントの健康状態を確認するための識別子であり、エンドポイントが正常なときのみDNSクエリに応答するために使用されます。 |
②-3 位置情報ルーティング
ユーザーの地理的位置に基づいて最適なリソースにトラフィックをルーティングし、ローカライズされたコンテンツ配信を可能にするDNSルーティング方式です。
- ユーザーの地域に応じたコンテンツを提供できるため、よりパーソナライズされた体験を実現します。
- 地理的に近いリソースにトラフィックをルーティングすることで、レイテンシを低減し、パフォーマンスを向上させます。
- 一部のIPアドレスは正確な地理情報にマッピングされないため、すべてのクエリに対して適切にルーティングできない場合があります。
- 複数の地理的リージョンに対する設定が必要で、重なり合うリージョンに対して適切なレコードを管理するのが複雑になることがあります。
設定項目
項目 | 設定値 |
---|---|
場所 | DNSクエリの発信元リージョンを指定する設定。 設定されたリージョンからのクエリが、このレコードで指定したリソースにルーティングされます。 特定の地域に対するレコードが作成されていない場合は、「デフォルト」を選択することで、その他の地域からのクエリをルーティングできます。 |
②-4 地理的近接性ルーティング
ユーザーとリソースの地理的位置に基づいて最も近いリソースにトラフィックをルーティングし、バイアス値を指定することで特定のリソースへのトラフィック量を調整できるDNSルーティング方式です。
- ユーザーに最も近いリソースにトラフィックをルーティングすることで、応答速度を向上させ、ユーザー体験を向上させます。
- バイアス機能を使用することで、特定のリソースに対するトラフィックの分配を柔軟に調整できます。
- リソースの地理的位置に応じたルール設定が必要で、バイアスの調整も含めると設定が複雑になることがあります。
- すべてのリソースが地理的近接性に基づくルーティングに適しているわけではなく、特定の条件や制約がある場合があります。
位置情報ルーティングと地理的近接性ルーティングは、いずれもユーザーの地理的位置に基づいてトラフィックをルーティングする手法ですが、以下のような違いがあります
- 位置情報ルーティング
- ユーザーの位置情報に応じて、提供するサービスをカスタマイズすることが目的。
- 例)日本地域には日本語表示のサービスを提供し、それ以外の地域には英語表示のサービスを提供する。
- 地理的近接ルーティング
- ユーザーの位置情報に近いサーバーにルーティングすることで、応答速度を向上させることが目的。
- 例)コンテンツ配信サービス
設定項目
項目 | 説明 |
---|---|
エンドポイントのロケーションタイプ | トラフィックをルーティングするためのエンドポイントの場所を指定する設定です。この設定により、ユーザーの位置に最も近いリソースにトラフィックがルーティングされ、レイテンシーを低減します。 以下3つから選択できます。 ①座標 ②AWSローカルゾーングループ ③AWSリージョン |
└ 座標 | 緯度と経度を指定して、特定の位置を明確に示します。この設定を使用すると、ユーザーの地理的な近接性に基づいて最適なエンドポイントにトラフィックをルーティングできます。 |
└ AWSローカルゾーングループ | AWSのローカルゾーンを利用して、特定の地域内で低レイテンシーの接続を提供するためのグループです。これにより、ユーザーは地理的に近いリソースにアクセスできるようになります。 |
└ AWSリージョン | AWSが提供する地理的なデータセンターの地域を指定します。この設定を選択することで、特定のリージョン内のリソースにトラフィックをルーティングすることができます。 |
バイアス | ユーザーの地域に最も近いルーティング先にトラフィックをルーティングする際に、その地域範囲を調整するパラメータです。 この値を調整することで、より広い範囲または狭い範囲の地域にトラフィックを誘導し、柔軟なルーティングを実現できます。 ・バイアス値を大きくする場合 ⇒より広い範囲の地域にトラフィックが分散されます ・バイアス値を小さくする場合 ⇒特定の地域にトラフィックが集中します。 |
②-5 レイテンシールーティング
AWSの複数のリージョンから最も低いレイテンシーでユーザーリクエストを処理し、パフォーマンスを向上させるDNSルーティング方式です。
- レイテンシーが最も低いリージョンにリクエストがルーティングされるため、応答速度が速くなり、快適な利用が可能。
- 地理的に分散したユーザーに最適なリソースを提供できる。
- 複数のリージョンに対するレイテンシーレコードの管理が必要で、設定が煩雑になる場合がある。
設定項目
項目 | 説明 |
---|---|
リージョン | トラフィックを転送する先のリージョンです。 例えば、「us-east-1」と指定した場合、このレコードに対するDNSクエリは、us-east-1リージョン内のリソースに転送されます。各リージョンにつき1つのレコードを作成でき、すべてのリージョンを作成する必要はありません。 |
②-6 IPベースルーティング
特定のIPアドレスに基づいてエンドユーザーを適切なエンドポイントにルーティングし、パフォーマンスとコストの最適化を図るDNSルーティング方式です。
- 特定のISPや地域に基づいてルーティングを最適化できるため、パフォーマンス向上やコスト削減が可能。
- 特定のエンドユーザーやクライアントのニーズに応じたルーティングが行えるため、より良いエクスペリエンスを提供できる。
- IP範囲の管理やCIDRブロックの設定が必要で、運用が複雑になる場合がある。
- ISPやネットワークの変更があった場合、ルーティング設定を見直す必要があり、柔軟性に欠けることがある。
設定項目
項目 | 説明 |
---|---|
IPベース | アクセス元のIPアドレスをCIDR表記で指定することにより、そのIPアドレス範囲からのトラフィックを特定のリソースにルーティングする設定を行います。 これにより、特定のネットワークやクライアントからのリクエストに対して、適切なレスポンスを提供できます。 |
②-7 複数値回答ルーティング
DNSクエリに対して正常なリソースのIPアドレスを複数返し、可用性とロードバランシングを向上させるDNSルーティング方式です。単一のドメイン名に複数のリソースを関連付け、トラフィックの配分を重み付けによって制御するDNSルーティング方式です。
- 正常なリソースのみが応答されるため、システムの可用性が高まり、ダウンタイムを最小限に抑えられる。
- 複数のIPアドレスをランダムに返すことで、トラフィックを複数のサーバーに分散でき、負荷を均一にすることが可能。
- DNSリゾルバーが応答をキャッシュした場合、ウェブサーバーがダウンしても古い応答を返す可能性がある。
- ヘルスチェックの設定や管理が必要で、運用が複雑になる場合がある。
設定項目
「複数値回答ルーティング」には固有の設定項目はないので、解説は割愛します。
②-8 加重ルーティングポリシー
ネットワークトラフィックの重要度や優先順位に応じて重み付けを行い、最適な経路を選択するDNSルーティング方式です。
- トラフィックをリソースに応じて調整できるため、効率的な負荷分散が可能。
- 新しいバージョンのソフトウェアを段階的にテストする際に、特定のリソースにのみトラフィックを多く振り分けられる。
- 各リソースに対する重みの設定や調整が必要で、運用が煩雑になる場合がある。
- 重み付けが不適切な場合、一部のリソースに過剰なトラフィックが集中し、ダウンするリスクがある。
コメント