Выбрать шлюз приложений Azure, балансировщик нагрузки, входную дверь или диспетчер трафика?

У меня есть веб-приложение SaaS, разработанное с Angular 8 и Asp.net Core Web API. Я развернул веб-интерфейс API в веб-приложении Azure и развернул интерфейсное веб-приложение с угловым интерфейсом также в другом веб-приложении Azure.

Пользователи из Китая, Австралии и других стран. Я хочу, чтобы баланс региональной нагрузки был таким, как китайские пользователи используют веб-приложение в китайско-голубом регионе, а австралийские пользователи используют веб-приложение австралийского лазурного региона, чтобы оно имело наилучшую производительность. База данных Azure SQL будет находиться в одном месте (в Австралии).

Кроме того, я хочу предотвратить атаку на веб-приложение и веб-API, такие как d-dos, веб-очистка и внедрение SQL-кода. Для веб-очистки я хочу добавить ограничение скорости доступа с одного IP.

Можете ли вы посоветовать, какой сервис мне следует использовать? Я видел блог, рассказывающий о шлюзе приложений Azure, Azure Load Balancer, Azure Front Door и Azure Traffic Manager. Это немного смущает меня. Мне нужна лучшая практика, основанная на моем сценарии реального мира. Должен ли я использовать один из сервисов или несколько сервисов?

1 ответ

Решение

На основании вашего требования:

  1. Поскольку внутренним ресурсом является веб-приложение, вы можете игнорировать балансировщик нагрузки (уровень 4), где можно добавлять только виртуальные машины или VMSS.
  2. Еще одно ваше требование - WAF, и оно доступно только в AFD и AppGW. Но вы можете использовать Traffic Manager в качестве первого уровня балансировки нагрузки и иметь AppGW в разных регионах для обеспечения высокой устойчивости.
  3. Поскольку вы хотите, чтобы пользователи из определенной страны обращались к ближайшему бэкэнд-ресурсу, похоже, лучшим решением для вас является AFD.

AFD - это глобальный балансировщик нагрузки. Он имеет возможность WAF. Он может кэшировать данные и обеспечивать более быстрые ответы (функциональность CDN). AFD использует интеллектуальный механизм исследования, с помощью которого он выбирает конечную точку, которая ближе к клиенту, который делает запрос.

Надеюсь это поможет.