45

Amazon Route 53 では Alias を使用して A レコードまたは CNAME を別のサブドメイン名に設定できるため、現在 A レコードと CNAME の違いは何なのか疑問に思っています。

私の質問を明確にするために、従来の NameServer の CNAME と A レコードの違いは、CNAME のみを使用して別のサブドメインを指すことができ、A レコードは有効な IP アドレスを指す必要があることです。AWS Route53 では、A Rec または CNAME のいずれかでサブドメインを使用できるため、2 つの違いが曖昧になることはありません。

4

2 に答える 2

91

あなたの質問は非常に有効ですが、「サブドメイン」という言葉を正確ではない方法で使用しています。

あなたが実際に求めているのは、Route 53Aレコードが、別のドメインからの完全修飾ホスト名、または独自のドメインからのホスト名またはサブドメインのいずれかを参照しているように見える可能性があるという事実です。適切な DNS では、唯一の方法です。別のホスト名を参照するには を使用しCNAMEますが、サブドメイン (「www.example.com」) を指すドメイン (「example.com」) の頂点にそれらをプロビジョニングすることはできません。

あなたが言っているエイリアスは、機能的には同等のようですが、エイリアスよりも柔軟性があるように見えますCNAMEが、違いはありますか?

a とaCNAMEエイリアスの違いは、 aCNAMEがまだ適切で標準的な通常の DNSであり、DNS クエリ応答CNAME返すことです。is 'x'" であり、状況に応じて、ターゲット ホストのレコードが含まれる場合と含まれない場合があり、クライアントは 2 回目の検索を行う必要があります。A

一方、エイリアスは、Amazon によって作成された巧妙なハックであり、プロトコルを壊さずに、リソース「Y」のレコードが要求されAたときに、Route 53 がリソース「X」からレコードを直接渡すことを可能にします。Aエイリアスは他のレコード タイプを参照することもできますが、それらが参照するレコード タイプは同じでなければならず、この説明の目的のために、Aレコード エイリアスについて話します。

ここで重要なことは、エイリアスは実際にはAレコードを返すということです。 のようなターゲットへの参照ではありCNAMEません。

問題は、エイリアスを使用すると、そのボックスにホスト名だけを入れることができないことです。Route 53 がサービスを提供する適切なレコードを取得できる魔法のフックを持つドメイン内のホスト名である必要がありAます (ゾーン内の別のエントリ、または S3、ELB、または Cloudfront から)。CNAMEこれは、正味の効果は同じように見えますが、記録の仕組みとは大きく異なる実装です。

そこに何か他のものを入れて、The record set could not be saved because:- Alias Target contains an invalid value. 試してみてください。:)

もちろん、CNAMEレコードにはそのような制限はありません...ゾーンの上部での使用が設計によって制限されているだけです。

したがって、実際には、エイリアスとCNAMEレコードには、最初に考えたほど多くの重複はありません。場合によっては、1 つしか使用できず、どちらかが機能する場合、その違いはおそらく重要ではありません。

いずれかを使用できる場合のエイリアスの利点の 1 つは、前述したように、エイリアスが 2 つの DNS クエリを必要としないことです。Route 53 は適切なAレコードを使用して常に直接応答しますCNAME。少なくとも別のトップ レベル ドメインのホスト名を参照する場合は、2 つの連続した DNS ルックアップが必要になる可能性があり、その場合、Alias に理論上のパフォーマンス上の利点を与えます。

于 2013-06-20T00:32:22.780 に答える