このトピックでは、ルートドメイン test.com とサブドメイン api.test.com の両方でドメイン名の DNS レコードが設定されている場合に、www.api.test.com などのドメイン名を解決するためにどの DNS レコードが使用されるかについて説明します。
有効なルール
ルートドメインとサブドメインの有効範囲が同じ場合、DNS 名前解決リクエストは最長ドメイン (ゾーン) 一致ルールに従います。最長ドメイン (ゾーン) にヒットした場合、そのドメイン (ゾーン) の DNS レコードが使用されます。最長ドメイン (ゾーン) に対応する DNS レコードが設定されていない場合、システムは NXDOMAIN を返します。サブドメイン再帰が有効になっている場合、システムは転送ルールとパブリックネットワークの再帰ルールに基づいてクエリを続行します。
最長ドメイン (ゾーン) にヒットした場合、たとえヒットしたドメイン (ゾーン) に対応する DNS レコードが設定されていなくても、システムは親ドメインの DNS レコードをクエリしません。
最長ドメイン (ゾーン) 一致ルールは、イントラネット権威や転送モジュールなど、同じ論理モジュール内のドメインにのみ適用されます。ドメイン (ゾーン) が異なる論理モジュールにある場合、名前解決の優先度ルールに基づいて解決されます。詳細については、「名前解決ルールの優先度」をご参照ください。
シナリオ 1:ルートドメインとサブドメインの両方に一致する DNS レコードがある場合
シナリオ
イントラネット権威で、ルートドメイン test.com とサブドメイン api.test.com を追加します。また、以下の DNS レコードを追加し、両方のドメインを同じ VPC に関連付けます。
test.comの DNS レコードを追加します。Hostname をwww.api、Record Type を A、[解決ライン] を デフォルト、Record Value を192.168.100.100に設定します。
api.test.comの DNS レコードを追加し、Hostname をwwwに、Record Type を A に、解決回線を デフォルト に、Record Value を192.168.200.200に設定します。
検証
関連付けられた VPC 内の Elastic Compute Service (ECS) インスタンスで、dig www.api.test.com コマンドを実行します。テスト結果は以下の通りです:
応答は、サブドメイン api.test.com の DNS レコードを返します。この結果は、最長ドメイン一致ルールと一致します。
シナリオ 2:サブドメインに一致する DNS レコードがなく、ルートドメインにはある場合
シナリオ
イントラネット権威で、ルートドメイン test.com とサブドメイン api.test.com を追加します。また、以下の DNS レコードを追加し、両方のドメインを同じ VPC に関連付けます。
test.comの DNS レコードを追加します。Hostname をwww.api、Record Type を A、デフォルト を [デフォルト]、Record Value を192.168.10.10に設定します。
api.test.comの DNS レコードを追加します。Hostname をabc、Record Type を A、[解決ライン] を デフォルト、Record Value を192.168.20.20に設定します。
検証
関連付けられた VPC 内の ECS インスタンスで、dig www.api.test.com コマンドを実行します。テスト結果は以下の通りです:
DNS 名前解決リクエストはサブドメインにヒットします。しかし、サブドメインに対応する DNS レコードが設定されていないため、システムは親ドメインのレコードをクエリせず、NXDOMAIN を返します。