微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VNET 上的 Azure Functions 无法与本地资源通信

如何解决VNET 上的 Azure Functions 无法与本地资源通信

我在 Azure 中有一个 VNET,它通过 S2S 隧道连接到我们的本地网络。此 VNET 包含一个 VM,该 VM 能够遍历虚拟网络网关并访问我们的本地资源。我们的本地资源能够看到 VM。我们已向此 VNET 添加一个应用服务计划 (EP1) 和一个功能。 Function 应用程序可以与 VM 通信/ping,但是,它无法 ping 我们的本地资源。我反复查看文档,根据我们能够确定的所有内容,我们配置正确。

这仅仅是 Azure 无法做到的吗?或者有没有人为他们做过这种类型的设置工作?

我正在考虑放弃应用服务计划,只在 VM 上运行 Kubernetes 并收工。

解决方法

我建议您可以根据您目前的描述检查以下几个方面。

  • 使用 Azure Functions Premium 计划或专用计划(需要 Standard、Premium、PremiumV2、PremiumV3 或 Elastic Premium 定价计划。)

  • 在原生 Windows 应用中,工具 ping、nslookup 和 tracert 无法通过应用控制台运行,您可以使用 tcpping.exe hostnameorPrivateIPaddress [optional: port] 测试与主机和端口组合的 TCP 连接。>

  • 使用值 WEBSITE_VNET_ROUTE_ALL 设置应用设置 1 以确保所有从应用到 VNet 的出站调用。如果您使用的是 Azure DNS 专用区域,则还需要将 WEBSITE_DNS_SERVER 设置为值 168.63.129.16

  • 在 Azure VNet 中使用空的(不是部署在子网内的其他资源)或专用子网与函数应用集成。为避免子网容量出现​​任何问题,您应该使用具有 64 个地址的 /26

  • 您正在尝试使用区域 VNet 集成功能访问非 RFC 1918 地址。

  • 您的本地网关是否配置为将流量路由回 Azure?

  • 是否有 NSG 阻止了来自您的集成子网的出口?

如果您有任何疑虑,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。