Мульти-регион активно-активен с использованием сегмента S3 в каждом регионе - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь спроектировать архитектуру для «простой» проблемы, но пока не нашел решения.

Проблема:

Iиметь S3 bucket (по одному в каждой области с репликацией сегментов, чтобы в каждом сегменте было то же самое), и я хотел бы иметь CloudFront перед ним для кэширования объектов.

Моя потребность : иметь минимальную задержку для каждого пользователя в мире при отображении объекта из корзины S3.

Я хотел иметь дистрибутив CloudFront передкаждый сегмент S3 и Route53 для маршрутизации на основе задержки до ближайшего CF.Проблема в том, что у нас не может быть много дистрибутивов для одного и того же имени.

Здесь ниже архитектура, которую я имею до сих пор (, что не хорошо ).

enter image description here

Есть идеи, как этого добиться?

Спасибо.

CC

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Ответ кажется довольно сложным, предоставленным @Reza Mousavi.Смысл распространения AWS CloudFront заключается в кэшировании объектов в периферийных местоположениях по всему миру (см. Параметры при настройке прикрепленного снимка).
Рекомендуется (по крайней мере, пока я не делаю никаких жалоб), чтобы настроить один дистрибутив для каждогоПроисхождение приложения.Опция при настройке дает вам регионы для выбора на основе происхождения вашего клиента.

enter image description here

0 голосов
/ 14 октября 2018

Просто держите одну из своих корзин, AWS CloudFront сделает все за вас.

Как CloudFront доставляет контент вашим пользователям

После настройки CloudFront для доставкиваш контент, вот что происходит, когда пользователи запрашивают ваши объекты:

1 - Пользователь получает доступ к вашему веб-сайту или приложению и запрашивает один или несколько объектов, таких как файл изображения и файл HTML.

2 - DNS направляет запрос к периферийному местоположению CloudFront, которое может наилучшим образом удовлетворить запрос - как правило, к ближайшему пограничному местоположению CloudFront с точки зрения задержки - и направляет запросместоположение края.

3 - В местоположении края CloudFront проверяет свой кэш на наличие запрошенных файлов.Если файлы находятся в кэше, CloudFront возвращает их пользователю.Если файлы не находятся в кэше, он выполняет следующие действия:

  • CloudFront сравнивает запрос со спецификациями в вашем дистрибутиве и перенаправляет запрос на файлы на соответствующий сервер источника для соответствующего типа файла.- например, в корзину Amazon S3 для файлов изображений и на сервер HTTP для файлов HTML.
  • Исходные серверы отправляют файлы обратно в местоположение CloudFront
    .

  • Как только первый байт прибывает из источника, CloudFront
    начинает пересылать файлы пользователю.CloudFront также добавляет файлы
    в кэш-память в граничном расположении, когда в следующий раз кто-то
    запросит эти файлы.

    enter image description here

Для получения дополнительной информации прочитайте следующий документ:

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html

Чтобы доставлять контент конечным пользователям с меньшей задержкой, Amazon CloudFront использует глобальную сеть из 138 точек присутствия (127Пограничные местоположения и 11 региональных пограничных кешей) в 63 городах 29 стран.Расположение Amazon CloudFront Edge:

enter image description here

...