Azure webjob 调用内部服务

本文关键字:服务 内部 调用 webjob Azure | 更新日期: 2023-09-27 18:32:07

我有一个调用 WCF 服务的控制台应用程序。 此 WCF 服务位于 Azure 云服务 VM 上,WCF 服务只能在内部访问(使用 Windows 信誉)。 云服务 VM 已添加到我们的域中。

我已将此控制台应用部署为 Azure Web 作业。 它本身存在于 Azure 应用服务 Web 应用中 - 没有相关的 Web 应用。

当我运行 Web 作业时,我收到"System.ServiceModel.EndpointNotFoundException: 没有端点侦听..."例外。 这似乎是意料之中的,因为 Azure 应用服务 Web 应用不在域上或与内部 DNS 通信。

我的问题是,是否可以/如何将支持 Azure 应用服务 Wep 应用的 VM 添加到我们的域? 如果没有,有哪些选项可以让此网络作业与内部 DNS 通信?

Azure webjob 调用内部服务

通常,

尝试从 Azure 中连接到本地资源或其他专用网络时,可以查看以下几个选项:

选项 #1:应用服务环境:https://azure.microsoft.com/en-us/documentation/articles/app-service-app-service-environment-intro/

应用服务环境隔离为仅运行单个客户的应用程序,并且始终部署到虚拟网络中。客户可以精细控制入站和出站应用程序网络流量,并且应用程序可以通过虚拟网络与本地公司资源建立高速安全连接。

由于虚拟网络,这将为你提供最大的灵活性,但成本最高,因为它是高级产品/服务。

选项 #2:应用服务混合连接:https://azure.microsoft.com/en-us/documentation/articles/integration-hybrid-connection-overview/

混合连接是 Azure BizTalk 服务的一项功能。混合连接提供了一种简单方便的方法,可将 Azure 应用服务中的 Web 应用功能(以前称为网站)和 Azure 应用服务中的移动应用功能(以前称为移动服务)连接到防火墙后面的本地资源。

我不太熟悉此选项,但它的设计目的是在这些类型的方案中使用应用服务。但是,如果需要访问内部 DNS 或域控制器,则可能难以使用。

选项 #3:服务总线中继:https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-relay/

使用服务总线中继服务可以生成在 Azure 数据中心和你自己的本地企业环境中运行的混合应用程序。服务总线中继使你能够安全地将驻留在企业网络中的 Windows Communication Foundation (WCF) 服务公开到公有云,而无需打开防火墙连接,也不需要对企业网络基础结构进行侵入性更改,从而促进这一点。

此选项已经存在了一段时间,它是专门为连接到 WCF 服务而设计的。 它并非特定于 Azure 应用服务(你可能从文章中可以看出),但它可能仍然适合你的方案。 但是,它也不会帮助您使用 DNS 和本地域控制器。