本記事の内容
この記事では3回目のANS-C01を受けるにあたって勉強した内容を整理するための記事です。
今回はRoute53の名前解決の部分についての第1回目となります。
Route53とは
Route53とはAWSサービスにおける以下の内容を管理するためのサービスです。
今回「1.ドメイン登録機能」について書いていきます。
- ドメイン登録機能
- AWSサービス内のドメイン名の管理を行います。
- ドメインのリソースへのインターネットトラフィックのルーティング
- Route53で管理しているドメインに関するDNSクエリのルーティングを行います。
- リソースの正常性のチェック
- ウェブサーバーへの正常性確認を行います。
そもそもドメインとは
一言でいうとドメインは 「サーバーの名前」 です。
各サーバーにはIPアドレスが割り振られていますが、IPアドレスに対してドメインという名前が割り振られています。
ドメインとIPアドレスの関係は DNSサーバー で管理されており、DNSサーバーにアクセスしてドメインからIPアドレスを導出することを 名前解決 といいます。
DNSサーバーへのアクセスを行うためのサーバーとして キャッシュDNSサーバー がありユーザはまずキャッシュDNSサーバーにアクセスをします。
キャッシュDNSサーバーからDNSサーバーにアクセスして名前解決すれば終わりではありますが、世の中にはたくさんのドメインがあふれています。そのためDNSサーバーはそれぞれのサーバーの責任範囲を区切っていくつも存在しています。
ドメインの責任を持っているDNSのことを 権威DNSサーバー といい、DNSサーバーから権威DNSサーバーに名前解決をゆだねることを 委任 と呼びます。
詳しい図はこちらを参照してください。
Route53のドメイン登録機能ではこの内、
- 権威DNSサーバー
- 委任元DNSサーバー
としての機能を担います。
また、DNSサーバーの責任範囲はドメイン名の.(ドット)の区切りで分かれています。
例えば、haru.qiita.com というドメイン名があった場合
com (トップレベルドメイン)の責任を負うサーバー、
qiita.com (ドメイン)の責任を負うサーバー、
haru.qiita.com (サブドメイン)の責任を負うDNSサーバーが存在します。
サブドメインは複数階層可(haru2.haru.qiita.com とか)ですが、
目的のドメインと一致するドメイン名のことを FQDN と呼びます。
以下の説明では目的のドメイン名を haru.qiita.com として記載していきます。
権威DNSサーバーとしてのRoute53
権威サーバーは以下3種類のレコードを持っているDNSサーバーを指します。
- haru.qiita.com の管理情報を記載したレコード(SOAレコード)
- haru.qiita.com のIPアドレスを管理しているネームサーバーを記載したレコード(NSレコード)
- 責任分割を行わないサブドメイン(haru2.haru.qiita.com 等)のIPアドレス情報(IPv4ならAレコード/IPv6ならAAAAレコード)
権威サーバーとして管理しているドメインをゾーンとも呼びます。
Route53で管理するゾーンには、パブリックゾーンとプライベートゾーンが存在します。
パブリックゾーンの場合はインターネット上での名前解決となりますが、
プライベートゾーンの場合は自身のネットワーク環境内でのみ名前解決が出来ます。
委任元DNSサーバーとしてのRoute53
委任元サーバーは以下のレコードを持っているDNSサーバーを指します。
- 責任分割を行い、別ゾーンとして管理されているサブドメイン(haru2.haru.qiita.com 等)のネームサーバー情報(NSレコード)
DNSの暗号化(DNSSEC)
参考はこちら
上記までの説明のように、Route53はDNSサーバーとしての役割を持ちます。
DNSサーバーは名前解決のリクエスト(DNSクエリ)があるとそれに対応した情報を返しますが、返ってきたドメイン情報の正当性が検証されていません。
そのためにドメイン情報の正当性を担保するための仕組みをDNSSECといいます。
DNSSECではドメイン電子署名を利用し検証が行われます。
オンプレミス環境との名前解決について
Route53 Resolverを使用することでプライベートホストゾーンでもオンプレ環境との名前解決が可能である。
Route53 Resolverはエンドポイントを設置することで使用可能
- インバウンドエンドポイント
- オンプレからAWS内の名前解決を行う際に使用
- アウトバウンドエンドポイント
- AWS内からオンプレの名前解決を行う際に使用