【问题标题】:What is the difference between API Gateway provided by Azure API Management and Azure Application Gateway?Azure API 管理提供的 API 网关和 Azure 应用程序网关有什么区别?
【发布时间】:2020-10-03 11:41:21
【问题描述】:

我是 Azure 的新手,我浏览了 Azure 官方文档。

  • 我想了解的是异同点 Azure API Management 和 Azure 提供的 API Gateway 之间 应用网关?

  • 我们什么时候需要应用程序网关在 API 网关前面(由 Api 管理提供)?

    • API 网关正常托管时。
    • 当 API 网关托管在 VNet 中时。
  • 我们什么时候需要在应用程序网关前面设置 Azure Front Door?

  • 我们是否需要在什么场景下链接 Azure Front Door --> 应用程序网关 --> API 网关,而不是我们不能在哪个场景中这样做 Azure Front Door --> API 网关?

我想根据以下两种计算解决方案了解上述问题的解决方案:

  • 当我的 API 托管在容器中时。
  • 当我的 API 仅由 Azure Functions 组成时。

【问题讨论】:

标签: azure microservices azure-api-management azure-application-gateway azure-front-door


【解决方案1】:

好问题,我会尽力回答的。

API Gateway 是 API 场景中非常常见的一种模式。它充当您可以转换传入/传出请求的外观。您可以使用许多服务:

  • 豹猫
  • Apigee

在 Azure 上,API 管理。

Azure Front Door 和 Azure 应用程序网关(对我而言)提供或多或少相同的东西: 负载均衡器到您的服务 + Web 应用程序防火墙 (WAF)。如果我必须选择一个,我会选择 Front Door,因为我认为它更容易设置。

我们什么时候需要应用程序网关在 API 网关前面(由 Api 管理提供)?

每当您的 API 暴露在互联网上时。正如我所说,WAF 的好处是在您的 API 前面,它将阻止大多数常见的攻击(SQL 注入、XSS 等)。

【讨论】:

  • 谢谢,我也想了解一下Application Gateway L7 Load Balancer 和Api Management Gateway facade 是如何交互的。假设我有 10 个容器部署在为单个 API CalculateAndReturnStudentAverage 服务的黑化中,我想管理和负载平衡 API。但是,如果我链接应用程序网关-> API 管理网关-> 10 个容器,API 网关不会阻碍负载均衡器,因为它将为所有 10 个容器公开单个 api。请帮助我理解。
  • 或者 Api 管理网关是否充当应用程序网关的发现服务?
  • 每次添加新服务时都需要更新 api 管理。在发现方面,您使用的工具是错误的。您需要使用协调器(例如 Service Fabric / K8s)
  • APIM(与所有云资源一样)的使用很大程度上取决于您的用例,但对于 APIM 和 AKS,我使用本指南中的选项 3 docs.microsoft.com/en-us/azure/api-management/…。通过在 Kubernetes 服务上使用“内部”注释,无需额外的入口配置即可解决容器负载平衡问题,因为您可以设置静态内部 IP,您的 API 可以将流量定向到该 IP。
  • 对于发现方面,我在 CD 管道中使用 OAS 注入 APIM,避免任何手动配置 APIM,这没有 ISTIO 复杂,但如果你想在低接触下启动和运行方式,这会让你继续前进。
猜你喜欢
  • 1970-01-01
  • 2017-04-11
  • 2020-06-12
  • 2018-03-01
  • 2021-01-08
  • 1970-01-01
  • 2016-05-03
  • 2017-05-26
  • 2021-01-16
相关资源
最近更新 更多