Route53について
Route53の概要
DNS
DNSはインターネットにおける人向けのURLをシステム向けの住所となるIPアドレスに変換するための仕組み
企業サーバーに一時的にDNS情報を保持するキャッシュDNSサーバーと実際に名前解決機能がある権威DNSサーバーがある
Route53はAWSが提供する権威DNSサーバーでポート53で動作することからRoute53と呼ばれる DNSレコードというIPアドレスとURLを紐付けた表を確認してルーティングする
Route53
権威DNSサーバーの機能をマネジメント型で簡単に利用できるサービス
・主要機能はドメイン登録 / DNSルーティング / ヘルスチェックの3つ ・ポリシーによるルーティング設定 トラフィックルーティング / ファイルオーバー / トラフィックフローに基づく様々な条件のルーティング設定が可能 ・AWS側で100%可用性を保証するSLA ・マネージドサービスとして提供しており、ユーザー側で冗長性などを考慮する必要がない
ホストゾーン
ドメインとそのサブドメインのトラフィックのルーティングする方法についての情報を保持するコンテナ
◾️パブリックホストゾーン ・インターネット上に公開されたDNSドメインレコードを管理するコンテナ ・インターネットのDNSドメインに対するトラフィックのルーティング方法を定義
◾️プライベートホストゾーン ・VPCに閉じたプライベートネットワーク内のDNSドメインのレコードを管理するコンテナ ・VPC内のDNSドメインに対して、どのようにトラフィックをルーティングするかを定義 ・1つのプライベートホストゾーンで複数VPCに対応 ・VPCが相互アクセス可能であれば複数リージョンのVPCでも同じホストゾーンを利用可能
DNSレコード
ルーティング方法を設定するためにDNSレコードを作成し、各種レコードを設定する
・SOA ドメインのDNSサーバー / ドメイン管理者のメール、アドレス、シリアル番号などを保持してゾーン転送時に情報が更新されているかの判断に利用する
・A ホスト名とIPアドレスの関連付けを定義するレコード
・MX メール配送先(メールサーバー)のホスト名を定義するレコード
・CNAME 正規ホスト名に対する別名を定義するレコード 特定のホスト名を別のドメイン名に転送する時などに利用する
DNSレコード
ALIASレコードというRoute53固有の仮想リソースレコード
◾️ALIASレコード ・DNSクエリにAWSサービスのエンドポイントのIPアドレスを返答 ・静的ウェブサイトとして設定されたS3バケット ・CloudFront ・ELB ・ホストゾーン内のリソースレコードセット
◾️ALIASレコードのメリット ・DNSクエリに対するレスポンスが高速 ・CNAMEにマッピングできないZoneApex(ドメイン名そのもの)を設定可能 ・ALIASレコードに対するクエリが無料であり、Route53と連携したDNSLookupを高速化する ・CloudFrontでのクエリ回数を削減
トラフィックルーティンのタイプ
様々なルーティング方式を選択して設計することが可能
◾️シンプルルーティング ・レコードセットで事前に設定された値のみに基づいてDNSクエリに応答する ・静的なマッピングによりルーティングを決定
◾️加重ルーティング ・複数エンドポイント毎の重み設定によりDNSクエリに応答する ・重みつけの高いエンドポイントに多くルーティングする
◾️フェイルオーバールティング ・ヘルスチェックの結果に基づいて、利用可能なリソースをDNSクエリに応答する ・利用可能なリソースにのみルーティングされる
◾️複数値回答ルーティング ・ランダムに選ばれた最大8つの別々のレコードを使用してIPアドレスを設定して、複数の値を返答する ・IPアドレス単位でヘルスチェックを実施してルーティングすることで、正常なリソースの値を返す ELBに代わるものではないが、正常であることが確認できる複数のIPアドレスを返す機能により、DNSを使用してアベイラビリティーとロードバランシングを向上させることが可能
トラフィックルーティングのタイプ
様々なルーティング方式を選択して設計することが可能
◾️レイテンシールーティング(Latency) ・リージョンの遅延によりDNSクエリに応答する ・基本的にはユーザーの最寄りのリージョンに返答する ・リージョン間の遅延が少ない方へルーティングされる
◾️位置情報ルーティング(Geolocation) ・ユーザーのIPアドレスにより位置情報を特定して、地域毎に異なるレコードを返す ・ネットワーク構成に依拠しない、精度の高いレコードの区分けが可能
◾️地理的近接性ルーティング ・ユーザーとリソースの場所に基づいて地理的近接性ルールを作成して、トラフィックをルーティングする AWSリソースを使用している場合は、リソースを作成したAWSリージョン AWS以外のリソースを使用している場合は、リソースの緯度と経度 ・必要に応じてバイアスを設定し、特定のリソースにルーティングするトラフィックの量を変更できる ・トラフィックフローを利用する必要がある
トラフィックフロー
従来はALIASレコードを駆使して複雑なルーティングポリシーを作成していたが、トラフィックフローによる視覚的なフローでの複雑なポリシー設定が可能となった