【问题标题】:Azure WebApp to WebApp call - Can we make it private?Azure WebApp 到 WebApp 调用 - 我们可以将其设为私有吗?
【发布时间】:2020-02-12 14:24:06
【问题描述】:

我们正在部署一种在 .Net 核心中开发的微服务,并将部署在 Azure WebApp 中

这些 WebApp 之间会有大量的通信。

现在由于 WebApp 是面向互联网的,它们之间的所有调用都将通过互联网,这将对性能产生影响。

除了 ASE(App Service Enviornment),我们还有什么办法可以做到这一点?

【问题讨论】:

  • 如果您正在部署微服务,也许 AKS 会更合适,您可以更好地控制它们之间的通信。

标签: performance azure .net-core web-applications app-service-environment


【解决方案1】:

是的,您可以使用Access Restriction

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
   --rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100

https://docs.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions#adding-and-editing-access-restriction-rules-in-the-portal

ps。 AKS 可能是微服务的更好选择;)

【讨论】:

  • 感谢您的回复。访问限制是关于webapp是否可以访问另一个webapp,一个webapp如何在同一个订阅中私聊另一个webapp?
  • 只允许其他webapp的外部IP地址,就是这样
  • 所以你的意思是说,如果我允许其他 webapp 的外部 IP 地址,那么它将开始私下通信而不是通过互联网通信?
  • 不,我的意思是没有其他东西可以与之交谈,他们没有使用互联网,天蓝色内的任何东西都只能通过主干交谈
  • 这种方法更像是 IP 白名单。是否有任何方法可以仅通过 VNET 进行所有通信,这实际上带来了私人通信?如果我错了,请纠正我。
【解决方案2】:

有两种方法可以在两个 Web 应用之间通过私有 IP 进行通信。

  1. 在一个或两个 Web 应用上配置区域 VNET 集成。

  2. 考虑在 Web 应用程序一之前拥有 Azure 应用程序网关,并配置访问限制以仅允许访问应用程序网关子网。 https://docs.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions#set-a-service-endpoint-based-rule

其他一些用例

  1. 如果您不想将 Web 应用程序公开到 Internet,请使用 Service Fabric。
  2. 您还可以考虑将这两个应用程序都作为 API 管理的后端。 https://docs.microsoft.com/en-us/azure/api-management/api-management-using-with-internal-vnet?tabs=stv2#routing 每当您启用应用程序网关时,应用程序网关就会充当拦截器并转发流量,因此您的两个 Web 应用程序都可以通过私有 IP 进行通信。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 2020-07-15
    • 1970-01-01
    • 2016-01-14
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多