Amazon Web Services - CloudFront
CloudFront это CDN (Content Delivery Network). Он извлекает данные из корзины Amazon S3 и распределяет их по нескольким расположениям центров обработки данных. Он доставляет данные через сеть центров обработки данных, называемыхedge locations. Ближайшее пограничное местоположение маршрутизируется, когда пользователь запрашивает данные, что приводит к наименьшей задержке, низкому сетевому трафику, быстрому доступу к данным и т. Д.
Как AWS CloudFront доставляет контент?
AWS CloudFront доставляет контент в следующие этапы.
Step 1 - Пользователь заходит на веб-сайт и запрашивает объект для загрузки, например файл изображения.
Step 2 - DNS направляет ваш запрос в ближайшее периферийное местоположение CloudFront для обслуживания запроса пользователя.
Step 3- На периферии CloudFront проверяет свой кеш на наличие запрошенных файлов. Если найден, то возвращает его пользователю, в противном случае выполняет следующие действия:
Сначала CloudFront сравнивает запрос со спецификациями и пересылает его на соответствующий исходный сервер для соответствующего типа файла.
Исходные серверы отправляют файлы обратно в периферийное расположение CloudFront.
Как только первый байт прибывает из источника, CloudFront начинает пересылать его пользователю и добавляет файлы в кеш в периферийном расположении в следующий раз, когда кто-то снова запросит тот же файл.
Step 4- Теперь объект находится в пограничном кэше в течение 24 часов или в течение времени, указанного в заголовках файлов. CloudFront делает следующее -
CloudFront пересылает следующий запрос объекта источнику пользователя, чтобы проверить, обновлена ли версия периферийного местоположения.
Если версия для периферийного местоположения обновлена, CloudFront доставит ее пользователю.
Если версия периферийного местоположения не обновлена, origin отправляет последнюю версию в CloudFront. CloudFront доставляет объект пользователю и сохраняет последнюю версию в кэше в этом пограничном местоположении.
Особенности CloudFront
Fast- Широкая сеть периферийных местоположений и CloudFront кэшируют копии контента рядом с конечными пользователями, что приводит к снижению задержки, высокой скорости передачи данных и низкому сетевому трафику. Все это делает CloudFront быстрым.
Simple - Легко использовать.
Can be used with other AWS Services - Amazon CloudFront разработан таким образом, что его можно легко интегрировать с другими сервисами AWS, такими как Amazon S3, Amazon EC2.
Cost-effective - Используя Amazon CloudFront, мы платим только за контент, который вы доставляете по сети, без каких-либо скрытых платежей и никаких авансовых платежей.
Elastic- Используя Amazon CloudFront, нам не нужно беспокоиться об обслуживании. Сервис автоматически реагирует, если требуется какое-либо действие, в случае увеличения или уменьшения спроса.
Reliable - Amazon CloudFront построен на основе высоконадежной инфраструктуры Amazon, то есть его периферийные местоположения автоматически перенаправляют конечных пользователей к следующему ближайшему местоположению, если это необходимо в некоторых ситуациях.
Global - Amazon CloudFront использует глобальную сеть периферийных местоположений, расположенных в большинстве регионов.
Как настроить AWS CloudFront?
AWS CloudFront можно настроить, выполнив следующие действия.
Step 1 - Войдите в консоль управления AWS, используя следующую ссылку - https://console.aws.amazon.com/
Step 2- Загрузите Amazon S3 и выберите все публичные разрешения. (Как загружать контент в корзину S3 обсуждается в главе 14)
Step 3 - Создайте распространение CloudFront через Интернет, выполнив следующие действия.
Откройте консоль CloudFront, используя следующую ссылку - https://console.aws.amazon.com/cloudfront/
Нажмите кнопку «Приступить к работе» в веб-разделе «Выберите способ доставки» для своей страницы содержимого.
![](https://post.nghiatu.com/assets/tutorial/amazon_web_services/images/get_started.jpg)
Create Distributionстраница открывается. Выберите корзину Amazon S3, созданную в доменном имени Origin, и оставьте остальные поля по умолчанию.
![](https://post.nghiatu.com/assets/tutorial/amazon_web_services/images/create_distribution.jpg)
Откроется страница настроек поведения кэша по умолчанию. Оставьте значения по умолчанию и перейдите на следующую страницу.
Откроется страница настроек распространения. Заполните данные в соответствии с вашими требованиями и нажмите кнопку «Создать распространение».
Столбец «Состояние» изменится с «Выполняется» на «Развернуто». Включите ваш дистрибутив, выбрав опцию Enable. Для того, чтобы доменное имя появилось в списке рассылки, потребуется около 15 минут.
Проверить ссылки
После создания раздачи CloudFront знает местоположение сервера Amazon S3, а пользователю известно доменное имя, связанное с раздачей. Однако мы также можем создать ссылку на содержимое корзины Amazon S3 с этим доменным именем, и CloudFront будет ее обслуживать. Это помогает сэкономить много времени.
Ниже приведены шаги, чтобы связать объект -
Step 1- Скопируйте следующий HTML-код в новый файл и напишите доменное имя, которое CloudFront присвоил распределению вместо доменного имени. Напишите имя файла корзины Amazon S3 вместо имени объекта.
<html>
<head>CloudFront Testing link</head>
<body>
<p>My Cludfront.</p>
<p><img src = "http://domain-name/object-name" alt = "test image"/>
</body>
</html>
Step 2 - Сохраните текст в файл с .html расширение.
Step 3- Откройте веб-страницу в браузере, чтобы проверить ссылки, чтобы убедиться, что они работают правильно. Если нет, то перепроверьте настройки.