Route53

Route53の概要

  • AWSのルーティングを提供する。

DNSとは

  • 名前解決をする。

    • URLとIPアドレスを変換する。

  • DNSサーバーは主に2種類ある。

    • 権威DNSサーバー

      • 名前解決機能があるもの。

    • キャッシュDNSサーバー

      • 一時的なDNS情報を企業内で保持しておくことで、高速に名前解決できるようにするためのサーバー。

  • Route53はAWSが提供する権威DNSサーバー

    • ポート53で動作するため。

Route53

  • 権威DNSサーバー機能をマネージド型で利用可能。

  • 主要機能は3つ

    • ドメイン登録

    • DNSルーティング

    • ヘルスチェック

  • ポリシーによるルーティング設定

    • 様々な条件のルーティング設定が可能

      • トラフィックルーティング

      • フェイルオーバー

      • トラフィックフロー

  • AWS側で100%可用性を保証するSLA

  • マネージド型のため、ユーザー側で冗長設計はは不要

Route53の利用方法

  • ドメインをRoute53に設定

  • ドメイン名と同じホストゾーンを自動生成

  • ホストゾーンにDNSレコードを作成し、ルーティング方法を定義

  • トラフィックルーティングを設定

ホストゾーン

  • ホストゾーンは、ドメインとそのサブドメインのトラフィックルーティングについて情報を保持するコンテナ。

  • パブリックホストゾーン

    • インターネット上に公開されたDNSドメインレコードを管理するコンテナ

    • インターネットのDNSドメインに対するトラフィックのルーティング方法を定義

  • プライベートホストゾーン

    • VPCに閉じたプライベートネットワーク内のDNSドメインのレコードを管理するコンテナ

    • VPC内のDNSドメインに対して、どのようにトラフィックルーティングするかを定義

    • 1つのプライベートホストゾーンで複数VPCに対応

    • VPCが相互アクセス可能であれば複数リージョンのVPCでも、同じホストゾーンを利用可能

DNSレコード

  • https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/ResourceRecordTypes.html

レコード名
説明

SOA(Start of Authority)

ドメインのゾーン管理のための情報を設定するレコード。 DNSサーバー名、管理者の連絡先、ゾーンファイルのバージョンを表すシリアル番号、ゾーン情報の更新間隔、refresh失敗時の再試行間隔、ゾーン情報の有効期限、TTLの設定を行う。

A

ホスト名からIPアドレスを関連付ける(IPv4)

AAAA

ホスト名からIPアドレスを関連付ける(IPv6)

PTR

IPアドレスからホスト名を逆引きするレコード

MX

対象ドメインのメールの配信先を定義するレコード

CNAME

別名のドメインを定義するコード

SPF

送信者からスパムが送信されるのを防止するレコード 受信者は指定したIPアドレス以外から送られてきたメールをスパムとして拒否することができる。

TXT

ホスト名に関連づけるテキスト情報を定義するレコード。 送信ドメイン認証の認証情報などを記述する。

CAA

SSLサーバー証明書を第三者が勝手に発行することを防止するために使用するレコード。

DS(Delegation Signer

親ゾーンに設定される子ゾーンのDNSKEYリソースレコードを参照するリソースレコード。 親と子に信頼の連鎖を構築するために使用する。

NAPTR

NS

SRV

ALIASレコード

  • CNAMEレコードの代わりにAWSサービス用につかうRoute53固有の仮想リソースレコード

  • DNS クエリに AWS サービスのエンドポイントの IP アドレスを返答

    • 例えば以下など

      • 静的ウェブサイトとして設定されたS3バケット

      • CloudFront

      • ELB

      • ホストゾーン内のリソースレコードセット

  • メリット

    • レスポンスが高速

    • CNAMEにマッピングできないZone Apex(ドメイン名そのもの)を設定可能

    • ALIASレコードに対するクエリが無料

    • Route53と連携したDNS Lookupの高速化

    • CloudFrontでのクエリ回数を削減

ルーティングのタイプ

  • シンプルルーティング

    • 事前に設定された値のみに基づいてDNSクエリに応答する。

    • 静的なマッピングによりルーティングを決定

  • 加重ルーティング

    • 複数エンドポイント毎の重みによりDNSクエリに応答

    • 重みづけの高いエンドポイントに多くルーティングされる

  • フェイルオーバールーティング

    • ヘルスチェックの結果に基づき、利用可能なリソースをDNSクエリ応答する

    • 利用可能なリソースのみにルーティングされる

      • プライマリ⇒セカンダリ

  • 複数値回答ルーティング

    • ランダムに選ばれた最大8つの別々のレコードを使用して複数の値を返答する。

    • ヘルスチェックを実施して正常なリソースの値を返す。

    • ELBの代わりではないが、DNSを使用してロードバランシングすることが可能。

  • レイテンシールーティング

    • 基本的にはレイテンシに基づき、ユーザーの最寄りのリージョン(レイテンシが小さいリージョン)へルーティングする。

  • 位置情報ルーティング

    • ユーザーのIPアドレスにより位置情報を特定し、地域毎に異なるレコードを返す。

    • ネットワーク構成に依存しない精度の高いレコード区分けが可能

  • 地理的近接性ルーティング

    • ユーザーとリソース双方の場所に基づいて近接性ルールを作成してルーティングする。

      • 位置情報はユーザーの位置のみを使う。

    • AWSリソースを使用している場合はリソースのリージョン、それ以外の場合はリソースの緯度と経度に基づく。

    • 必要に応じてバイアスを変更し、特定のリソースにルーティングするトラフィック量を制御可能。

    • 特殊なルーティングであり、トラフィックフローを利用する必要がある。

フェイルオーバー構成

  • Route53のヘルスチェック機能を利用したプライマリーとセカンダリーの冗長構成のこと

  • リージョンをまたがった冗長化が可能

  • アクティブ・パッシブ

    • セカンダリーはプライマリーに障害が発生した場合にルーティングされる。

    • フェイルオーバーポリシーを使用して設定する。

  • アクティブ・アクティブ

    • 複数のリソースをアクティブとし、障害が発生した場合は、正常なリソースにフェイルバックする。

    • フェイルオーバー以外のルーティングポリシーを使用して設定する。

    • 最小のRTOを達成できる。

アプリケーションリカバリーコントローラー

  • アクティブ・パッシブ構成でも、RTOを目標通り達成できるかせいぎょすることができる。

  • 準備状況のチェック

    • 復旧オペレーションを実行する能力に影響する変更をモニタリング

  • ルーティングコントロール

    • 独立したセル単位でリソースセットを構成し、グループ化された単位で準備状況を確認することができる。

フェイルオーバー構成の比較

  • アクティブ・アクティブはRTOが最も良いが、コストが最も高くなる可能性がある。

  • リカバリコントローラはアクティブ・パッシブのRTOを最大化する。

    • リカバリコントローラ自体は料金は発生しない。

  • アクティブ・パッシブはフェイルオーバーが遅れる可能性があり、RTOが最も悪くなる可能性が高い。

Route53の地域制限

  • 位置情報ルーティングを使い、コンテンツ配信を制限することが可能

  • 地域に応じてコンテンツを変更し、ローカライズすることが可能

  • 特定の地域からのエンドポイントを利用し、ローカルでパフォーマンスを改善する。

トラフィックフロー

  • GUIで複雑なポリシーを設定することが可能となった。

DNS firewall

  • Route 53 Resolver経由のDNSクエリにもとづくサイトへの不正アクセスを制御して、 DNSレベルの脅威を防ぐ

  • 以下で構成される。

    • DNS Firewallルールグループ

      • DNS クエリをフィルタリングするために DNSFirewall ルールのコレクション

      • DNS Firewall ルールによって ルールグループ内の DNS クエリに対するフィルタリングルールを定義

      • 関連づけた VPC の DNS クエリを Resolver が受信すると、そのクエリは DNS Firewall に送信され、フィルタリングを実施

    • ドメインリスト

      • DNS フィルタリングを適用するドメインのコレクションを定義

      • アクセスを許可するドメイン、アクセスを拒否するドメイン、またはその両方を設定する。

DNSの役割

  • ドメインは階層構造となっているため、それぞれの場所をDNSに何度も問い合わせる必要がある。

  • DNSは以下で構成される

    • ネームサーバー

      • 名前解決をするサーバー

    • リゾルバ

      • ドメイン名に関連付けられたネームサーバーを指定して名前解決をするサーバー

  • 最初にリゾルバにクライアントからアクセスする。

    • そこからたらいまわしで目的地にたどり着く。

Route53のマネジメントコンソール

ダッシュボード

  • ホストゾーン作成

  • ドメインの登録

  • トラフィックポリシー作成

  • ヘルスチェック

リゾルバー

  • VPCを作成すると、自動でリゾルバが作成されており、画面上で確認できる。

Last updated