私はfoo.com
と を所有していますbar.com
。両方を Route53 で管理しています。 がfoo.com
私のサイトをホストしており、 からのトラフィックを に誘導したいと考えていますbar.com
。を指すレコードfoo.com
を設定しようとしましたが、次のエラー メッセージが表示されました:CNAME
bar.com
foo.com
RRSet of type CNAME with DNS name foo.com. is not permitted at apex in zone bar.com.
なぜこれが機能しないのでしょうか、代わりに何ができるのでしょうか?
ベストアンサー1
RFC1912 セクション 2.4 によると:
A CNAME record is not allowed to coexist with any other data. In
other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you
can't also have an MX record for suzy.podunk.edu, or an A record, or
even a TXT record. Especially do not try to combine CNAMEs and NS
records like this!:
podunk.xx. IN NS ns1
IN NS ns2
IN CNAME mary
mary IN A
ネームサーバーは CNAME に従う必要があるのか、それとも CNAME が重複している実際のレコードで応答する必要があるのかを知らないため、RFC は完全に理にかなっています。bar.com
はゾーンであるため、bar.com
名前の SOA レコードが暗黙的に存在します。同じ名前で SOA レコードと CNAME の両方を持つことはできません。
ただし、SOA レコードは一般にゾーンのメンテナンスにのみ使用されるため、ゾーンの頂点に CNAME を提供したい状況はよくあります。RFC では禁止されていますが、多くのエンジニアは「クエリで明示的に SOA レコードが要求されない限り、CNAME に従う」などの動作を望んでいます。そのため、Route 53 は を提供していますalias records
。これらは、必要な機能を正確に提供する Route 53 固有の機能です。http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingAliasRRSets.html