如何解决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 举报,一经查实,本站将立刻删除。