【问题标题】:should I choose azure application gateway or load balancer or front door or traffic manager?我应该选择 Azure 应用程序网关还是负载均衡器、前门还是流量管理器?
【发布时间】:2019-10-22 11:36:57
【问题描述】:

我有一个使用 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 流量管理器。这让我有点困惑。我需要一个基于我这个真实世界场景的最佳实践。我应该使用其中一项服务还是应该使用多项服务?

【问题讨论】:

    标签: azure-web-app-service azure-application-gateway azure-load-balancer azure-front-door


    【解决方案1】:

    根据您的要求:

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

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

    希望这会有所帮助。

    【讨论】:

    • 完全回答了我的问题。非常感谢!很感激。
    • 还有一个问题,因为我有两个 Web 应用程序(一个是前端 Angular Web 应用程序,另一个是后端的 Rest Web API)。您能否建议我是否应该为我的 Web 应用程序设置一个 Azure Front Door?还是每个 Web 应用一个 Azure Front Door(总共两个 AFD)?
    • 您可以拥有一个具有多个后端池和前端配置的 AFD
    • 谢谢。另外,我需要使用自定义域名。例如我的前门称为 contoso.azurefd.net。我的自定义域名是 www.contoso.com。我将在 GoDaddy 网站上将 contoso.azurefd.net 添加为 CNAME。由于 www.contoso.com 仅指向前端 Web 应用程序(不是 Web api)并且 Web api 位于 apicontoso.azurewebsites.net,我如何将 apicontoso.azurewebsites.net 添加到前门。我假设前门只有一个 url,即 contoso.azurefd.net,
    • 将 apicontoso.azurewebsites.net 添加为新的后端池并为您的 API 创建新的路由规则
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 2018-11-07
    相关资源
    最近更新 更多