Кажется, публичный DNS, например ec2-x-x-x-x.compute-1.amazonaws.com будет изменен, когда вы остановите или завершите работу экземпляра.
Значит, у них есть такой же срок службы, как и у публичного IP-адреса ec2Итак, зачем мне использовать этот общедоступный DNS? Их нелегко запомнить, и они бессмысленны.
Общедоступное DNS-имя (будь то эластичный IP-адрес или нет) точно такое же, как при использовании общедоступного IP-адреса (эластичного IP-адреса или нет), с одним важным отличием:
Если вы запрашиваете общедоступное DNS-имя вне EC2, оно преобразуется в общедоступный IP-адрес. Если вы запрашиваете общедоступное DNS-имя изнутри EC2, оно преобразуется в частный IP-адрес.
Вы можете использовать этот прием с эластичными IP-адресами или без них. Я рекомендую использовать эластичные IP-адреса, поскольку они сохраняют общедоступное DNS-имя неизменным даже после остановки / запуска или перемещения вашей службы на другой экземпляр EC2. По этой причине вы всегда можете использовать общедоступное DNS-имя эластичного IP-адреса, и оно будет преобразовано во внутренний IP-адрес текущего экземпляра, с которым связан эластичный IP-адрес.
Вы можете расширить это, используя запись CNAME DNS, в которой вы сопоставляете предпочитаемое имя хоста с внешним DNS-именем эластичного IP-адреса.
Вот статья, которую я написал об использовании этой функции для экономии денег и повышения производительности сети с помощью внутренней связи EC2 без необходимости отслеживать текущий внутренний IP-адрес для каждого экземпляра на всех других экземплярах: http://alestic.com/2009/06/ec2-elastic-ip-internal
Помимо этого единственного различия, я согласен с тем, что вы также можете использовать общедоступный IP-адрес вместо общедоступного DNS-имени, потому что:
Вы экономите время, не выполняя поиск в DNS
Вы избегаете любых угроз безопасности, которые иногда возникают в протоколе DNS.
так что, я полагаю, на самом деле есть еще два отличия ...
Вы должны использовать общедоступный адрес EC2 для таких вещей, как SSH-подключение к этому серверу, или для соединения экземпляров EC2, или для любых других вещей.
Если вам нужен согласованный адрес (скажем, чтобы указывать на пользователей), вы должны подготовить Elastic Load Balancer или Elastic IP, чтобы они располагались перед вашими экземплярами.
Кроме того, в EC2 общедоступный DNS разрешается во внутренний IP-адрес экземпляра, но за пределами EC2 он разрешается во внешний IP-адрес. Иногда это может быть полезно, поскольку связь между узлами EC2 с использованием частного IP-адреса экономит ваши деньги.
Они меняются только тогда, когда вы останавливаете экземпляр. Если ваш экземпляр будет долгоживущим, вы можете просто указать ему CNAME, и он заработает. Они не совсем бесполезны, они временны.