6

我有一个使用 Angular 8 和 Asp.net Core Web API 开发的 SaaS Web 应用程序。我已经将 web api 部署到一个 azure web 应用程序,并将 angular 前端 web 应用程序部署到另一个 azure web 应用程序。

用户来自中国和澳大利亚等国家。我希望像中国用户在中国天蓝色区域使用网络应用程序和澳大利亚用户使用澳大利亚天蓝色区域网络应用程序一样进行区域负载平衡,以使其具有最佳性能。Azure SQL DB 将在一个地方(在澳大利亚)。

此外,我想防止对 web 前端应用程序和 web api 的攻击,如 d-dos、web 抓取和 SQL 注入。对于网络抓取,我想从一个 ip 添加访问速率限制。

你能告诉我应该使用什么服务吗?我看到有关 azure 应用程序网关、azure 负载均衡器、azure 前门和 azure 流量管理器的博客。这让我有点困惑。我需要一个基于我这个真实世界场景的最佳实践。我应该使用其中一项服务还是应该使用多项服务?

4

1 回答 1

8

根据您的要求:

  1. 由于后端资源是 Web App,您可以忽略负载均衡器(第 4 层),您只能添加 VM 或 VMSS
  2. 您的另一个要求是 WAF,它仅在 AFD 和 AppGW 中可用。但是您可以将流量管理器用作第一层负载均衡,并在不同区域使用 AppGW 以提供高弹性。
  3. 由于您希望来自特定国家/地区的用户能够访问最近的后端资源,因此对您来说最好的解决方案似乎是 AFD。

AFD 是一个全局负载均衡器。它具有WAF功能。它可以缓存数据并提供更快的响应(CDN 功能)。AFD 使用智能探测机制,通过它选择离发出请求的客户端更近的端点。

希望这可以帮助。

于 2019-06-07T05:03:03.810 回答