У нас на Amazon работает EC2. Оно имеет Публичный IP и Публичный DNS.
Мы используем общедоступный IP-адрес в наших записях домена, создавая запись A для www.example.com. Затем сайт становится доступным. Если бы мы использовали общедоступный DNS, мы бы использовали CNAME вместо записи A.
Мой вопрос касается технических характеристик и функциональности обоих. Есть ли у одного преимущество перед другим?
Во многих случаях нет причин использовать CNAME. У вас есть единственный общедоступный IP-адрес, поэтому укажите запись A на свой IP-адрес, чтобы избежать второго поиска, необходимого для CNAME. Также для example.com
(нет www
) A-запись - ваш единственный вариант, когда вы указываете напрямую на экземпляр EC2, который не использует Elastic Load Balancer (ELB) или CloudFront в качестве внешнего интерфейса.
Исключение:
Для имени хоста внутри вашего домена, например www
, может быть полезно использовать CNAME, если вы хотите, чтобы экземпляры в вашей учетной записи AWS (и в том же регионе) могли получить доступ к экземпляру, используя внешнее имя хоста, но внутренний IP-адрес. Инфраструктура EC2 делает это автоматически, когда вы используете CNAME.
Например:
www.example.com CNAME ec2-203-0-113-25.compute-1.amazonaws.com.
При запросе за пределами вашего региона EC2 и аккаунта www.example.com вернет общедоступный IP-адрес экземпляра, 203.0.113.25.
При запросе внутри вашего региона EC2 и учетной записи www.example.com вернет частный IP-адрес экземпляра, например 172.31.1.20.
Мы разрешаем внешнее имя хоста DNS в общедоступный IP-адрес экземпляра за пределами сети экземпляра и в частный IP-адрес экземпляра из сети экземпляра.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
Это автоматическое сопоставление позволяет сэкономить на передаче данных, когда внутренние машины обращаются к другим внутренним машинам с использованием общедоступных имен хостов. Если для этого доступа используется общедоступный IP-адрес, эластичный IP-адрес или шлюз NAT, вы будете платить дополнительно за отправку трафика и обратно, и это позволяет избежать этого.