我有一个使用 Angular 8 和 Asp.net Core Web API 开发的 SaaS Web 应用程序。我已经将Web api部署到Azure Web应用程序,并将角度前端Web应用程序部署到另一个Azure Web应用程序。
用户来自中国和澳大利亚等国家。我希望实现区域负载平衡,例如中国用户在中国 azure 区域上使用 Web 应用,澳大利亚用户使用澳大利亚 azure 区域 Web 应用,以便其具有最佳性能。Azure SQL DB将位于一个地方(澳大利亚)。
此外,我想防止攻击 Web 前端应用程序和 Web API,如 d-dos、Web 抓取和 SQL 注入。对于网络抓取,我想添加一个 IP 的访问速率限制。
你能告诉我我应该使用什么服务吗?我看到博客讨论了 azure 应用程序网关、azure 负载均衡器、azure Front door 和 azure 流量管理器。这让我有点困惑。我需要基于我的这个现实世界场景的最佳实践。我应该使用其中一项服务还是应该使用多项服务?
根据您的要求:
- 由于后端资源是 Web 应用,因此可以忽略只能添加 VM 或 VMSS 的负载均衡器(第 4 层)
- 您的另一个要求是 WAF,它仅在 AFD 和 AppGW 中可用。但是,可以使用流量管理器作为第一层负载均衡,并在不同区域中使用 AppGW 以提供高复原能力。
- 由于您希望来自特定国家/地区的用户访问最近的后端资源,因此似乎最适合您的解决方案是 AFD。
AFD 是一个全局负载均衡器。它具有 WAF 功能。它可以缓存数据并提供更快的响应(CDN功能)。AFD 使用智能探测机制,通过该机制,它选择更接近发出请求的客户端的终结点。
希望这有帮助。