Выбрать шлюз приложений 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 ответ
На основании вашего требования:
- Поскольку внутренним ресурсом является веб-приложение, вы можете игнорировать балансировщик нагрузки (уровень 4), где можно добавлять только виртуальные машины или VMSS.
- Еще одно ваше требование - WAF, и оно доступно только в AFD и AppGW. Но вы можете использовать Traffic Manager в качестве первого уровня балансировки нагрузки и иметь AppGW в разных регионах для обеспечения высокой устойчивости.
- Поскольку вы хотите, чтобы пользователи из определенной страны обращались к ближайшему бэкэнд-ресурсу, похоже, лучшим решением для вас является AFD.
AFD - это глобальный балансировщик нагрузки. Он имеет возможность WAF. Он может кэшировать данные и обеспечивать более быстрые ответы (функциональность CDN). AFD использует интеллектуальный механизм исследования, с помощью которого он выбирает конечную точку, которая ближе к клиенту, который делает запрос.
Надеюсь это поможет.