Ответ 1
Ваш вопрос весьма важен, но вы используете слово "поддомен" не совсем точным образом.
То, о чем вы действительно спрашиваете, связано с тем, что запись Route 53, A
может дать вид ссылки на полностью квалифицированное имя хоста из другого домена или имя хоста или поддомен из своего собственного домена, в то время как в правильный DNS, единственный способ ссылаться на другое имя хоста - с CNAME
, но они не могут быть предоставлены на вершине домена (example.com), указывающие на субдомен ( "www.example.com" ).
Алиас, как вы говорите, представляется функционально эквивалентным, но более гибким, чем CNAME
, так ли разница?
Разница между a CNAME
и псевдонимом заключается в том, что CNAME
по-прежнему является надлежащим стандартным обычным DNS CNAME
, который возвращает ответ DNS-запроса "привет, вам нужно знать, что реальный (" c anonical ") name сервера, который вы ищете, это" x "и, в зависимости от обстоятельств, может также содержать запись A
для целевого хоста или может не потребовать, чтобы клиент пошел на второй поиск.
Псевдонимы, с другой стороны, являются умным взломом, созданным Amazon, который не нарушает протокол, но позволяет Route 53 выдавать запись A
непосредственно из ресурса "X", когда запись A
для ресурса "Y". Псевдонимы могут также ссылаться на другие типы записей, но тип записи, который они ссылаются, должен быть одинаковым, и для целей этого обсуждения я говорю о псевдонимах записи 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
не имеют такого перекрытия, как вы могли изначально подумать. В некоторых ситуациях можно использовать только один, а также случаи, когда любой из них будет работать, разница, вероятно, несущественна.
Одним из преимуществ Alias в том случае, когда можно использовать один из них, является то, что псевдоним никогда не требует двух DNS-запросов, как я уже упоминал выше. На Route 53 всегда отвечает соответствующая запись A
, где CNAME
, по крайней мере, в случае, когда она ссылается на имя хоста в другом домене верхнего уровня, может потребоваться два последовательных поиска DNS, предоставляя Alias теоретический преимущество в этом случае.