Azure webjob调用内部服务

时间:2016-01-27 21:41:29

标签: c# azure azure-web-sites azure-webjobs

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

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

当我运行webjob时,我得到一个“System.ServiceModel.EndpointNotFoundException:没有端点侦听......”异常。这似乎是预期的,因为Azure App Services Web App不在域上或与内部DNS通信。

我的问题是,可以/如何将支持Azure App Services Wep App的VM添加到我们的域中?如果没有,有什么选择让这个webjob与内部DNS交谈?

1 个答案:

答案 0 :(得分:1)

通常,在尝试从Azure内部连接内部部署资源或其他专用网络时,您可以查看以下几个选项:

选项#1 :App Service Environents: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 Services的一项功能。 Hybrid Connections提供了一种简单方便的方法,可将Azure App Service(以前称为Websites)中的Web Apps功能与Azure App Service(以前称为Mobile Services)中的Mobile Apps功能连接到防火墙后面的本地资源。

我对此选项不太熟悉,但它的设计是与App Service一起使用这些类型的场景。但是,如果您需要访问内部DNS或域控制器,可能很难使用。

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

  

Service Bus中继服务使您能够构建在Azure数据中心和您自己的本地企业环境中运行的混合应用程序。服务总线中继通过使您能够将驻留在公司企业网络中的Windows Communication Foundation(WCF)服务安全地公开到公共云,而无需打开防火墙连接,或者需要对公司网络基础架构进行侵入式更改,从而实现此目的。 / p>

此选项已存在一段时间,专门用于连接到WCF服务。它不是特定于Azure应用服务(正如您可以从文章中看到的那样),但它可能仍然是一个很好的,相当轻量级适合您的场景。但是,它也无法帮助您使用DNS和内部部署域控制器。