Использование Azure Front Door с большими двоичными объектами служба хранилища Azure

Azure Front Door ускоряет доставку статического содержимого из служба хранилища Azure БОЛЬШИХ двоичных объектов и обеспечивает безопасную и масштабируемую архитектуру. Доставка статического содержимого полезна для многих различных вариантов использования, включая размещение веб-сайтов и доставку файлов.

Архитектура

Diagram of Azure Front Door with a blob storage origin.

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

Поток данных

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

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

Компоненты

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

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

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

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

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

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

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

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

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

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

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

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

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

Front Door предназначен для работы с Интернетом, и этот сценарий оптимизирован для общедоступных BLOB-объектов. Если вам нужно пройти проверку подлинности доступа к blob-объектам, рассмотрите возможность использования подписанных URL-адресов и убедитесь, что можно включить поведение строки запроса "Использовать строку запроса запроса", чтобы избежать обслуживания запросов Front Door для клиентов без проверки подлинности. Однако этот подход может не эффективно использовать кэш Front Door, так как каждый запрос с другой подписью общего доступа должен отправляться в источник отдельно.

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

Front Door безопасно подключается к учетной записи служба хранилища Azure с помощью Приватный канал. Учетная запись хранения настроена для запрета прямого доступа из Интернета и разрешать только запросы через подключение частной конечной точки, используемое Front Door. Эта конфигурация гарантирует, что каждый запрос обрабатывается Front Door и не предоставляет содержимое учетной записи хранения непосредственно в Интернете. Однако для этой конфигурации требуется уровень "Премиум" Azure Front Door. Если используется стандартный уровень, учетная запись хранения должна быть общедоступной. Вы можете использовать подписанный URL-адрес для защиты запросов к учетной записи хранения, а клиент может включать подпись во всех своих запросах или использовать подсистему правил Front Door для присоединения к ней из Front Door.

Личные доменные имена

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

служба хранилища Azure также поддерживает имена пользовательских доменов, но не поддерживает ПРОТОКОЛ HTTPS при использовании личного домена. Front Door — лучший подход к использованию имени личного домена с учетной записью хранения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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