Изменить

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


WordPress в Службе приложений

Azure Front Door
Azure Load Balancer
Виртуальная сеть Azure
Служба приложений Azure
База данных Azure для MySQL

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

Архитектура

Схема архитектуры WordPress в службе приложение Azure. Azure Front Door направляет трафик в веб-приложения. База данных Azure для MySQL хранит динамическое содержимое.

Скачайте файл Visio для этой архитектуры.

Примечание.

Это решение можно расширить, реализуя советы и рекомендации, которые не относятся к определенному методу размещения WordPress. Общие советы по развертыванию установки WordPress см. в разделе WordPress в Azure.

Поток данных

Этот сценарий охватывает масштабируемую установку WordPress, которая выполняется в службе приложение Azure.

  • Пользователи получают доступ к интерфейсным веб-сайту через Azure Front Door с поддержкой Azure Брандмауэр веб-приложений.
  • Azure Front Door распределяет запросы между Служба приложений веб-приложениями, на которые работает WordPress. Azure Front Door извлекает данные, которые не кэшируются из веб-приложений WordPress.
  • Приложение WordPress использует конечную точку службы для доступа к гибкому экземпляру сервера База данных Azure для MySQL. Приложение WordPress получает динамические сведения из базы данных.
  • Локальная избыточность высокого уровня доступности включена для База данных Azure для MySQL через резервный сервер в той же зоне доступности.
  • Все статическое содержимое размещается в Хранилище BLOB-объектов Azure.

Компоненты

  • Шаблон WordPress на Служба приложений — это управляемое решение для размещения WordPress на Служба приложений. Кроме Служба приложений, решение также использует другие службы Azure, описанные в этом разделе.
  • Служба приложений предоставляет платформу для создания, развертывания и масштабирования веб-приложений.
  • Azure Front Door — это современная сеть доставки содержимого в облаке. В качестве распределенной сети серверов Azure Front Door эффективно предоставляет веб-содержимое пользователям. Сети доставки содержимого свести к минимуму задержку путем хранения кэшированного содержимого на пограничных серверах в местах присутствия рядом с конечными пользователями.
  • Azure сеть доставки содержимого эффективно предоставляет пользователям веб-содержимое, сохраняя большие двоичные объекты в стратегически размещенных местах. В этом решении можно использовать сеть доставки содержимого в качестве альтернативы Azure Front Door.
  • Azure виртуальная сеть предоставляет возможность взаимодействия между развернутыми ресурсами, интернетом и локальными сетями. Виртуальные сети обеспечивают изоляцию и сегментацию. Они также фильтруют и маршрутизирует трафик и позволяют устанавливать подключения между различными расположениями. В этом решении две сети подключены через пиринг между виртуальными сетями.
  • Защита от атак DDoS Azure предоставляет расширенные функции защиты от атак DDoS. При сочетании этих функций с рекомендациями по проектированию приложений они помогают защититься от атак DDoS. Необходимо включить защиту от атак DDoS в виртуальных сетях периметра.
  • Группы безопасности сети используют список правил безопасности, чтобы разрешить или запретить входящий или исходящий сетевой трафик на основе исходного или целевого IP-адреса, порта и протокола. В подсетях этого сценария правила группы безопасности сети ограничивают поток трафика между компонентами приложения.
  • Azure Key Vault сохраняет и управляет доступом к паролям, сертификатам и ключам.
  • База данных Azure для MySQL — гибкий сервер — это реляционная служба баз данных, основанная на ядре СУБД MySQL с открытым исходным кодом. Гибкий вариант развертывания сервера — это полностью управляемая служба, которая обеспечивает детализированный контроль и гибкость над функциями управления базами данных и параметрами конфигурации. В этом сценарии База данных Azure для MySQL хранит данные WordPress.
  • Хранилище BLOB-объектов предоставляет масштабируемое, оптимизированное хранилище объектов. Хранилище BLOB-объектов хорошо подходит для облачных рабочих нагрузок, архивов, озер данных, высокопроизводительных вычислений и машинного обучения.

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

  • Вы можете использовать Кэш Azure для Redis для размещения кэша "ключ-значение" для подключаемых модулей оптимизации производительности WordPress. Кэш можно совместно использовать между веб-приложениями Служба приложений.
  • Вместо Azure Front Door можно использовать сеть доставки содержимого для доставки веб-содержимого пользователям.

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

Этот пример сценария подходит для небольших и средних установок WordPress.

Потенциальные варианты использования

  • События мультимедиа, вызывающие всплеск трафика
  • Блоги, использующие WordPress в качестве системы управления содержимым
  • Веб-сайты для бизнеса или электронной коммерции, использующие WordPress
  • Веб-сайты, созданные с помощью других систем управления содержимым

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

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Надежность

Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Дополнительные сведения см. в разделе "Обзор основы надежности".

При развертывании этого решения рассмотрите следующие рекомендации.

  • Служба приложений обеспечивает встроенную балансировку нагрузки и проверки работоспособности. Эти функции помогают поддерживать доступность при сбое веб-приложения Служба приложений.
  • При использовании сети доставки содержимого для кэширования всех ответов вы получаете небольшое преимущество доступности. В частности, если источник не отвечает, вы по-прежнему можете получить доступ к содержимому. Но кэширование не обеспечивает полное решение для доступности.
  • Хранилище BLOB-объектов можно реплицировать в парный регион для избыточности данных в нескольких регионах. Дополнительные сведения см. в статье Репликация службы хранилища Azure.
  • Чтобы увеличить доступность База данных Azure для MySQL, включите высокий уровень доступности в одной зоне. Эта функция создает резервный сервер в той же зоне доступности, что и основной сервер. Необходимо использовать уровень вычислений общего назначения или критически важный для бизнеса, чтобы обеспечить высокий уровень доступности в одной зоне. Дополнительные сведения см. в параметрах высокой доступности, которые применяются к вашим потребностям.

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

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

При развертывании этого решения рассмотрите следующие рекомендации.

  • Используйте Azure Брандмауэр веб-приложений в Azure Front Door, чтобы защитить трафик виртуальной сети, который передается на внешний уровень приложений. Дополнительные сведения см. в статье azure Брандмауэр веб-приложений в Azure Front Door.
  • Не разрешайте исходящий интернет-трафик передаваться с уровня базы данных.
  • Не разрешайте общедоступный доступ к частному хранилищу.

Дополнительные сведения о безопасности WordPress см. в статье "Общие советы по безопасности и производительности WordPress" и документация по безопасности Azure.

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

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

Ознакомьтесь со следующими рекомендациями по затратам при развертывании этого решения:

  • Ожидания трафика (ГБ/месяц). Объем трафика — это фактор, который оказывает наибольшее влияние на стоимость. Объем получаемого трафика определяет количество необходимых экземпляров Служба приложений и стоимость исходящей передачи данных. Объем трафика также напрямую коррелирует с объемом данных, предоставляемых вашей сетью доставки содержимого, где затраты на передачу исходящих данных дешевле.
  • Объем размещенных данных. Важно учитывать объем данных, размещенных в хранилище BLOB-объектов. Цены на хранилище основаны на используемой емкости.
  • Процент записи. Рассмотрим, сколько новых данных вы записываете на веб-сайт и размещаете в служба хранилища Azure. Определите, требуются ли новые данные. Для развертываний с несколькими регионами объем новых данных, записываемых на веб-сайт, сопоставляется с объемом данных, зеркальным отображением в разных регионах.
  • Статический и динамический контент. Отслеживайте производительность и емкость хранилища базы данных, чтобы определить, поддерживает ли ваш сайт более дешевый номер SKU. База данных хранит динамическое содержимое, а сеть доставки содержимого кэширует статическое содержимое.
  • Служба приложений оптимизации. Общие советы по оптимизации Служба приложений затрат см. в разделе приложение Azure Оптимизация служб и затрат.

Оптимизация производительности

Уровень производительности — это способность вашей рабочей нагрузки эффективно масштабироваться в соответствии с требованиями, предъявляемыми к ней пользователями. Дополнительные сведения см. в разделе "Общие сведения о эффективности производительности".

Этот сценарий размещает интерфейс WordPress в Служба приложений. Вы должны включить функцию автомасштабирования для автоматического масштабирования числа экземпляров Служба приложений. Вы можете задать триггер автомасштабирования для реагирования на запрос клиента. Вы также можете задать триггер, основанный на определенном расписании. Дополнительные сведения см. в статье "Начало работы с автомасштабированием в Azure" и принципах эффективности производительности azure Well-Architected Framework.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Автор субъекта:

Другие участники:

  • Адриан Калинеску | Старший архитектор облачных решений

Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.

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

Документация по продукту:

Модули обучения Майкрософт: