Поделиться через


Использование Azure Front Door с объектами Blob хранилища Azure

Azure Front Door улучшает доставку статического содержимого из блобов Azure Storage, обеспечивая безопасную и масштабируемую архитектуру. Эта настройка идеально подходит для различных вариантов использования, таких как размещение веб-сайтов и доставка файлов.

Архитектура

Схема Azure Front Door с исходным хранилищем объектов BLOB.

В этой эталонной архитектуре развертываются хранилище и профиль сервиса Azure Front Door с одним источником данных.

Поток данных

Данные передаются в сценарии следующим образом:

  1. Клиент устанавливает безопасное подключение к Azure Front Door с помощью имени личного домена и сертификата TLS, предоставленного Front Door. Подключение завершается в ближайшей точке присутствия Front Door (PoP).
  2. Брандмауэр веб-приложения Azure Front Door (WAF) сканирует запрос. Если WAF определяет, что запрос слишком рискованный, он блокирует запрос и возвращает ответ на ошибку HTTP 403.
  3. Если кэш PoP Front Door содержит валидный ответ, Front Door возвращает его немедленно.
  4. Если нет, PoP отправляет запрос в исходную учетную запись хранилища, используя основную сеть Microsoft и отдельное, длительное TCP-подключение. В этом сценарии Private Link безопасно соединяется с учетной записью хранения.
  5. Учетная запись хранения отправляет ответ на PoP Front Door.
  6. PoP сохраняет ответ в своем кэше для будущих запросов.
  7. PoP возвращает ответ клиенту.
  8. Любые прямые запросы к учетной записи хранилища через интернет блокируются брандмауэром службы хранилища Azure.

Компоненты

  • Служба хранилища Azure: Хранит статическое содержимое в блобах.
  • Azure Front Door: получает входящий трафик от клиентов, проверяет их с помощью WAF, безопасно пересылает запросы в учетную запись хранения и кэширует ответы.

Альтернативные варианты

Если вы храните статические файлы с другим поставщиком облачных хранилищ или собственной инфраструктурой, этот сценарий по-прежнему применяется в значительной степени. Однако необходимо убедиться, что входящий трафик к исходному серверу проверен на прохождение через Front Door. Если поставщик хранилища не поддерживает Private Link, рассмотрите возможность использования альтернативного подхода, например внесения в разрешенный список тега службы Front Door и проверки заголовкаX-Azure-FDID.

Подробности сценария

Доставка статического содержимого полезна во многих ситуациях, например:

  • Доставка изображений, CSS-файлов и файлов JavaScript для веб-приложения.
  • Обслуживание файлов и документов, таких как PDF или JSON-файлы.
  • Доставка непотокового видео.

Статический контент обычно не изменяется часто и может быть большим размером, что делает его идеальным для кэширования для повышения производительности и снижения затрат.

В сложных сценариях один профиль Front Door может обслуживать как статическое, так и динамическое содержимое. Вы можете использовать отдельные группы источников для каждого типа содержимого и использовать возможности маршрутизации для направления входящих запросов в соответствующий источник.

Рекомендации

Масштабируемость и производительность

Azure Front Door действует как сеть доставки содержимого (CDN), кэшируя содержимое в глобально распределённых PoPs. Когда кэшированный ответ доступен, Azure Front Door быстро обслуживает его, повышая производительность и уменьшая нагрузку на источник. Если poP не имеет допустимого кэшированного ответа, возможности ускорения трафика Azure Front Door ускоряют доставку содержимого из источника.

Безопасность

Проверка подлинности

Azure Front Door предназначен для интернет-ориентированных сценариев и оптимизирован для публично доступных BLOB-объектов. Для проверки подлинности доступа к BLOB-объектам рекомендуется использовать подписи для общего доступа (SAS). Убедитесь, что вы включаете функцию "Использовать строку запроса", чтобы предотвратить выполнение запросов Azure Front Door для клиентов без проверки подлинности. Этот подход может ограничить эффективность кэширования, так как каждый запрос с другим SAS должен быть отправлен в источник.

Безопасность источника

  • При использовании уровня "Премиум" Azure Front Door может безопасно подключаться к учетной записи хранения Azure с помощью Private Link. Учетная запись хранения может быть настроена для запрета доступа к общедоступной сети, разрешая запросы только через частную конечную точку, используемую Azure Front Door. Эта настройка гарантирует, что все запросы обрабатываются Azure Front Door, защищая учетную запись хранения от прямого доступа к Интернету.
  • Если вы используете стандартный уровень, вы можете защитить запросы с помощью подписанного общего доступа (SAS) и либо включить SAS в запросы клиентов, либо использовать обработчик правил Azure Front Door для его прикрепления. Обратите внимание, что доступ к сети учетной записи хранения должен быть общедоступным (из всех сетей или из IP-адресов Front Door в теге службы AzureFrontDoor.Backend).

Имена пользовательских доменов

Azure Front Door поддерживает имена пользовательских доменов и может управлять сертификатами TLS для этих доменов. Использование пользовательских доменов гарантирует, что клиенты получают файлы из надежного источника с шифрованием TLS для каждого подключения к Azure Front Door. Управление сертификатами TLS в Azure Front Door помогает избежать сбоев и проблем безопасности из недопустимых или устаревших сертификатов.

Брандмауэр веб-приложения

Управляемое правило WAF Azure Front Door задает запросы сканирования для распространенных и возникающих угроз безопасности. Мы рекомендуем использовать WAF и управляемые правила как для статических, так и для динамических приложений.

Кроме того, WAF Azure Front Door может выполнять ограничение скорости и геофильтрация при необходимости.

Устойчивость

Azure Front Door — это высокодоступная служба с глобально распределенной архитектурой, что позволяет обеспечить устойчивость к сбоям в отдельных регионах Azure и поставщиках услуг.

Использование кэша Azure Front Door снижает нагрузку на учетную запись хранения. Если ваша учетная запись хранения становится недоступной, Azure Front Door может продолжать обслуживать кэшированные ответы до восстановления приложения.

Чтобы повысить устойчивость, рассмотрите резервирование учетной записи хранения. Дополнительные сведения см. в статье Репликация службы хранилища Azure. Кроме того, разверните несколько учетных записей хранения и настройте несколько источников в группе источников Azure Front Door. Настройте переключение между серверами источников, задав приоритет каждого. Дополнительные сведения см. в разделе "Источники и группы источников" в Azure Front Door.

Оптимизация затрат

Кэширование помогает снизить затраты на доставку статического содержимого. PoPs Azure Front Door хранит копии ответов и может доставлять эти кэшированные ответы для последующих запросов, уменьшая нагрузку запроса на источник. В высокомасштабируемых решениях статического содержимого, особенно при доставке больших файлов, кэширование может значительно снизить затраты на трафик.

Чтобы использовать Private Link в этом решении, разверните уровень Премиум Azure Front Door. Уровень "Стандартный" можно использовать, если вам не нужно блокировать прямой трафик к учетной записи хранения. Дополнительные сведения см. в разделе "Безопасность источника".

Развертывание этого сценария

Сведения о развертывании этого сценария с помощью шаблонов Bicep или JSON ARM см. в этом кратком руководстве.

Сведения о развертывании этого сценария с помощью Terraform см. в этом кратком руководстве.

Следующие шаги

Узнайте, как создать профиль Azure Front Door.