2015-10-15 6 views
4

Как настроить Cloudfront перед экземпляром EC2? Я заинтересован в том, чтобы пользователи попадали в URL-адрес Cloudfront, а не из источника EC2.Cloudfront и EC2

Таким образом, вместо того, чтобы поражать ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.com, пользователи попали бы в d111111abcdef8.cloudfront.net.

Мое намерение состоит в том, чтобы сэкономить деньги на хостинге, уменьшив нагрузку на трафик и загрузку процессора на экземпляр EC2, предоставляя заокеанским пользователям более быстрое время загрузки.

Могу ли я указать свой DNS на URL-адрес Cloudfront вместо источника EC2?

ответ

10

Могу ли я указать свой DNS на URL-адрес Cloudfront вместо источника EC2?

В значительной степени.

Технически вы не указываете DNS на URL-адрес, указывая его на имя хоста или на IP-адрес, который немного отличается с CloudFront.

Во-первых, хотя ... в настройках распространения CloudFront вам необходимо настроить любые имена хостов, которые CloudFront должен ожидать, отправленные браузером в поле «альтернативные имена доменов».

Для начала введите ec2-...-compute.amazonaws.com имя хоста.

На этом этапе через 10-15 минут посещение URL, назначенного CloudFront, выведет вас на ваш сервер.

Далее ... если ваш DNS размещен в маршруте 53, вы перейдете в зону размещения и создадите новые записи «A» для этих имен хостов, установив «Псевдоним» на «Да», что должно привести к которые будут выбраны, и сохранить запись.

Если ваш DNS не размещен на маршруте 53, вместо этого вы должны создать CNAME записей в DNS, указав на имя хоста, назначенное для распределения CloudFront, например. jozxyqkexample.cloudfront.net. Уловка здесь заключается в том, что вы не можете сделать это с помощью вершины/корня вашего домена, потому что CNAME здесь недействителен ... так что www.example.com будет работать, но example.com не будет. Это ограничение DNS, и единственным обходным решением является использование маршрута 53 для вашего DNS, поскольку он имеет внутреннюю интеграцию с CloudFront (следовательно, записи «Alias», упомянутые выше, которые используют внутренние поисковые запросы, а не внешние рефералы, например CNAME).

Вы также можете настроить CloudFront для пересылки заголовка Host на исходный сервер; в противном случае, когда запрос поступит, имя хоста, представленное вашему серверу в HTTP-запросах, не будет вашим доменным именем и вместо этого будет именем хоста, настроенным как исходный хост.

Убедитесь, что при подключении через CloudFront сервер не перенаправляет вас на имя хоста EC2 или IP (адресная строка в браузере изменится, если это произойдет, и вы захотите исправить свою конфигурация веб-сервера, если это произойдет).

+0

Спасибо за ваш ответ Майкл. DNS управляется NameCheap. Указание URL-адреса на имя хоста или IP-адрес прост с помощью NameCheap. Но я думаю, вам также нужно будет сделать некоторую конфигурацию в панели управления AWS CloudFront? Например, укажите URL-адрес. Так что это двухсторонняя конфигурация? – ChrisRich

+0

* Для начала введите имя компьютера ec2 -...- compute.amazonaws.com. * Так вы можете настроить CloudFront на свой сервер.Шаг выше, это то, как вы указываете CloudFront, что имя хоста, на которое вы собираетесь указать, должно быть связано с этим конкретным дистрибутивом, когда оно видит, что имя хоста, отправленное браузером при входящих запросах. DNS-служба NameCheap будет работать, если этот сайт не является вашим голым доменным именем (www.example.com ok, example.com не работает). –

+0

Я получаю эту ошибку, запрос не может быть удовлетворен. CloudFront попытался установить соединение с источником, но либо попытка не удалась, либо источник закрыл соединение. Порожденных CloudFront (CloudFront) Запрос ID: 9FQvbTDRYQvDABh1FgbmeMdMBA5JQmcH29bQd_yLQJ90Mf3cytZilg == – byteC0de

Смежные вопросы