CloudFront — это CDN (сеть доставки контента) . Он извлекает данные из корзины Amazon S3 и распределяет их по нескольким центрам обработки данных. Он доставляет данные через сеть центров обработки данных, называемых периферийными точками . Расположение ближайшего края маршрутизируется, когда пользователь запрашивает данные, что приводит к минимальной задержке, низкому сетевому трафику, быстрому доступу к данным и т. Д.
Как AWS CloudFront доставляет контент?
AWS CloudFront доставляет контент в следующих шагах.
Шаг 1 — Пользователь заходит на веб-сайт и запрашивает объект для загрузки, как файл изображения.
Шаг 2 — DNS направляет ваш запрос в ближайший край CloudFront для обслуживания пользовательского запроса.
Шаг 3 — В крайнем месте CloudFront проверяет свой кеш для запрошенных файлов. Если найдено, то возвращает его пользователю, в противном случае делает следующее —
-
Сначала CloudFront сравнивает запрос со спецификациями и перенаправляет его на соответствующий исходный сервер для соответствующего типа файла.
-
Исходные серверы отправляют файлы обратно в периферийное местоположение CloudFront.
-
Как только первый байт прибывает из источника, CloudFront начинает пересылать его пользователю и добавляет файлы в кэш в крайнем расположении в следующий раз, когда кто-то снова запрашивает тот же файл.
Сначала CloudFront сравнивает запрос со спецификациями и перенаправляет его на соответствующий исходный сервер для соответствующего типа файла.
Исходные серверы отправляют файлы обратно в периферийное местоположение CloudFront.
Как только первый байт прибывает из источника, CloudFront начинает пересылать его пользователю и добавляет файлы в кэш в крайнем расположении в следующий раз, когда кто-то снова запрашивает тот же файл.
Шаг 4. Теперь объект находится в пограничном кэше в течение 24 часов или в течение заданного времени в заголовках файлов. CloudFront делает следующее —
-
CloudFront перенаправляет следующий запрос на объект к источнику пользователя, чтобы проверить, обновлена ли версия граничного местоположения или нет.
-
Если версия пограничного местоположения обновляется, CloudFront доставляет ее пользователю.
-
Если версия пограничного местоположения не обновляется, источник отправляет последнюю версию в CloudFront. CloudFront доставляет объект пользователю и сохраняет последнюю версию в кэше в этом крайнем местоположении.
CloudFront перенаправляет следующий запрос на объект к источнику пользователя, чтобы проверить, обновлена ли версия граничного местоположения или нет.
Если версия пограничного местоположения обновляется, CloudFront доставляет ее пользователю.
Если версия пограничного местоположения не обновляется, источник отправляет последнюю версию в CloudFront. CloudFront доставляет объект пользователю и сохраняет последнюю версию в кэше в этом крайнем местоположении.
Особенности CloudFront
Быстро — Широкая сеть периферийных местоположений и CloudFront кэширует копии контента, близкие к конечным пользователям, что приводит к снижению задержки, высокой скорости передачи данных и низкому сетевому трафику. Все это делает CloudFront быстрым.
Просто — это просто в использовании.
Может использоваться с другими сервисами AWS — Amazon CloudFront спроектирован таким образом, что его можно легко интегрировать с другими сервисами AWS, такими как Amazon S3, Amazon EC2.
Рентабельность — используя Amazon CloudFront, мы платим только за контент, который вы доставляете через сеть, без каких-либо скрытых платежей и предварительных платежей.
Elastic — используя Amazon CloudFront, нам не нужно беспокоиться о техническом обслуживании. Служба автоматически отвечает, если требуется какое-либо действие, если спрос увеличивается или уменьшается.
Надежность — Amazon CloudFront построен на высоконадежной инфраструктуре Amazon, т.е. его периферийные местоположения автоматически перенаправят конечных пользователей в следующее ближайшее местоположение, если это потребуется в некоторых ситуациях.
Глобальный — Amazon CloudFront использует глобальную сеть периферийных местоположений, расположенных в большинстве регионов.
Как настроить AWS CloudFront?
AWS CloudFront можно настроить с помощью следующих шагов.
Шаг 1. Войдите в консоль управления AWS, используя следующую ссылку — https://console.aws.amazon.com/
Шаг 2 — Загрузите Amazon S3 и выберите все права доступа. (Как загрузить контент в корзину S3 обсуждается в главе 14)
Шаг 3 — Создайте CloudFront Web Distribution, используя следующие шаги.
-
Откройте консоль CloudFront, используя следующую ссылку — https://console.aws.amazon.com/cloudfront/
-
Нажмите кнопку «Начать» в разделе «Интернет» раздела «Выберите способ доставки» для своей страницы контента.
Откройте консоль CloudFront, используя следующую ссылку — https://console.aws.amazon.com/cloudfront/
Нажмите кнопку «Начать» в разделе «Интернет» раздела «Выберите способ доставки» для своей страницы контента.
-
Откроется страница « Создать рассылку». Выберите корзину Amazon S3, созданную в исходном доменном имени, и оставьте остальные поля по умолчанию.
Откроется страница « Создать рассылку». Выберите корзину Amazon S3, созданную в исходном доменном имени, и оставьте остальные поля по умолчанию.
-
Откроется страница настроек поведения кэша по умолчанию. Оставьте значения по умолчанию и перейдите на следующую страницу.
-
Откроется страница настроек распространения. Заполните данные в соответствии с вашими требованиями и нажмите кнопку Создать рассылку.
-
Столбец «Состояние» изменяется с «Выполняется» на «Развернуто». Включите ваш дистрибутив, выбрав опцию Включить. Доменное имя будет доступно в списке «Распространения» примерно через 15 минут.
Откроется страница настроек поведения кэша по умолчанию. Оставьте значения по умолчанию и перейдите на следующую страницу.
Откроется страница настроек распространения. Заполните данные в соответствии с вашими требованиями и нажмите кнопку Создать рассылку.
Столбец «Состояние» изменяется с «Выполняется» на «Развернуто». Включите ваш дистрибутив, выбрав опцию Включить. Доменное имя будет доступно в списке «Распространения» примерно через 15 минут.
Проверьте ссылки
После создания рассылки CloudFront знает расположение сервера Amazon S3, а пользователь знает имя домена, связанное с рассылкой. Тем не менее, мы также можем создать ссылку на содержимое корзины Amazon S3 с этим доменным именем и использовать его в CloudFront. Это помогает сэкономить много времени.
Ниже приведены шаги, чтобы связать объект —
Шаг 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>
Шаг 2 — Сохраните текст в файл с расширением .html .
Шаг 3 — Откройте веб-страницу в браузере, чтобы проверить ссылки, чтобы убедиться, что они работают правильно. Если нет, тогда проверьте настройки.