#Route53とは?
Amazon Route 53 は、可用性と拡張性に優れた**ドメインネームシステム(DNS)**ウェブサービスです。Route 53 を使用すると、**ドメイン管理機能、**権威DNSルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。
##DNSってなんだっけ?
- DNSはインターネットにおける人向けのURLをシステム向けの住所となるIPアドレスに変換するための仕組み。
- ドメイン名とIPアドレスを変換(名前解決する)システムです。
##権威DNSサーバーとキャッシュDNSサーバー(フルサービスリゾルバ)って?
###権威DNSサーバー
名前解決がある機能
キャッシュに情報がない場合は、権威DNSサーバに「こっちだとわからなかったんだけど、https://qiita.com に紐づくIPアドレスわかる?」と問い合わせをします。権威DNSサーバは、ドメインとIPアドレスが紐づけて登録された一覧のようなものを管理しているDNSサーバです。管理するドメインに紐づけされたIPアドレスや、その範囲内の詳しい情報(「ゾーンファイル」といいます)を持っており、フルサービスリゾルバからの問い合わせを受けると、そのゾーンファイルを参照して、情報があった場合には「あったよ!」と、ドメインとIPアドレスの情報を返答します。なかった場合には「なかったよ!」と返答します。
これが、DNSの「名前解決」のしくみです。
###キャッシュDNSサーバー(フルサービスリゾルバ)
パソコンなどの端末からの「https://qiita.com というWEBサイトが見たい!」という問い合わせに対して、キャッシュ(一時保存/過去の記憶のようなもの)を参照し、キャッシュにその情報があった場合には「あったよ!」と、その紐づいたドメインとIPアドレスを返答する。
#Route53の利用方法
Route53の利用を開始してドメインを登録すると自動でホストゾーンを自動生成し、そこにルーティングを設定する。
##②ホストゾーンとは
##パブリックホストゾーンとは
インターネット上に公開されたDNSドメインのレコードを管理するコンテナ
インターネットのDNSドメインに対して、トラフィックをどのようにルーティングするかを定義
##プライベートホストゾーンとは
• VPCに閉じたプライベートネットワーク内のDNSドメインのレコードを管理するコンテナ
• VPC内のDNSドメインに対して、どのようにトラフィックをルーティングするかを定義
• インターネットにリソースを公開せずに、名前解決が可能
• 1つのプライベートホストゾーンで、複数のVPCをサポート
• 複数のVPCネットワークで、同じホストゾーンを利用可能
• 複数リージョンのVPCでも、同じホストゾーンを利用可能。ただしVPCが相互にアクセスできることが必要。
• パブリックホストゾーンと合わせて、スプリットビューが設定可能
制約・注意点
– Route 53 ヘルスチェックは利用できない
– ALIASレコードは、ホストゾーン内のRoute 53リソースレコードセットのみサポート
– プライベートホストゾーンを使用するには、以下のVPC 設定を trueに設定する必要がある
#③サポートされる DNS レコードタイプ
主なDNSレコード
タイプ | 略 | 概要 |
---|---|---|
A | Address | IPv4 IPアドレス。 |
AAAA | ? | IPv6 IPアドレス |
CNAME | Canonical NAME | ドメイン名の別名。 |
NS | Name Server | ドメインの管理の委譲先の権威DNSサーバのドメイン名 |
MX | Mail Exchange | ドメインへのメール配送先サーバのドメイン。 |
TXT | TeXT | コメント行。Sender Policy Frameworkにも使える |
PTR | PoinTeR | IPアドレスに対応するドメイン名。 |
SOA | Start Of Authority | プライマリネームサーバ、ドメイン管理者の電子メール、ドメインのシリアル番号(更新されたかどうかの判別に使う)、ゾーンのリフレッシュなど |
上記のDNSレコード以外に、Route 53には独自のDNSレコードALIASがある
##ALIASレコードってどんなもの?
ALIASレコードとは
– Route 53固有の仮想リソースレコード
– DNSクエリに対して、以下のAWSサービスのエンドポイントのIPアドレスを直接返す(通常はCNAMEを利用)
• 静的ウェブサイトとして設定されたS3バケット
• CloudFront ディストリビューション
• ELB
• ホストゾーン内のリソースレコードセット (複雑なポリシーの作成で使用)
ALIASレコードを使うメリット
– DNSクエリに対するレスポンスが高速
– Zone Apexが利用可能
– ALIASレコードに対するクエリが無料(S3, CloudFront, ELB)
##④トラフィックルーティング
トラフィックルーティングとは
Route53にゾーン情報を登録する際、名前解決の問い合わせに対してどのように応答するかを決める7種類のルーティングポリシーがある。
###シンプルルーティングポリシー###
特殊なルーティングポリシーを使用しない1対1のルーティング
ドメインで特定の機能を実行する単一のリソースがある場合に使用します。たとえば、example.com ウェブサイトにコンテンツを提供する 1 つのウェブサーバーなどです。
###フェイルオーバールーティングポリシー###
アクティブ/パッシブフェイルオーバーを構成する場合に使用します。
###位置情報ルーティングポリシー###
ユーザーの位置に基づいてトラフィックをルーティングする場合に使用します。
###地理的近接性ルーティングポリシー###
リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用します。
###レイテンシールーティングポリシー###
複数の AWS リージョンにリソースがあり、レイテンシーの最も小さいリージョンにトラフィックをルーティングする場合に使用します。
###複数値回答ルーティングポリシー###
ランダムに選ばれた最大 8 つの正常なレコードを使用して Route 53 が DNS クエリに応答する場合に使用します。
###加重ルーティングポリシー###
指定した比率で複数のリソースにトラフィックをルーティングする場合に使用します。
##トラフィックフロー
ルーティングポリシーを組み合わせる事で様々なルーティング環境を構築する事ができます。
##トラフィックフローのメリット
###トラフィックフローを使わない場合
– 従来の方法では、ALIASレコードを駆使して、複雑なルーティングポリシーを作成していた
• Aliasレコードで別のリソースレコードを参照し”Alias Tree”を作成
– 設定やレコード間の関連が複雑になり、どのようにルーティングされるのか直感的にわかりにくい
###トラフィックフローを使った場合
– 複数の条件を組み合わせたルーティングをエディタでビジュアルに作成することができる
– これまで必要だったALIASレコードの設定は内部で自動的に作成される
– ユーザーはALIASレコードを意識する必要がなく、簡単に複雑なルールを作成できる
#最後に
次回はCDNサービスCloud Frontについてまとめます!