[英]Azure endpoints - different deployments
当前,我们在Azure上运行UI Web角色和Web服务Web角色(WCF REST)。 每个角色包含2个实例(用于负载平衡和满足SLA要求。) UI Web角色和Web服务Web角色位于同一预订中,但部署不同。 我们不想合并代码库(可维护性等)。 因此,UI层位于xyz.cloudapp.net上,而Web Service层位于abc.cloudapp.net上。
当前,要求是使Web服务Web角色成为内部端点,即只能由UI层访问。 关于配置内部端点并从其他部署中访问它的文献并不十分清楚。
我假设两个不同的角色需要成为单个部署的一部分才能起作用。 可以在不影响部署的情况下做到这一点吗? 朝正确方向的任何指针将不胜感激。
内部端点只能在单个部署中访问,并且不能通过负载均衡器进行路由(因此,如果您在内部端点上可以访问2个wcf服务实例,则需要在这些实例之间分配调用)。 当然,这将需要您将Web角色和WCF Web角色都放入同一部署中。
您可能需要考虑使用服务总线,以一种安全的方式从Web角色实例访问wcf服务。 或者...通过输入端点公开wcf服务,但保护服务。
您是否考虑过使用ACS( 访问控制服务 ) 通过对WCF终结点的基于声明的身份验证来限制访问?
您可以通过WCF绑定提供多种保护方案。
内部端点只能与同一部署中的角色间通信。 如果您有2个单独的部署( abc.cloudapp.net
和xyz.cloudapp.net
,内部端点将无济于事 )。
我喜欢一种可以满足您需求的虚拟DMZ: http ://brentdacodemonkey.wordpress.com/?s=virtual+dmz
它利用ACS和WCF绑定来允许您创建对输入端点的访问控制(然后进行负载平衡)。 当然,如果您不希望某些功能强大,则可以使用标准的旧WCF相互身份验证方案。
也就是说,大卫提出了一个很好的观点。 内部端点只能通过单个部署的服务访问。 这是因为该服务表示隔离边界(请考虑虚拟lan分支),并且只能从该边界之外获取输入端点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.